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

Bylo zveřejněno vydání otevřeného DBMS Nebula Graph 3.2, navrženého pro efektivní ukládání velkých sad vzájemně propojených dat, které tvoří graf, který může čítat miliardy uzlů a biliony spojení. Projekt je napsán v C++ a 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 sdílení zdrojů (shared-nothing), což znamená spuštění nezávislých a soběstačných procesů zpracování grafických dotazů a procesů ukládání. Meta-služba organizuje pohyb dat a poskytuje metainformace o grafu. Pro zajištění konzistence dat se používá protokol založený na algoritmu RAFT.

Hlavní rysy Nebula Graph:

  • Zajištění bezpečnosti omezením přístupu pouze na ověřené uživatele, jejichž oprávnění jsou nastavena prostřednictvím systému řízení přístupu založeného na rolích (RBAC).
  • Schopnost připojit různé typy úložišť. Podpora rozšíření jazyka pro generování dotazů o nové algoritmy.
  • Zajištění minimální latence při čtení nebo zápisu dat a zachování vysoké propustnosti. Při testování na clusteru jednoho grafového uzlu a tří uložených uzlů byla databáze o velikosti 632 GB, včetně grafu 1.2 miliardy vrcholů a 8.4 miliardy hran, latence několik milisekund a propustnost až 140 tisíc požadavků za sekundu.
  • Lineární škálovatelnost.
  • Dotazovací jazyk podobný SQL, který je výkonný a snadno srozumitelný. Mezi podporované operace patří GO (obousměrné procházení vrcholů grafu), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (s použitím výsledku z předchozího dotazu). Jsou podporovány indexy a uživatelem definované proměnné.
  • Zajištění vysoké dostupnosti a odolnosti vůči poruchám.
  • Podpora pro vytváření snímků s částí stavu databáze pro zjednodušení vytváření záložních kopií.
  • Připraveno pro průmyslové použití (již používáno v infrastruktuře JD, Meituan a Xiaohongshu).
  • Možnost změnit schéma ukládání dat a aktualizovat je bez zastavení nebo ovlivnění probíhajících operací.
  • Podpora TTL pro omezení životnosti dat.
  • Příkazy pro správu nastavení a hostitelů úložiště.
  • Nástroje pro správu práce a plánování spouštění prací (z aktuálně podporovaných prací jsou COMPACT a FLUSH).
  • Operace hledání úplné cesty a nejkratší cesty mezi danými vrcholy.
  • Rozhraní OLAP pro integraci s analytickými platformami třetích stran.
  • Nástroje pro import dat ze souborů CSV nebo ze Sparku.
  • Exportujte metriky pro sledování pomocí Prometheus a Grafana.
  • Webové rozhraní Nebula Graph Studio pro vizualizaci operací s grafy, navigaci v grafech, navrhování schémat ukládání dat a načítání.

V novém vydání:

  • Přidána podpora pro funkci extract() pro extrahování podřetězce, který odpovídá danému výrazu.
  • Optimalizované nastavení v konfiguračním souboru.
  • Přidána optimalizační pravidla pro odstranění zbytečného operátoru AppendVertices a zakázání použití filtrů hran a vertexů.
  • Množství dat zkopírovaných pro operaci JOIN a také pro operátory Traverse a AppendVertices bylo sníženo.
  • Optimalizovaný výkon SHORTEST PATH a SUBGRAPH
  • Vylepšené přidělování paměti (Arena Allocator povolen).

Zdroj: opennet.ru

Přidat komentář