Programování

Nejlepší databáze grafů

Databáze grafů, které výslovně vyjadřují spojení mezi uzly, jsou při analýze sítí (počítačové, lidské, geografické nebo jiné) účinnější než relační databáze. To dává databázím grafů výhodu pro aplikace, jako jsou systémy detekce podvodů a systémy doporučení.

Jedním z hlavních tahů databází grafů je schopnost spouštět výpočetní algoritmy grafů. Používají se pro úkoly, které se nehodí k relačním databázím, jako je vyhledávání grafů, hledání cest, centralita, hodnocení PageRank a detekce komunity. Algoritmy grafů jsou většinou podporovány v analytických (OLAP a HTAP) databázích grafů, ačkoli některé transakční (OLTP) databáze grafů, jako je Neo4j, je podporují.

Všechny zde diskutované databáze grafů mají dobrou horizontální škálovatelnost. Některé také podporují čtení replik, globální distribuci a automatické horizontální dělení.

Amazonský Neptun

Amazon Neptune je plně spravovaná transakční (OLTP) služba databáze grafů s vlastnostmi ACID a okamžitou konzistencí, která má ve svém jádru účelový, vysoce výkonný databázový modul grafů, který je optimalizován pro ukládání miliard vztahů a dotazování na graf s milisekundami latence. Neptun podporuje dva z nejpopulárnějších open source grafických dotazovacích jazyků, Apache TinkerPop Gremlin a W3C SPARQL.

Klastry databází Neptun mohou mít až 64 TB úložiště s automatickým škálováním v šesti replikách vašich dat ve třech zónách dostupnosti a další, pokud povolíte vysokou dostupnost pomocí přečtených replik v dalších zónách. Neptun automaticky detekuje zhroucení databáze a restartuje se - obvykle za 30 sekund nebo méně - aniž by bylo nutné provést zotavení po zhroucení nebo znovu vytvořit mezipaměť databáze, protože mezipaměť je izolována od procesů databáze a může přežít restart. Pokud selže celá primární instance, Neptun automaticky přepne na jednu z až 15 přečtených replik. Zálohy se nepřetržitě streamují na Amazon S3.

Clustery Neptunu můžete škálovat nahoru a dolů buď úpravou instancí, nebo, abyste se vyhnuli prostojům, přidáním instance požadované velikosti a vypnutím staré instance po migraci kopie dat a povýšení nové instance na primární. Velikosti instancí virtuálních počítačů Neptune se pohybují od db.r4.large (dva vCPU a 16 GiB RAM) do db.r4.8xlarge (32 vCPUs a 244 GiB RAM), což poskytuje Neptunu 16x dynamický rozsah pro zápis a 256x dynamický rozsah pro čte (počítání přečtených replik).

Přečtěte si moji recenzi na Amazon Neptune.

AnzoGraph

AnzoGraph je masivně paralelní databáze grafů OLAP v paměti, která pracuje se zdroji podnikových dat a paralelně načítá data formátů RDF a CSV. AnzoGraph lze nasadit v sandboxech s jedním uzlem nebo v klastrech s tolika uzly, kolik je potřeba pro produkci. AnzoGraph má vlastnosti ACID transakce.

AnzoGraph používá standardní trojí a čtyřnásobná data RDF standardu W3C a dotazy SPARQL 1.1. Podporuje označené grafy vlastností jako součást úložiště RDF, v souladu s navrhovanými standardy RDF * a SPARQL *, a má rozšíření SPARQL pro podporu grafových algoritmů, odvozování, agregace oken, funkcí BI a pojmenovaných pohledů. Je plánována podpora jazyka OpenCypher kompatibilního s Neo4j a protokolu Bolt protokolu Neo4j.

AnzoGraph nabízí vysoce výkonné provádění dotazů na grafy a škálovatelnost na miliardy či dokonce biliony trojic, stejně jako rychlé paralelní načítání dat, které nevyžadují přepnutí databáze do režimu offline. Klastry AnzoGraph lze nasadit na CentOS, Kubernetes a AWS. Nasazení Google Cloud Platform a Azure AnzoGraph se obvykle považují za nasazení Kubernetes. AnzoGraph prokázal škálovatelnost na 40 uzlů v syntetickém měřítku.

Přečtěte si moji recenzi AnzoGraph.

Neo4j

Neo4j je škálovatelná databáze grafů OLTP s některými funkcemi OLAP. Neo4j byla původní databáze grafů, která byla poprvé vytvořena v roce 1999, a nadále zaujímá vedoucí postavení na trhu.

Zatímco otevřená verze Neo4j Community Edition je omezena na jeden server, Neo4j Enterprise Edition vám umožňuje přidat do clusteru tolik uzlů, kolik potřebujete pro účely výkonu.

Každý uzel v Neo4j vysoká dostupnost cluster obsahuje databázi a komponentu správy clusteru a ke clusteru lze přistupovat prostřednictvím nástroje pro vyrovnávání zatížení. Celý graf se replikuje na každou instanci klastru a kapacita čtení každého klastru HA se lineárně zvyšuje s počtem instancí serveru. Neo4j může provádět desítky tisíc zápisů za sekundu při zachování plně ACID transakcí.

V Neo4j kauzální cluster, základní cluster serverů pro čtení a zápis je kombinován s jedním nebo více asynchronně aktualizovanými clustery přečtených replik. Každá aplikace má zaručenou kauzální konzistenci, což znamená, že je zaručeno, že bude číst alespoň své vlastní zápisy, i když hardware a sítě selžou. Přečtené repliky v kauzálním klastru mohou být geograficky distribuovány, aby se zlepšil výkon dotazů pro uživatele v blízkosti replik.

Přečtěte si moji recenzi na Neo4j.

TigerGraph

TigerGraph je nativní paralelní grafická databáze HTAP v reálném čase dostupná pro nasazení v cloudu nebo místně. TigerGraph podporuje vlastnosti ACID, má vestavěnou kompresi dat, automaticky rozděluje graf do klastru a tvrdí, že je rychlejší než konkurence. Používá architekturu pro předávání zpráv, která je ze své podstaty paralelní způsobem, který se mění s velikostí dat.

TigerGraph byl navržen tak, aby byl schopen provádět analýzu hlubokých odkazů, stejně jako online zpracování transakcí v reálném čase a načítání velkých objemů dat. „Analýzou přímých odkazů“ znamená TigerGraph sledování vztahů z vrcholu přes graf pro tři nebo více přeskoků a analýzu výsledků.

I když bylo široce přijato několik jazyků dotazů na grafy s otevřeným zdrojovým kódem, jako jsou Cypher, Gremlin a SPARQL, má TigerGraph nový dotazovací jazyk GSQL. GSQL kombinuje syntaxi dotazů typu SQL s navigací v grafu typu Cypher, plus procedurální programování a uživatelem definované funkce. TigerGraph dokáže převést Cypher na GSQL pro lidi pohybující se z databáze Neo4j.

TigerGraph má spravovanou cloudovou nabídku, která je aktuálně v omezeném náhledu. TigerGraph prokázal 6,7násobné zrychlení při spuštění clusteru pro čtení a zápis na osmi strojích, ale neřekl nic o replikách pro čtení ani o geografické distribuci.

Přečtěte si moji recenzi na TigerGraph.