lĂ«shimi i sistemit tĂ« menaxhimit tĂ« tĂ« dhĂ«nave me burre tĂ« hapur , i dedikuar pĂ«r ruajtjen efikase tĂ« grupeve tĂ« mĂ«dha tĂ« tĂ« dhĂ«nave tĂ« lidhura me njĂ«ra-tjetrĂ«n, qĂ« formojnĂ« njĂ« grafik me miliarda nyje dhe triliona lidhjesh. Projekti Ă«shtĂ« shkruar nĂ« gjuhĂ«n C++ dhe nĂ«n licencĂ«n Apache 2.0. Bibliotekat klient pĂ«r qasjen nĂ« SGBD janĂ« pĂ«rgatitur pĂ«r gjuhĂ«t Go, Python dhe Java. Startup-i qĂ« zhvillon SGBD-nĂ«, VESoft, disa ditĂ« mĂ« parĂ« ka marrĂ« njĂ« tranÄ tĂ« parĂ« investimesh nĂ« vlerĂ« prej 8 milion dollarĂ«sh.
Në SGBD arkitektura e shpërndarë pa ndarje burimesh (shared-nothing), e cila nënkupton ekzekutimin e proceseve të pavarura dhe të vetë-mjaftueshme për trajtimin e kërkesave graphd dhe proceseve të ruajtjes storaged. Orkestrimi i zhvendosjes së të dhënave dhe ofrimi i metainformacioneve për grafikët menaxhohet nga një shërbim meta. Për të siguruar njëjtësinë e të dhënave përdoret një protokoll i bazuar në algoritmin .
Karakteristikat kryesore të Nebula Graph:
- Sigurimi përmes ofrimit të qasshëm vetëm për përdoruesit e autentikuar, të cilët autorizohen nëpërmjet një sistemi të menaxhimit të qasjes mbi bazën e rolit (RBAC).
- lidheni me lloje të ndryshme motorrësh ruajtjeje. Mbështetje për zgjerimin e gjuhës së formimit të kërkesave me algoritma të rinj.
- Sigurimi i vonesave minimale gjatë lehtësimit ose shkrimit të të dhënave dhe ruajtja e një kapaciteti të lartë. Në një klaster me një nyje graphd dhe tre nyje storaged, me një DB prej 632 GB, duke përfshirë një grafik me 1.2 miliard nyje dhe 8.4 miliard skafe, vonesat ishin në nivelin e disa milisekondave, ndërsa kapaciteti arriti deri në 140 mijë kërkesa në sekondë.
- Zgjerueshmëri lineare.
- Gjuha e pyetjeve të ngjashme me SQL, e mjaftueshme e fuqishme dhe e lehtë për t'u kuptuar. Mbështeten operacione si GO (kalimi dyanshëm i nyjeve të graph-it), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (përdorimi i rezultatit nga kërkesa e mëparshme). Indekset dhe variablat e përcaktuar nga përdoruesi mbështeten.
- Sigurimi i një disponibiliteti të lartë dhe qëndrueshmëri ndaj dështimeve.
- Mbështetje për krijimin e snapshot-eve që kapin gjendjen e DB për të lehtësuar krijimin e kopjeve rezervë.
- Gati për përdorim industrial (më se përdoret në infrastrukturën e kompanive JD, Meituan dhe Xiaohongshu).
- Mundësia e ndryshimit të skemës së ruajtjes dhe azhurnimit të të dhënave pa ndalur ose ndikuar në operacionet në zhvillim.
- Mbështetje TTL për kufizimin e kohës së jetës së të dhënave.
- Komandat për menaxhimin e konfigurimeve dhe hosteve të ruajtjes.
- Mjetet për menaxhimin e punëve dhe planifikimin e nisjes së punëve (nga punët, për momentin mbështeten COMPACT dhe FLUSH).
- Operacionet e kërkimit të rrugës së plotë dhe rrugës më të shkurtër midis kulmave të dhëna.
- Interfaca OLAP për integrimin me platformat e jashtme të analizës.
- Utilitat për importimin e të dhënave nga skedarët CSV ose nga Spark.
- Eksportimi i metrikeve për monitorim nëpërmjet Prometheus dhe Grafana.
- Ndërfaqja Web
për vizualizimin e operacioneve me grafikë, navigimin në grafik, projektimin e skemës së ruajtjes dhe ngarkimin e të dhënave.
Burimi: opennet.ru
