vydání otevřené DBMS , určené pro efektivní ukládání velkých sad vzájemně propojených dat, která tvoří graf, jenž může mít miliardy uzlů a triliony vazeb. Projekt je napsán v jazyce C++ a je licencován pod licencí Apache 2.0. Klientské knihovny pro komunikaci s DBMS byly připraveny pro jazyky Go, Python a Java. Startup vyvíjející DBMS VESoft získal před několika dny první investiční tranše ve výši 8 milionů dolarů.
V DBMS je distribuovaná architektura bez sdílení zdrojů (shared-nothing), což znamená spouštění nezávislých a soběstačných procesů pro zpracování dotazů graphd a procesů ukládání storaged. Orchestraci přesunu dat a poskytování meta-informací o grafu zajišťuje meta-servis. Pro zajištění konzistence dat se používá protokol založený na algoritmu .
Hlavní vlastnosti Nebula Graph:
- Zajištění poskytováním přístupu pouze autentizovaným uživatelům, jejichž oprávnění jsou nastavena prostřednictvím systému správy přístupu založeného na rolích (RBAC).
- připojení různých typů úložišť. Podpora rozšíření jazyka formulování dotazů novými algoritmy.
- Zajištění minimálních latencí při čtení či zápisu dat a udržení vysoké propustnosti. Při v clusteru složeném z jednoho uzlu graphd a tří uzlů storaged s databází o velikosti 632 GB, která zahrnovala graf s 1,2 miliardy vrcholů a 8,4 miliardy hran, byly latence na úrovni několika milisekund, zatímco propustnost dosáhla 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í
pro vizualizaci operací s grafem, navigaci v grafu, návrh schématu uložení a načítání dat.
Zdroj: opennet.ru
