Vydanie grafovo-orientovanej DBMS Nebula Graph 3.2

Bol vydaná verzia open-source databázy Nebula Graph 3.2, navrhnutá na efektívne ukladanie rozsiahlych súborov prepojených údajov vytvárajúcich graf, ktorý môže obsahovať miliardy uzlov a trilióny väzieb. Projekt je napísaný v jazyku C++ a distribuuje sa pod licenciou Apache 2.0. Klientské knižnice na prístup k databáze sú pripravené pre jazyky Go, Python a Java.

V databáze sa používa distribuovaná architektúra bez zdieľania zdrojov (shared-nothing), ktorá predpokladá spustenie nezávislých a samostatných procesov spracovania dotazov graphd a procesov ukladania storaged. Orchestráciu presunu údajov a poskytovanie meta-informácií o grafe zabezpečuje meta-servis. Na zabezpečenie konzistencie údajov sa používa protokol na báze algoritmu RAFT.

Hlavné vlastnosti Nebula Graph:

  • Zabezpečenie bezpečnosti prostredníctvom poskytovania prístupu iba autentifikovaným používateľom, ktorých práva sú nastavované cez systém riadenia prístupu na základe rolí (RBAC).
  • Možnosť pripojenia rôznych typov úložných motorov. Podpora rozšírenia jazyka na formulovanie dopytov novými algoritmami.
  • Zabezpečenie minimálnych latencií pri čítaní alebo zápise údajov a udržanie vysokej priepustnosti. Pri testovaní v klastri s jedným uzlom graphd a tromi uzlami storaged s databázou veľkosti 632 GB, ktorá obsahovala graf s 1,2 miliardy vrcholov a 8,4 miliardy hrán, boli latencie na úrovni niekoľkých milisekúnd a priepustnosť dosiahla až 140 000 dotazov za sekundu.
  • Lineárna škálovateľnosť.
  • Jazyk dopytov podobný SQL, dostatočne silný a jednoduchý na pochopenie. Podporujú sa také operácie ako GO (dvojúčelové prechádzanie vrcholov grafu), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (použitie výsledku z predchádzajúceho dopytu). Podporujú sa indexy a používateľom definované premenné.
  • Zabezpečenie vysokej dostupnosti a odolnosti voči chybám.
  • Podpora vytvárania snímok so stavom databázy na zjednodušenie vytvárania záloh.
  • Pripravenosť na priemyselné použitie (už sa používa v infraštruktúre spoločností JD, Meituan a Xiaohongshu).
  • Možnosť zmeny schémy ukladania a aktualizácie údajov bez zastavenia alebo ovplyvnenia vykonávaných operácií.
  • Podpora TTL na obmedzenie životnosti údajov.
  • Príkazy na správu nastavení a hostiteľov úložiska.
  • Nástroje na správu úloh a plánovanie spustenia úloh (z prác zatiaľ podporované COMPACT a FLUSH).
  • Operácie hľadania celej cesty a najkratšej cesty medzi zadanými vrcholmi.
  • OLAP rozhranie pre integráciu s externými analytickými platformami.
  • Nástroje na import dát z CSV súborov alebo zo Sparku.
  • Export metrik na monitorovanie pomocou Prometheus a Grafana.
  • Webové rozhranie Nebula Graph Studio na vizualizáciu operácií s grafom, navigáciu po grafe, návrh schémy uloženia a načítanie dát.

V novom vydaní:

  • Pridaná podpora funkcie extract() na vyžiadanie podreťazca, ktorý zodpovedá zadanému výrazu.
  • Optimalizované nastavenia v konfiguračnom súbore.
  • Pridané optimalizačné pravidlá na odstránenie nepotrebného operátora AppendVertices a vypnutie použitia filtrov hrán a vrcholov.
  • Znížený objem dát, ktoré sa kopírujú pre operáciu JOIN, ako aj pre operátory Traverse a AppendVertices.
  • Optimalizovaná výkonnosť SHORTEST PATH a SUBGRAPH.
  • Zlepšené rozdelenie pamäte (použitý Arena Allocator).

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster