Izdaja grafično usmerjenega DBMS Nebula Graph 3.2

Objavljena je bila izdaja odprtega DBMS Nebula Graph 3.2, zasnovanega za učinkovito shranjevanje velikih nizov med seboj povezanih podatkov, ki tvorijo graf, ki lahko šteje milijarde vozlišč in trilijone povezav. Projekt je napisan v C++ in se distribuira pod licenco Apache 2.0. Odjemalske knjižnice za dostop do DBMS so pripravljene za jezike Go, Python in Java.

DBMS uporablja porazdeljeno arhitekturo brez deljenja virov (shared-nothing), kar pomeni zagon neodvisnih in samozadostnih procesov obdelave poizvedb graphd in procesov shranjenega shranjevanja. Metastoritev orkestrira pretok podatkov in zagotavlja metainformacije o grafu. Za zagotavljanje konsistentnosti podatkov se uporablja protokol, ki temelji na algoritmu RAFT.

Glavne značilnosti Nebula Graph:

  • Zagotavljanje varnosti z omejevanjem dostopa samo na overjene uporabnike, katerih dovoljenja so nastavljena prek sistema za nadzor dostopa na podlagi vlog (RBAC).
  • Možnost povezovanja različnih vrst pomnilnikov. Podpora za razširitev jezika za generiranje poizvedb z novimi algoritmi.
  • Zagotavljanje minimalne zakasnitve pri branju ali pisanju podatkov in ohranjanje visoke prepustnosti. Pri testiranju v gruči enega vozlišča graphd in treh shranjenih vozlišč, baze podatkov 632 GB, vključno z grafom z 1.2 milijarde vozlišč in 8.4 milijarde robov, so bile zakasnitve nekaj milisekund, prepustnost pa do 140 tisoč zahtev na sekundo.
  • Linearna skalabilnost.
  • SQL podoben poizvedovalni jezik, ki je zmogljiv in enostaven za razumevanje. Podprte operacije vključujejo GO (dvosmerno prečkanje vozlišč grafa), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (z uporabo rezultata iz prejšnje poizvedbe). Podprti so indeksi in uporabniško definirane spremenljivke.
  • Zagotavljanje visoke razpoložljivosti in odpornosti na okvare.
  • Podpora za ustvarjanje posnetkov z rezino stanja baze podatkov za poenostavitev ustvarjanja varnostnih kopij.
  • Pripravljen za industrijsko uporabo (že uporabljen v infrastrukturi JD, Meituan in Xiaohongshu).
  • Možnost spreminjanja sheme shranjevanja podatkov in njenega posodabljanja brez ustavljanja ali vplivanja na tekoče operacije.
  • Podpora TTL za omejitev življenjske dobe podatkov.
  • Ukazi za upravljanje nastavitev in gostiteljev za shranjevanje.
  • Orodja za upravljanje dela in načrtovanje zagonov dela (trenutno podprta dela so COMPACT in FLUSH).
  • Operacije iskanja celotne poti in najkrajše poti med danimi vozlišči.
  • Vmesnik OLAP za integracijo z analitičnimi platformami tretjih oseb.
  • Pripomočki za uvoz podatkov iz datotek CSV ali iz Spark.
  • Izvoz metrik za spremljanje z uporabo Prometheusa in Grafane.
  • Spletni vmesnik Nebula Graph Studio za vizualizacijo operacij grafov, navigacijo grafov, načrtovanje shranjevanja podatkov in shem nalaganja.

V novi izdaji:

  • Dodana podpora za funkcijo extract() za ekstrahiranje podniza, ki se ujema z danim izrazom.
  • Optimizirane nastavitve v konfiguracijski datoteki.
  • Dodana pravila optimizacije za odstranitev neuporabnega operaterja AppendVertices in onemogočanje uporabe filtrov robov in vozlišč.
  • Količina kopiranih podatkov za operacijo JOIN ter za operaterja Traverse in AppendVertices je bila zmanjšana.
  • Optimizirano delovanje NAJKRAJŠE POTI in PODGRAFA
  • Izboljšana dodelitev pomnilnika (Arena Allocator je omogočen).

Vir: opennet.ru

Dodaj komentar