Графовска база података је једна од врста NoSQL (NotOnlySQL), односно нерелационих база података која користи граф структуру за семантичке упите с чворовима, гранама и својствима за представљање и складиштење података.
Основне одлике графовских база података
Кључни концепти Графовска база података чува ентитете као и односе између тих ентитета. Ентитет се чува као чвор са релацијама и гранама, и те гране релације се дефинишу између чворова. Кључни концепт система је граф. Граф повезује ставке података са колекцијом чворова и грана, при чему гране представљају односе између чворова. Гране омогућавају да се подаци у складишту директно повежу, и у честим ситуацијама, преузму једном операцијом. Графовска база података даје приоритет односима између података. Упити о односима су брзи јер се они стално чувају у бази података. Релације се могу интуитивно визуализовати помоћу графовске базе података, што значи да се примарно оваква база користи за значајно међусобно повезане податке.
Техничке карактеристике графовске базе података Графовска база података је слична бази података мрежних модела, која је иначе настала 70-их година прошлог века, по томе што обе базе представљају опште графове, само што база података мрежних модела ради на нижем нивоу апстракције и недостаје им лак прелаз преко ланца грана.
Основни механизам складиштења графовске базе података може да варира. Релације су "грађани првог реда" у графовској бази података и могу бити означене, усмерене и да су им додељене особине. Неке базе зависе од релационог механизма и чувају податке графа у табели (иако је табела логички елемент, стога овај приступ намеће ниво апстракције између система за управљање графовском базом података и физичких уређаја за складиштење). Остале базе складиште податке као кључ-вредност или као документа (база података оријентисана на документа), што их инхерентно чини NoSQL структурама.
Језик упита графовских база података Од 2021. године, ниједан језик за упите у оквиру графовске базе података није универзално прихваћен на исти начин као што је SQL био за релациону базу података, такође поседује широк спектар система, од којих су многи чврсто везани за један производ. Неки рани напори за стандардизацију довели су до језика за упите креираног од стране више произвођача као што су Gremlin, SPARQL и Cypher. У септембру 2019.године, предлог пројекта креирања новог стандардизованог графовског језика упита (ISO/IEC 39075 Information Technology — Database Languages — GQL) је био одобрен од стране чланова ISO/IEC Joint Technical Committee 1 (ISO/IEC JTC 1). GQL је одређен да буде декларативни језик упита, као SQL. Поред постојања интерфејса језика упита, неке графовске базе података дозвољавају приступ кроз апликационе програмерске интерфејсе (APIs).
Графовска база података и графовски рачунарски системи Графовске базе података се разликују од графовских рачунарских система. Графовска база података представља технологију која преводи релационе базе података за онлајн обраду трансакција (OLTP). С друге стране, графовски рачунарски системи се користе у онлајн аналитичкој обради (OLAP) за групну анализу. Графовска база података привукла је значајну пажњу 2000-их година због успеха великих технолошких корпорација у коришћењу власничких графовских база података, заједно са увођењем графовских база података отвореног кода.
Једна студија је закључила да је RDBMS "упоредив" у перформансама с постојећим графовским аналитичким машинама у извршавању графовских упита.
Историја Средином 1960-их, навигационе базе података попут IBM-овог IMS-а подржавале су структуре сличне дрвету у свом хијерархијском моделу, али строга структура дрвета могла се заобићи виртуелним записима.
Графовске структуре могу се представљати као базе података мрежних модела с краја 1960-их. CODASYL, који је дефинисао COBOL 1959. године, дефинисао је језик мрежних база података 1969. године. мини|390x390п|На слици се налази више типова база података, међу њима и мрежни модел Означени графови могу се представити као графовска база података од средине 1980-их, као што је Логички модел података.
Комерцијалне објектне базе података (ODBMS) појавиле су се почетком 1990-их. Године 2000, Група за управљање објектним подацима објавила је стандардни језик за дефинисање структура објеката и односа (графова) у својој публикацији ODMG'93.
Неколико побољшања графовских база података појавило се почетком 1990-их, убрзавајући се крајем 1990-их напорима да се индексирају веб странице.
Средином и крајем 2000-их, постале су доступне комерцијалне графовске базе података са ACID гаранцијама, као што су Neo4j и Oracle Spatial и Graph.
У 2010-им, постале су доступне комерцијалне ACID графовске базе података које се могу хоризонтално скалирати. Даље, SAP HANA је донео нове технологије у меморији и колонарно-оријентисане технологије, у графовску базу података. Такође у 2010-им, постале су доступне вишемоделне базе података које су подржавале графичке моделе (и друге моделе као што су релационе базе података или базе података оријентисане на документе), као што су OrientDB, ArangoDB и MarkLogic (почевши од верзије 7.0). Током овог времена, графовске базе података различитих типова постале су посебно популарне у анализи друштвених мрежа са појавом компанија чије пословање управо односи на креирање и одржавање друштвених медија. Такође током деценије, постале су доступне графовске базе података засноване на облаку (Cloud), као што су Amazon Neptune и Neo4j AuraDB.
Елементи Графовске базе података приказују податке онако како се они концептуално посматрају. То се постиже преношењем података у чворове, а њихових односа у гране.
Графовска база података је база података заснована на теорији графова. Састоји се од скупа објеката, који могу бити чвор или грана.
Чворови представљају ентитете или инстанце као што су људи, предузећа, рачуни или било која друга ставка коју треба пратити. Они су отприлике еквивалент записа или реда у релационој бази података или документа у документ-оријентисаној бази података.
Гране, или релације, су линије које повезују чворове са другим чворовима; представљају однос између њих. Значајни обрасци се јављају када се испитују везе и међусобне везе чворова, својстава и грана. Гране могу бити усмерене или неусмерене. У неусмереном графу, грана која повезује два чвора има једно значење. У усмереном графу, гране које повезују два различита чвора имају различита значења, у зависности од њиховог правца. Гране су кључни концепт у графовским базама података, представљајући апстракцију која није директно имплементирана у релационом моделу или документ-оријентисаном моделу.
Својства су информације повезане са чворовима. На пример, ако би Википедија била један од чворова, могла би бити повезана са својствима као што су веб-сајт, референтни материјал или речи које почињу словом w, у зависности од тога који аспекти Википедије су релевантни за дату базу података.
Модели графовске базе података
Модел означених својстава алт=На слици се налазе три чвора и по две ивице, односно релације, између њих. Два чвора су дефинисана као људи с именима Алис и Боб и њиховим личним иформацијама, и они међусобно имају релацију "познају се" с додатним информацијама. Осим ова два чвора, постоји и трећи који је предтсављен шаховским клубом у ком су Боб и Алис чланови. Чвор шаховског клуба такође има додатне информације, и релације с Боб и Алис о томе да су они чланови тог клуба|мини|Пример за модел означених својстава|318x318п Модел графа са означеним својствима представљен је скупом чворова, грана, својстава и ознака. И чворови података и њихове гране су именовани и могу да чувају својства представљена паровима кључ-вредност. Чворови се могу означити да би се груписали. Гране које представљају односе имају два квалитета: увек имају почетни чвор и крајњи чвор и усмерене су; што граф чини усмереним графом. Гране такође могу имати својства. Ово је корисно за пружање додатних метаподатака и семантике гранама чворова. Директно складиштење грана омогућава прелазак у константном времену.
Оквир за опис ресурса-Resource Description Framework (RDF) мини|Основни пример RDF модела мини|Пример 2. RDF модела|345x345п У RDF графском моделу, свако додавање информација је представљено посебним чвором. На пример, замислите сценарио у којем корисник мора да дода својство имена за особу представљену као посебан чвор у графу. У графовском моделу са означеним својствима, ово би се урадило додавањем својства имена у чвор особе. Међутим, у RDF-у, корисник мора да дода посебан чвор под називом hasName који га повезује са оригиналним чвором особе. Конкретно, RDF графовски модел је састављен од чворова и лукова. RDF графовска нотација или исказ је представљен: чвором за субјекат, чвором за објекат и луком за предикат. Чвор може бити остављен празан, литерал и/или идентификован URI-јем. Лук такође може бити идентификован URI-јем. Литерал за чвор може бити два типа: обичан (нетипизован) и типизован. Обичан литерал има лексички облик и опционо језичку ознаку. Типизовани литерал је састављен од стринга са URI-јем који идентификује одређени тип података. Празан чвор може се користити за прецизно илустровање стања података када подаци немају URI.
Употреба Графовска база података се користи за друштвене мреже, просторне податке и у логистици, јер поседује следеће карактеристике:
Омогућава приказивање N-N (више према више) веза. На пример особа има више пријатеља, и ти пријатељи имају више пријатеља Када су везе између чворова значајне. На пример постоје профили који имају своје специфичне информације, али је значајнија релација између тих профила Мала латенција с великим обимом података. Када се дода превише релација у релационој бази података ти сетови података ће бити огромни и исписивање упита ће трајати дуже због комплексности коју доноси та количина података. Предности овакве базе података су могућност честог прилагођавања шема базе података, лакше контролисање веће количине података, брже исписивање резултата упита Недостаци овакве базе се односе на њен погрешан избор, неопходно је изабрати тип базе података који одговара потребама апликације или система. На пример уколико апликација треба да се хоризонтално скалира графовска база података ће имати лоше перформансе.
Поређење с релационом базом података Од рада Едгара Ф. Кода из 1970. године о релационом моделу, релационе базе података су де факто индустријски стандард за системе за складиштење података великих размера. Релациони модели захтевају строгу шему и нормализацију података која раздваја податке у више табела и уклања све дуплиране податке унутар базе података. Подаци се нормализују како би се сачувала конзистентност података и подржале ACID трансакције. Међутим, ово намеће ограничења у начину писања упита за везе између података. мини|303x303п|Релациона база података Једна од мотивација за дизајн релационог модела била је постизање брзог приступа ред по ред. Проблеми настају када је потребно формирати сложене односе између сачуваних података. Иако се односи могу анализирати помоћу релационог модела, потребни су сложени упити који извршавају многе операције спајања, на много различитих атрибута, преко неколико табела. При раду са релационим моделима, ограничења спољног кључа такође треба узети у обзир приликом преузимања односа, што узрокује додатно оптерећење.
У поређењу са релационим базама података, графовске базе података су често брже за асоцијативне скупове података и директно се мапирају на структуру објектно оријентисаних апликација. Могу се природније скалирати на велике скупове података јер обично не захтевају операције спајања, које често могу бити скупе. Пошто мање зависе од круте шеме, рекламирају се као погоднији за управљање ад хок и променљивим подацима са шемама које се развијају.