Vydanie grafovo orientovaného DBMS Nebula Graph 3.2

Bolo zverejnené vydanie otvoreného DBMS Nebula Graph 3.2, určeného na efektívne ukladanie veľkých sád vzájomne prepojených údajov, ktoré tvoria graf, ktorý môže počítať miliardy uzlov a bilióny spojení. Projekt je napísaný v C++ a distribuovaný pod licenciou Apache 2.0. Klientske knižnice pre prístup k DBMS sú pripravené pre jazyky Go, Python a Java.

DBMS používa distribuovanú architektúru bez zdieľania zdrojov (shared-nothing), čo znamená spustenie nezávislých a sebestačných procesov spracovania grafických dotazov a procesov ukladania. Meta-služba organizuje pohyb údajov a poskytuje metainformácie o grafe. Na zabezpečenie konzistentnosti údajov sa používa protokol založený na algoritme RAFT.

Hlavné funkcie Nebula Graph:

  • Zabezpečenie bezpečnosti obmedzením prístupu iba na overených používateľov, ktorých povolenia sú nastavené prostredníctvom systému riadenia prístupu na základe rolí (RBAC).
  • Možnosť pripojenia rôznych typov skladovacích motorov. Podpora rozšírenia jazyka generovania dotazov o nové algoritmy.
  • Zabezpečenie minimálnej latencie pri čítaní alebo zápise údajov a udržanie vysokej priepustnosti. Pri testovaní v zhluku jedného grafového uzla a troch uložených uzlov, 632 GB databázy, vrátane grafu 1.2 miliardy vrcholov a 8.4 miliardy hrán, boli latencie niekoľko milisekúnd a priepustnosť bola až 140 tisíc požiadaviek za sekundu.
  • Lineárna škálovateľnosť.
  • Dotazovací jazyk podobný SQL, ktorý je výkonný a ľahko pochopiteľný. Podporované operácie zahŕňajú GO (obojsmerné prechádzanie vrcholmi grafu), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (s použitím výsledku z predchádzajúceho dotazu). Podporované sú indexy a používateľom definované premenné.
  • Zabezpečenie vysokej dostupnosti a odolnosti voči poruchám.
  • Podpora vytvárania snímok s výrezom stavu databázy na zjednodušenie vytvárania záložných kópií.
  • Pripravené na priemyselné použitie (už používané v infraštruktúre JD, Meituan a Xiaohongshu).
  • Možnosť zmeniť schému ukladania údajov a aktualizovať ju bez zastavenia alebo ovplyvnenia prebiehajúcich operácií.
  • Podpora TTL na obmedzenie životnosti dát.
  • Príkazy na správu nastavení a hostiteľov úložiska.
  • Nástroje na riadenie práce a plánovanie spúšťania prác (z aktuálne podporovaných diel sú COMPACT a FLUSH).
  • Operácie hľadania úplnej cesty a najkratšej cesty medzi danými vrcholmi.
  • Rozhranie OLAP pre integráciu s analytickými platformami tretích strán.
  • Pomôcky na import údajov zo súborov CSV alebo zo Spark.
  • Exportujte metriky na monitorovanie pomocou Prometheus a Grafana.
  • Webové rozhranie Nebula Graph Studio na vizualizáciu grafových operácií, navigáciu v grafoch, navrhovanie schém ukladania dát a načítania.

V novom vydaní:

  • Pridaná podpora pre funkciu extract() na extrahovanie podreťazca, ktorý sa zhoduje s daným výrazom.
  • Optimalizované nastavenia v konfiguračnom súbore.
  • Pridané pravidlá optimalizácie na odstránenie zbytočného operátora AppendVertices a zakázanie aplikácie okrajových a vrcholových filtrov.
  • Množstvo dát skopírovaných pre operáciu JOIN, ako aj pre operátory Traverse a AppendVertices bolo znížené.
  • Optimalizovaný výkon funkcie SHORTEST PATH a SUBGRAPH
  • Vylepšené prideľovanie pamäte (Arena Allocator povolený).

Zdroj: opennet.ru

Pridať komentár