Ukukhululwa kwe-DBMS Nebula Graph 3.2 evulekile kushicilelwe, eyenzelwe ukugcinwa okuphumelelayo kwamasethi amakhulu edatha exhumene eyenza igrafu engakwazi ukubala izigidigidi zamanodi kanye nezigidigidi zokuxhuma. Le phrojekthi ibhalwe nge-C++ futhi isatshalaliswa ngaphansi kwelayisensi ye-Apache 2.0. Imitapo yolwazi yeklayenti yokufinyelela i-DBMS ilungiselwe izilimi ze-Go, Python kanye ne-Java.
I-DBMS isebenzisa i-architecture esabalalisiwe ngaphandle kokwabelana ngezinsiza (okwabelwana-lutho), okusho ukwethulwa kwezinqubo ezizimele nezizimele zokucubungula imibuzo yegrafu kanye nezinqubo zokugcina ezigciniwe. I-meta-service ihlela ukuhamba kwedatha futhi inikeza ulwazi lwe-meta mayelana negrafu. Ukuqinisekisa ukuvumelana kwedatha, iphrothokholi esekelwe ku-algorithm ye-RAFT iyasetshenziswa.
Izici eziyinhloko ze-Nebula Graph:
- Ukuqinisekisa ukuvikeleka ngokukhawulela ukufinyelela kuphela kubasebenzisi abagunyaziwe izimvume zabo ezisethwe ngohlelo lokulawula ukufinyelela olususelwe kwindima (i-RBAC).
- Ikhono lokuxhuma izinhlobo ezahlukene zezinjini zokugcina. Usekelo lokukhulisa ulimi lokukhiqiza imibuzo ngama-algorithms amasha.
- Ukuqinisekisa ukubambezeleka okuncane lapho ufunda noma ubhala idatha kanye nokugcina ukusebenza okuphezulu. Lapho ihlolwa kuqoqo le-graphd node eyodwa kanye nama-stored node amathathu, i-database engu-632 GB, okuhlanganisa igrafu yama-vertices ayizigidi eziyizinkulungwane ezingu-1.2 kanye nemiphetho eyizigidi eziyizinkulungwane ezingu-8.4, ukubambezeleka kwakungama-milliseconds ambalwa, futhi umphumela wawufinyelela kuzicelo eziyizinkulungwane ezingu-140 ngomzuzwana.
- Ukukala komugqa.
- Ulimi lombuzo olufana ne-SQL olunamandla futhi oluqondakala kalula. Imisebenzi esekelwayo ihlanganisa i-GO (i-bidirectional traversal of vertices yegrafu), GROUP BY, OROD BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (usebenzisa umphumela ovela embuzweni wangaphambilini). Izinkomba nokuguquguquka okuchazwe ngumsebenzisi kuyasekelwa.
- Ukuqinisekisa ukutholakala okuphezulu nokumelana nokwehluleka.
- Usekelo lokudala izifinyezo ngocezu lwesimo sesizindalwazi ukuze kube lula ukudalwa kwamakhophi ayisipele.
- Ilungele ukusetshenziswa ezimbonini (sezivele zisetshenziswa kungqalasizinda ye-JD, Meituan ne-Xiaohongshu).
- Amandla okushintsha isikimu sokulondoloza idatha futhi usibuyekeze ngaphandle kokumisa noma ukuphazamisa imisebenzi eqhubekayo.
- Ukusekelwa kwe-TTL ukuze kukhawulelwe ukuphila kwedatha.
- Imiyalo yokuphatha izilungiselelo nabasingathi besitoreji.
- Amathuluzi okuphatha umsebenzi nokuhlela ukwethulwa komsebenzi (kwemisebenzi esekelwayo njengamanje i-COMPACT ne-FLUSH).
- Imisebenzi yokuthola indlela ephelele kanye nendlela emfushane phakathi kwama-vertices anikeziwe.
- Isixhumi esibonakalayo se-OLAP sokuhlanganiswa nezinkundla zezibalo zenkampani yangaphandle.
- Izinsiza zokungenisa idatha kusuka kumafayela e-CSV noma ku-Spark.
- Khipha amamethrikhi okuqapha usebenzisa i-Prometheus ne-Grafana.
- Isixhumi esibonakalayo sewebhu se-Nebula Graph Studio ukuze ubone ngeso lengqondo ukusebenza kwegrafu, ukuzulazula kwegrafu, ukuklama ukugcinwa kwedatha kanye nezikimu zokulayisha.
Ekukhishweni okusha:
- Kwengezwe usekelo lomsebenzi we-extract() ukuze kukhishwe uchungechunge oluncane olufana nenkulumo enikeziwe.
- Izilungiselelo ezilungiselelwe kufayela lokumisa.
- Kungezwe imithetho yokuthuthukisa ukuze kususwe u-opharetha we-AppendVertices ongenamsebenzi futhi kukhubazwe ukusetshenziswa kwezihlungi zonqenqema kanye ne-vertex.
- Inani ledatha elikopishelwe umsebenzi we-JOIN, kanye nama-opharetha we-Traverse ne-AppendVertices, lehlisiwe.
- Ukusebenza okuthuthukisiwe kwe-SHORTEST PATH kanye ne-SUBGRAPH
- Ukwabiwa kwenkumbulo okuthuthukisiwe (I-Arena Allocator inikwe amandla).
Source: opennet.ru