Megjelent a Nebula Graph 3.2 nyílt forráskódú adatbázis-kezelő rendszer, amely hatékonyan képes kezelni nagy mennyiségű összefüggő adatot, amelyek gráfokat alkotnak, akár milliárdnyi csomóponttal és trilliónyi kapcsolattal. A projekt C++ nyelven készült és az Apache 2.0 licenc alapján terjesztik. Az adatbázis-kezelőhöz kapcsolódó klienskönyvtárak a Go, Python és Java nyelvekhez állnak rendelkezésre.
Az adatbázis egy megosztott erőforrás nélküli, elosztott architektúrával működik, amely független és önálló processzusok, a graphd lekérdezésfeldolgozó és a storaged tároló folyamatok futtatását jelenti. Az adatok áthelyezését és a gráffal kapcsolatos meta-információk biztosítását egy meta-szolgáltatás végzi. Az adatkonzisztencia biztosítása érdekében a RAFT algoritmus alapú protokollt alkalmazzák.
A Nebula Graph főbb jellemzői:
- A biztonság garantálása azáltal, hogy csak az authentikált felhasználók kapnak hozzáférést, jogköreik pedig a szerepalapú hozzáférés-vezérlő rendszer (RBAC) által kerülnek meghatározásra.
- Különböző tárolómotorok csatlakoztatásának lehetősége. Az lekérdezési nyelv új algoritmusokkal való bővítése.
- Minimalizált késleltetés garantálása az adatok olvasásakor vagy írásakor és magas áteresztőképesség fenntartása. Egy 632 GB méretű, 1,2 milliárd csomópontot és 8,4 milliárd élt tartalmazó program tesztelése során, amelyben egy graphd és három storaged csomópont működött, a késleltetések néhány milliszekundumra csökkentek, az áteresztőképesség pedig akár 140 ezer lekérdezést is elérhetett másodpercenként.
- Lineáris skálázhatóság.
- SQL-szerű lekérdezési nyelv, amely elég erős és könnyen érthető. Támogatott műveletek: GO (kétirányú gráfcsomópont-bejárás), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (az előző lekérdezés eredményeinek felhasználása). Indexek és felhasználó által definiált változók támogatottak.
- Magas rendelkezésre állás és hibákra való ellenállás biztosítása.
- Tároló állapotának pillanatképeinek elkészítésének támogatása a biztonsági mentések egyszerűsítése érdekében.
- Ipari alkalmazásra készen áll (már a JD, Meituan és Xiaohongshu cégek infrastruktúrájában használják).
- Adat tárolási és frissítési séma megváltoztatása leállás vagy a végrehajtott műveletek befolyásolása nélkül.
- TTL támogatás az adatok élettartamának korlátozására.
- Parancsok a tárolási beállítások és hosztok kezelésére.
- Eszközök a feladatok kezelésére és a feladatok indításának ütemezésére (jelenleg a COMPACT és FLUSH feladatok támogatottak).
- Teljes és legrövidebb útvonal keresési műveletek adott csúcsok között.
- OLAP interfész harmadik féltől származó elemzőplatformokkal való integrációhoz.
- Eszközök adatok importálásához CSV fájlokból vagy Spark-ból.
- Metriák exportálása a Prometheus és a Grafana segítségével történő megfigyeléshez.
- Webes interfész a Nebula Graph Studiohoz a grafikus műveletek vizualizálásához, a gráfban való navigációhoz, a tárolási séma tervezéséhez és az adatok betöltéséhez.
Az új kiadásban:
- Kibővítve a extract() funkciót a megadott kifejezésnek megfelelő substring kinyerésére.
- Optimalizált beállítások a konfigurációs fájlban.
- Optimalizálási szabályok hozzáadva a felesleges AppendVertices operátor törlésére és a csúcsok és élek szűrőinek alkalmazásának letiltására.
- Csökkent a JOIN művelethez másolt adatok mennyisége, valamint a Traverse és AppendVertices operátorok esetében.
- Optimalizált a SHORTEST PATH és SUBGRAPH teljesítménye.
- Javított memóriaelosztás (Arena Allocator alkalmazásával).
Forrás: opennet.ru
