Vydání grafově orientované DBMS Nebula Graph 3.2

Byl zveřejněn vydání otevřené DBMS Nebula Graph 3.2, určené pro efektivní ukládání velkých sad vzájemně propojených dat, tvořících graf, který může zahrnovat miliardy uzlů a triliony vazeb. Projekt je napsán v jazyce C++ a je distribuován pod licencí Apache 2.0. Klientské knihovny pro přístup k DBMS jsou připraveny pro jazyky Go, Python a Java.

DBMS používá distribuovanou architekturu bez rozdělení prostředků (shared-nothing), což znamená spuštění nezávislých a soběstačných procesů zpracování dotazů graphd a procesů ukládání storaged. Orchestraci přesunu dat a poskytování metainformací o grafu zajišťuje meta-servis. Pro zajištění konzistence dat se používá protokol založený na algoritmu RAFT.

Hlavní vlastnosti Nebula Graph:

  • Zajištění bezpečnosti poskytováním přístupu pouze autentizovaným uživatelům, jejichž oprávnění jsou definována systémem řízení přístupu na základě rolí (RBAC).
  • Možnost připojení různých typů úložných motorů. Podpora rozšíření jazyka pro formulaci dotazů o nové algoritmy.
  • Zajištění minimálních zpoždění při čtení nebo zápisu dat a udržení vysoké propustnosti. Při testování v klastru s jedním uzlem graphd a třemi uzly storaged byla databáze o velikosti 632 GB, zahrnující graf s 1,2 miliardami vrcholů a 8,4 miliardami hran, se zpožděními na úrovni několika milisekund a propustností až 140 tisíc dotazů za sekundu.
  • Lineární škálovatelnost.
  • SQL-podobný jazyk dotazů, dostatečně mocný a snadno pochopitelný. Podporují se operace jako GO (obousměrné procházení uzlů grafu), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (použití výsledku z předchozího dotazu). Podporují se indexy a uživatelsky definované proměnné.
  • Zajištění vysoké dostupnosti a odolnosti vůči poruchám.
  • Podpora vytváření snapshotů se stavem databáze pro usnadnění vytváření záloh.
  • Připravenost pro průmyslové použití (již se používá v infrastrukturách společností JD, Meituan a Xiaohongshu).
  • Možnost změny schématu uložení a aktualizace dat bez zastavení nebo vlivu na prováděné operace.
  • Podpora TTL pro omezení životnosti dat.
  • Příkazy pro správu nastavení a úložišť.
  • Nástroje pro správu úloh a plánování spuštění úloh (zatím jsou podporovány úkoly COMPACT a FLUSH).
  • Operace hledání nejdelší cesty a nejkratší cesty mezi danými vrcholy.
  • OLAP rozhraní pro integraci s externími analytickými platformami.
  • Nástroje pro import dat z CSV souborů nebo z Spark.
  • Export metrik pro monitorování pomocí Prometheus a Grafana.
  • Webové rozhraní Nebula Graph Studio pro vizualizaci operací s grafem, navigaci po grafu, návrh schématu úložiště a načítání dat.

V novém vydání:

  • Byla přidána podpora funkce extract() pro extrakci podřetězce odpovídajícího zadanému výrazu.
  • Byla optimalizována nastavení v konfiguračním souboru.
  • Byla přidána pravidla optimalizace pro odstranění nepotřebného operátoru AppendVertices a vypnutí aplikace filtrů hran a vrcholů.
  • Byl zkrácen objem dat kopírovaných pro operaci JOIN, stejně jako pro operátory Traverse a AppendVertices.
  • Byla optimalizována výkonnost SHORTEST PATH a SUBGRAPH.
  • Bylo zlepšeno rozdělení paměti (využit Arena Allocator).

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster