Najbolje baze podataka grafova

Grafičke baze podataka, koje eksplicitno izražavaju veze između čvorova, učinkovitije su u analizi mreža (računalnih, ljudskih, zemljopisnih ili na neki drugi način) od relacijskih baza podataka. To bazama podataka grafova daje korak do aplikacija kao što su sustavi za otkrivanje prijevara i preporuke.

Jedna od glavnih privlačenja baza podataka grafova je sposobnost pokretanja algoritama za izračunavanje grafova. Koriste se za zadatke koji se ne podudaraju s relacijskim bazama podataka, poput pretraživanja grafova, pronalaženja puta, centralnosti, PageRank-a i otkrivanja zajednice. Algoritmi grafova uglavnom su podržani u analitičkim (OLAP i HTAP) bazama podataka grafova, iako ih podržavaju neke transakcijske (OLTP) graf baze podataka poput Neo4j.

Sve ovdje opisane baze podataka grafova imaju dobru horizontalnu skalabilnost. Neki također podržavaju replike čitanja, globalnu distribuciju i automatsko vodoravno oštrenje.

Amazon Neptun

Amazon Neptune je potpuno upravljana transakcijska (OLTP) usluga baze podataka grafova s ​​ACID svojstvima i trenutnom dosljednošću koja u svojoj jezgri ima namjenski izgrađen, visoko učinkovit mehanizam baze podataka grafova koji je optimiziran za pohranu milijardi odnosa i postavljanje upita grafu u milisekundama latencija. Neptun podržava dva najpopularnija jezika upita za grafove otvorenog koda, Apache TinkerPop Gremlin i W3C SPARQL.

Klasteri baze podataka Neptun mogu imati do 64 TB memorije za automatsko skaliranje u šest replika vaših podataka u tri zone dostupnosti, a više ako omogućite visoku dostupnost korištenjem replika za čitanje u dodatnim zonama. Neptun automatski otkriva rušenja baze podataka i ponovno se pokreće - obično za 30 sekundi ili manje - bez potrebe za ponovnim oporavkom ili ponovnom izgradnjom predmemorije baze podataka, jer je predmemorija izolirana od procesa baze podataka i može preživjeti ponovno pokretanje. Ako cijela primarna instanca zakaže, Neptun će automatski prebaciti na jednu od do 15 replika za čitanje. Sigurnosne kopije kontinuirano se preusmjeravaju na Amazon S3.

Klastere Neptuna možete skalirati prema gore ili dolje mijenjanjem instanci ili, da biste izbjegli zastoje, dodavanjem instance željene veličine i isključivanjem stare instance nakon što se kopija podataka migrira i novu instancu promovirate u primarnu. Veličine instanci Neptune VM kreću se od db.r4.large (dva vCPU-a i 16 GiB RAM-a) do db.r4.8xlarge (32 vCPU-a i 244 GiB RAM-a), dajući Neptunu 16x dinamički raspon za upisivanje i 256x dinamički raspon za čita (brojanje pročitanih replika).

Pročitajte moj osvrt na Amazon Neptun.

AnzoGraph

AnzoGraph je masivna paralelna baza podataka OLAP grafova u memoriji koja radi s izvorima podataka poduzeća i radi paralelno učitavanje podataka RDF i CSV formata. AnzoGraph se može postaviti u pješčanike s jednim čvorom ili u klastere s onoliko čvorova koliko je potrebno za proizvodnju. AnzoGraph ima svojstva ACID transakcija.

AnzoGraph koristi W3C standardni RDF trostruki i četverostruki podatak i SPARQL 1.1 upite. Podržava označene grafove svojstava kao dio RDF pohrane, u skladu s predloženim RDF * i SPARQL * standardima, a ima i proširenja za SPARQL za podršku algoritmima grafova, uvođenju podataka, agregatima prozora, BI funkcijama i imenovanim prikazima. U planu je podrška za Neo4j-kompatibilni jezik OpenCypher i Neo4j protokol Bolt.

AnzoGraph odlikuje izvršavanje upita grafikona visokih performansi i skalabilnost na milijarde, pa čak i bilijune trostrukih, kao i brza paralelna učitavanja podataka koja ne zahtijevaju odvođenje baze podataka van mreže. Klasteri AnzoGraph mogu se postaviti na CentOS, Kubernetes i AWS. Google Cloud Platform i Azure implementacije AnzoGraph-a obično se tretiraju kao Kubernetes-ove implementacije. AnzoGraph je pokazao skalabilnost na 40 čvorova u sintetičkoj referentnoj vrijednosti.

Pročitajte moj osvrt na AnzoGraph.

Neo4j

Neo4j je skalabilna baza podataka OLTP grafova s ​​nekim OLAP mogućnostima. Neo4j je izvorna baza podataka grafova, prvi put stvorena 1999. godine, i dalje je vodeća na tržištu.

Iako je otvoreno izvorno izdanje Neo4j Community Edition ograničeno na jedan poslužitelj, Neo4j Enterprise Edition omogućuje vam dodavanje onoliko čvorova u klaster koliko vam je potrebno za potrebe izvedbe.

Svaki čvor u klasteru visoke dostupnosti Neo4j sadrži bazu podataka i komponentu upravljanja klasterom, a klasteru se može pristupiti putem uravnoteživača opterećenja. Puni graf replicira se na svaku instancu klastera, a kapacitet čitanja svakog HA klastera linearno se povećava s brojem instanci poslužitelja. Neo4j može izvršiti desetke tisuća upisa u sekundu, zadržavajući u potpunosti ACID transakcije.

U uzročnom klasteru Neo4j , klaster klastera poslužitelja za čitanje i pisanje kombinira se s jednim ili više asinkrono ažuriranih klastera čitanih replika. Bilo kojoj aplikaciji zajamčena je uzročno-posljedična dosljednost, što znači da je zajamčeno da čita barem vlastita pisanja, čak i kada hardver i mreže zakažu. Čitane replike u uzročnom klasteru mogu se geografski distribuirati radi poboljšanja izvedbe upita za korisnike u blizini replika.

Pročitajte moju recenziju Neo4j.

TigerGraph

TigerGraph je izvorna paralelna baza podataka HTAP grafova u stvarnom vremenu dostupna za postavljanje u oblak ili lokalno. TigerGraph podržava ACID svojstva, ima ugrađenu kompresiju podataka, automatski dijeli graf unutar klastera i tvrdi da je brži od konkurencije. Koristi arhitekturu za prosljeđivanje poruka koja je u biti paralelna na način koji se prilagođava veličini podataka.

TigerGraph je osmišljen kako bi mogao izvoditi analitiku dubinskih veza, kao i internetsku obradu transakcija u realnom vremenu i veliko učitavanje podataka. Pod "analitikom dubokih veza" TigerGraph podrazumijeva praćenje odnosa iz vrha kroz graf za tri ili više skokova i analizu rezultata.

Iako je nekoliko jezika otvorenih izvora grafičkih upita široko prihvaćeno, poput Cypher, Gremlin i SPARQL, TigerGraph ima novi jezik upita GSQL. GSQL kombinira sintaksu upita nalik SQL-u s navigacijom grafom nalik Cipheru, plus proceduralno programiranje i korisnički definirane funkcije. TigerGraph može pretvoriti Cypher u GSQL za ljude koji se kreću iz baze podataka Neo4j.

TigerGraph nudi ponudu upravljanog oblaka koja je trenutno u ograničenom pregledu. TigerGraph je pokazao brzinu od 6,7x prilikom pokretanja klastera za čitanje i pisanje s osam računala, ali nije rekao ništa o replikama čitanja ili zemljopisnoj distribuciji.

Pročitajte moju recenziju o TigerGraphu.