Programovanie

Najlepšie databázy grafov

Databázy grafov, ktoré výslovne vyjadrujú spojenia medzi uzlami, sú pri analýze sietí (počítačové, ľudské, geografické alebo iné) efektívnejšie ako relačné databázy. To dáva databázam grafov náskok pred aplikáciami, ako sú systémy na odhaľovanie a odporúčanie podvodov.

Jedným z hlavných ťahov databáz grafov je schopnosť spúšťať výpočtové algoritmy grafov. Používajú sa na úlohy, ktoré sa nehodia k relačným databázam, ako je napríklad vyhľadávanie grafov, hľadanie ciest, ústrednosť, PageRank a detekcia komunity. Algoritmy grafov sú väčšinou podporované v analytických databázach grafov (OLAP a HTAP), hoci niektoré transakčné (OLTP) databázy grafov, ako je Neo4j, ich podporujú.

Všetky tu diskutované databázy grafov majú dobrú horizontálnu škálovateľnosť. Niektoré tiež podporujú čítané repliky, globálnu distribúciu a automatické horizontálne rozdelenie.

Amazonský Neptún

Amazon Neptune je plne spravovaná transakčná (OLTP) grafová databázová služba s vlastnosťami ACID a okamžitou konzistenciou, ktorá má v jadre účelový, vysoko výkonný databázový grafový motor, ktorý je optimalizovaný na ukladanie miliárd vzťahov a dopytovanie grafu s milisekundami latencia. Neptún podporuje dva z najpopulárnejších otvorených zdrojov dotazovacích jazykov pre grafy, Apache TinkerPop Gremlin a W3C SPARQL.

Klastre databáz Neptún môžu mať až 64 TB úložiska s automatickým škálovaním v šiestich replikách vašich údajov v troch zónach dostupnosti a ďalšie, ak povolíte vysokú dostupnosť pomocou prečítaných replík v ďalších zónach. Neptún automaticky detekuje zlyhania databázy a reštartuje sa - zvyčajne za 30 sekúnd alebo menej - bez potreby obnovy po zlyhaní alebo opätovného vytvorenia medzipamäte databázy, pretože vyrovnávacia pamäť je izolovaná od procesov databázy a môže prežiť reštart. Ak zlyhá celá primárna inštancia, Neptún automaticky zlyhá pri jednej z až 15 prečítaných replík. Zálohy sa nepretržite streamujú na Amazon S3.

Klastre Neptúna môžete škálovať nahor a nadol úpravou inštancií alebo, aby ste sa vyhli prestojom, pridaním inštancie požadovanej veľkosti a vypnutím starej inštancie po migrácii kópie údajov a po povýšení novej inštancie na primárnu. Veľkosti inštancií Neptune VM sa pohybujú od db.r4.large (dva vCPU a 16 GiB RAM) do db.r4.8xlarge (32 vCPUs a 244 GiB RAM), vďaka čomu má Neptún 16x dynamický rozsah pre zápis a 256x dynamický rozsah pre číta (počíta sa prečítané repliky).

Prečítajte si moju recenziu na Amazon Neptune.

AnzoGraph

AnzoGraph je masívne paralelná databáza grafov OLAP v pamäti, ktorá pracuje so zdrojmi podnikových údajov a paralelne načítava údaje formátov RDF a CSV. AnzoGraph je možné nasadiť do sandboxov s jedným uzlom alebo do klastrov s toľkými uzlami, koľko je potrebných na výrobu. AnzoGraph má vlastnosti ACID transakcie.

AnzoGraph používa trojité a štvorcové údaje RDF štandardu W3C a dotazy SPARQL 1.1. Podporuje označené grafy vlastností ako súčasť úložiska RDF, v súlade s navrhovanými štandardmi RDF * a SPARQL *, a má rozšírenia pre SPARQL na podporu grafických algoritmov, dedukcií, agregácií okien, funkcií BI a pomenovaných pohľadov. Plánovaná je podpora jazyka OpenCypher kompatibilného s Neo4j a protokolu Bolt protokolu Neo4j.

AnzoGraph ponúka vysoko výkonné vykonávanie dotazov na grafy a škálovateľnosť na miliardy alebo dokonca bilióny trojnásobkov, ako aj rýchle paralelné načítanie údajov, ktoré nevyžadujú prechod databázy do režimu offline. Klastre AnzoGraph je možné nasadiť na serveroch CentOS, Kubernetes a AWS. Nasadenie platformy Google Cloud Platform a Azure aplikácie AnzoGraph sa zvyčajne považuje za nasadenie Kubernetes. AnzoGraph preukázal škálovateľnosť na 40 uzlov v syntetickom teste.

Prečítajte si moju recenziu na AnzoGraph.

Neo4j

Neo4j je škálovateľná databáza grafov OLTP s niektorými funkciami OLAP. Neo4j bola pôvodná databáza grafov, ktorá bola prvýkrát vytvorená v roku 1999, a naďalej si udržiava vedúce postavenie na trhu.

Zatiaľ čo open source komunitná edícia Neo4j je obmedzená na jeden server, Neo4j Enterprise Edition vám umožňuje pridať toľko uzlov do klastra, koľko potrebujete pre výkonnostné účely.

Každý uzol v Neo4j vysoká dostupnosť klaster obsahuje databázu a komponent správy klastra a ku klastru je možné pristupovať pomocou nástroja na vyrovnávanie zaťaženia. Celý graf sa replikuje na každú inštanciu klastra a kapacita čítania každého klastra HA sa lineárne zvyšuje s počtom inštancií servera. Neo4j dokáže vykonať desiatky tisíc zápisov za sekundu pri zachovaní plne ACID transakcií.

V Neo4j kauzálny klaster, jadrový klaster serverov na čítanie a zápis je kombinovaný s jedným alebo viacerými asynchrónne aktualizovanými klastrami čítaných replík. Každá aplikácia má zaručenú kauzálnu konzistenciu, čo znamená, že je zaručené, že dokáže prečítať aspoň svoje vlastné zápisy, a to aj v prípade zlyhania hardvéru a sietí. Čítané repliky v kauzálnom klastri môžu byť geograficky distribuované, aby sa zlepšil výkon dotazov pre používateľov v blízkosti replík.

Prečítajte si moju recenziu na Neo4j.

TigerGraph

TigerGraph je natívna paralelná grafická databáza HTAP v reálnom čase dostupná na nasadenie v cloude alebo lokálne. TigerGraph podporuje vlastnosti ACID, má zabudovanú kompresiu dát, automaticky rozdeľuje graf na klaster a tvrdí, že je rýchlejší ako konkurencia. Využíva architektúru na odovzdávanie správ, ktorá je vo svojej podstate paralelná spôsobom, ktorý sa prispôsobuje veľkosti údajov.

TigerGraph bol navrhnutý tak, aby bol schopný vykonávať analýzu hlbokých odkazov, ako aj online spracovanie transakcií v reálnom čase a načítanie veľkého množstva údajov. Pod „analýzou hlbokých odkazov“ TigerGraph znamená sledovanie vzťahov z vrcholu prostredníctvom grafu pre tri alebo viac preskokov a analýza výsledkov.

Aj keď bolo široko prijatých niekoľko otvorených jazykov pre dopytovanie grafov, ako sú Cypher, Gremlin a SPARQL, TigerGraph má nový dopytovací jazyk, GSQL. GSQL kombinuje syntax dotazov podobných SQL s navigáciou v grafe Cypher, plus procedurálne programovanie a užívateľom definované funkcie. TigerGraph dokáže previesť program Cypher na GSQL pre ľudí prechádzajúcich z databázy Neo4j.

TigerGraph má spravovanú cloudovú ponuku, ktorá je momentálne v obmedzenom náhľade. TigerGraph preukázal 6,7-násobné zrýchlenie pri prevádzke klastra na čítanie a zápis na ôsmich strojoch, ale nepovedal nič o prečítaných replikách ani geografickom rozložení.

Prečítajte si moju recenziu na TigerGraph.

$config[zx-auto] not found$config[zx-overlay] not found