Programiranje

Najboljše podatkovne baze grafov

Grafične zbirke podatkov, ki eksplicitno izražajo povezave med vozlišči, so pri analizi omrežij (računalniških, človeških, geografskih ali drugačnih) učinkovitejše kot relacijske baze podatkov. To daje grafičnim bazam podatkovno podlago za aplikacije, kot so sistemi za odkrivanje goljufij in priporočila.

Ena glavnih risb baz podatkov grafov je zmožnost izvajanja računskih algoritmov grafov. Uporabljajo se za naloge, ki niso primerne za relacijske zbirke podatkov, kot so iskanje grafov, iskanje poti, centralnost, PageRank in zaznavanje skupnosti. Grafični algoritmi so večinoma podprti v analitičnih (OLAP in HTAP) grafičnih zbirkah podatkov, čeprav jih nekatere transakcijske (OLTP) grafične zbirke podatkov, kot je Neo4j, podpirajo.

Vse tukaj obravnavane baze grafov imajo dobro vodoravno razširljivost. Nekateri podpirajo tudi bralne replike, globalno distribucijo in samodejno vodoravno ostrenje.

Amazonka Neptun

Amazon Neptune je popolnoma upravljana transakcijska (OLTP) storitev baze podatkov grafov z lastnostmi ACID in takojšnjo skladnostjo, katere jedro je namensko zgrajen, visoko zmogljiv mehanizem zbirke podatkov grafov, ki je optimiziran za shranjevanje milijard odnosov in poizvedovanje po grafu v milisekundah latenca. Neptun podpira dva najbolj priljubljena odprtokodna jezika za poizvedbe grafov, Apache TinkerPop Gremlin in W3C SPARQL.

Gruče baz podatkov Neptune imajo lahko do 64 TB pomnilnika s samodejnim spreminjanjem v šestih kopijah vaših podatkov v treh območjih razpoložljivosti in več, če omogočite visoko razpoložljivost z uporabo bralnih replik v dodatnih conah. Neptun samodejno zazna zrušitve baze podatkov in se znova zažene, običajno v 30 sekundah ali manj, ne da bi moral obnavljati zrušitve ali obnavljati predpomnilnik baze podatkov, saj je predpomnilnik izoliran iz procesov baze podatkov in lahko preživi znova. Če celotni primarni primerek ne uspe, Neptun samodejno ne bo prešel v eno od do 15 bralnih kopij. Varnostne kopije se neprestano pretakajo na Amazon S3.

Grozde Neptuna lahko prilagodite gor ali dol tako, da spremenite primerke ali, da se izognete izpadom, tako da dodate primerek želene velikosti in zaustavite stari primerek, ko se kopija podatkov preseli in ste nov primerek povišali v primarnega. Velikosti primerkov Neptune VM se gibljejo od db.r4.large (dva vCPU in 16 GiB RAM-a) do db.r4.8xlarge (32 vCPU in 244 GiB RAM-a), kar daje Neptunu 16-krat dinamično območje za pisanje in 256-krat dinamično območje za bere (štetje prebranih replik).

Preberite moj pregled Amazona Neptun.

AnzoGraph

AnzoGraph je množično vzporedna podatkovna baza grafov OLAP v pomnilniku, ki deluje z viri podatkov v podjetju in vzporedno nalaga podatke v formatih RDF in CSV. AnzoGraph je mogoče namestiti v peskovnike z enim vozliščem ali v gruče s toliko vozlišči, kot je potrebno za proizvodnjo. AnzoGraph ima lastnosti transakcij ACID.

AnzoGraph uporablja trikratne in štirikolesne podatke RDF po standardu W3C in poizvedbe SPARQL 1.1. Podpira označene grafe lastnosti kot del shrambe RDF, ki ustreza predlaganim standardom RDF * in SPARQL *, ima pa tudi razširitve SPARQL za podporo algoritmov grafov, vnašanja podatkov, agregatov oken, funkcij BI in poimenovanih pogledov. Načrtovana je podpora za jezik OpenCypher, združljiv z Neo4j, in vijak protokola Neo4j.

AnzoGraph odlikuje visoko zmogljivo izvajanje grafičnih poizvedb in razširljivost na milijarde in celo bilijone trojk, pa tudi hitra vzporedna nalaganja podatkov, ki ne zahtevajo odvzema baze podatkov brez povezave. Grozde AnzoGraph je mogoče razviti na CentOS, Kubernetes in AWS. Razmestitve Google Cloud Platform in Azure AnzoGraph se običajno obravnavajo kot uvedbe Kubernetes. AnzoGraph je v sintetičnem merilu dokazal razširljivost na 40 vozlišč.

Preberite moj pregled AnzoGraph.

Neo4j

Neo4j je razširljiva podatkovna baza grafov OLTP z nekaj zmožnostmi OLAP. Neo4j je bila prvotna baza grafov, ki je bila prvič ustvarjena leta 1999 in je še naprej vodilna na trgu.

Medtem ko je odprtokodna različica Neo4j Community Edition omejena na en strežnik, vam Neo4j Enterprise Edition omogoča, da v gručo dodate toliko vozlišč, kolikor jih potrebujete za delovanje.

Vsako vozlišče v Neo4j visoka dostopnost cluster vsebuje bazo podatkov in komponento za upravljanje gruče, do grozda pa je mogoče dostopati prek izravnalnika obremenitve. Celoten graf se ponovi na vsak primerek gruče, zmogljivost branja vsake gruče HA pa se linearno povečuje s številom primerkov strežnika. Neo4j lahko stori več deset tisoč zapisov na sekundo, hkrati pa ohrani v celoti ACID transakcije.

V Neo4j vzročna gruča, jedrna grozd bralno-pisalnih strežnikov je kombinirana z eno ali več asinhrono posodobljenimi grozdi bralnih replik. Vsaka aplikacija ima zajamčeno vzročno skladnost, kar pomeni, da ima zagotovljeno branje vsaj lastnih zapisov, tudi če odpove strojna oprema in omrežja. Prebrane replike v vzročni gruči se lahko geografsko porazdelijo, da izboljšajo uspešnost poizvedb za uporabnike v bližini replik.

Preberite moj pregled Neo4j.

TigerGraph

TigerGraph je podatkovna baza grafov HTAP v realnem času, izvorna vzporednica, ki je na voljo za razmestitev v oblaku ali lokalno. TigerGraph podpira lastnosti ACID, ima vgrajeno stiskanje podatkov, samodejno razdeli graf znotraj gruče in trdi, da je hitrejši od konkurence. Uporablja arhitekturo za prenos sporočil, ki je sama po sebi vzporedna na način, ki se prilagaja velikosti podatkov.

TigerGraph je bil zasnovan tako, da lahko izvaja analitiko globokih povezav ter sprotno obdelavo spletnih transakcij v realnem času in veliko nalaganje podatkov. Pod izrazom »analitika globokih povezav« TigerGraph pomeni sledenje razmerjem iz oglišča skozi graf za tri ali več preskokov in analiziranje rezultatov.

Medtem ko je bilo široko sprejetih več odprtokodnih jezikov za poizvedbe grafov, kot so Cypher, Gremlin in SPARQL, ima TigerGraph nov poizvedbeni jezik, GSQL. GSQL združuje sintakso poizvedbe, podobno SQL-u, z navigacijo po grafu, podobni Cypher-u, ter postopkovno programiranje in uporabniško določene funkcije. TigerGraph lahko pretvori Cypher v GSQL za ljudi, ki se selijo iz baze podatkov Neo4j.

TigerGraph ima upravljano ponudbo v oblaku, ki je trenutno v predogledu. TigerGraph je pokazal 6,7-kratno pospešitev pri zagonu bralno-pisalne gruče z osmimi stroji, vendar ni rekel ničesar o bralnih replikah ali geografski distribuciji.

Preberite moj pregled TigerGraph.

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