Lëshimi i mjegullnajës DBMS të orientuar nga grafiku Grafiku 3.2

Është publikuar publikimi i grafikut 3.2 të Mjegullnajës së hapur DBMS, i krijuar për ruajtjen efikase të grupeve të mëdha të të dhënave të ndërlidhura që formojnë një grafik që mund të numërojë miliarda nyje dhe triliona lidhje. Projekti është shkruar në C++ dhe shpërndahet nën licencën Apache 2.0. Bibliotekat e klientëve për të hyrë në DBMS janë përgatitur për gjuhët Go, Python dhe Java.

DBMS përdor një arkitekturë të shpërndarë pa burime të përbashkëta (asgjë e përbashkët), e cila nënkupton nisjen e proceseve të pavarura dhe të vetë-mjaftueshme të përpunimit të pyetjeve grafike dhe proceseve të ruajtjes së ruajtjes. Meta-shërbimi orkestron lëvizjen e të dhënave dhe ofron meta-informacion rreth grafikut. Për të siguruar konsistencën e të dhënave, përdoret një protokoll i bazuar në algoritmin RAFT.

Karakteristikat kryesore të Grafikut të Mjegullnajës:

  • Sigurimi i sigurisë duke kufizuar aksesin vetëm për përdoruesit e vërtetuar, lejet e të cilëve vendosen përmes një sistemi të kontrollit të aksesit të bazuar në role (RBAC).
  • Aftësia për të lidhur lloje të ndryshme të motorëve të ruajtjes. Mbështetje për zgjerimin e gjuhës së gjenerimit të pyetjeve me algoritme të reja.
  • Sigurimi i vonesës minimale gjatë leximit ose shkrimit të të dhënave dhe mbajtja e xhiros së lartë. Kur u testua në një grup prej një nyje grafike dhe tre nyjeve të ruajtura, një bazë të dhënash 632 GB, duke përfshirë një grafik me 1.2 miliardë kulme dhe 8.4 miliardë skaje, vonesat ishin disa milisekonda dhe xhiroja ishte deri në 140 mijë kërkesa në sekondë.
  • Shkallueshmëria lineare.
  • Një gjuhë pyetjesh e ngjashme me SQL që është e fuqishme dhe e lehtë për t'u kuptuar. Operacionet e mbështetura përfshijnë GO (përshkimin dydrejtues të kulmeve të grafikut), GROUP BY, RORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (duke përdorur rezultatin nga një pyetje e mëparshme). Indekset dhe variablat e përcaktuara nga përdoruesi mbështeten.
  • Sigurimi i disponueshmërisë së lartë dhe elasticiteti ndaj dështimeve.
  • Mbështetje për krijimin e fotografive me një pjesë të gjendjes së bazës së të dhënave për të thjeshtuar krijimin e kopjeve rezervë.
  • Gati për përdorim industrial (i përdorur tashmë në infrastrukturën e JD, Meituan dhe Xiaohongshu).
  • Mundësia për të ndryshuar skemën e ruajtjes së të dhënave dhe për ta përditësuar atë pa ndalur ose ndikuar në operacionet e vazhdueshme.
  • Mbështetje TTL për të kufizuar jetëgjatësinë e të dhënave.
  • Komandat për menaxhimin e cilësimeve dhe hostet e ruajtjes.
  • Mjetet për menaxhimin e punës dhe planifikimin e nisjeve të punës (nga punët e mbështetura aktualisht janë COMPACT dhe FLUSH).
  • Veprimet e gjetjes së shtegut të plotë dhe shtegut më të shkurtër ndërmjet kulmeve të dhëna.
  • Ndërfaqja OLAP për integrim me platformat analitike të palëve të treta.
  • Shërbimet për importimin e të dhënave nga skedarët CSV ose nga Spark.
  • Eksporto metrikë për monitorim duke përdorur Prometheus dhe Grafana.
  • Ndërfaqja në internet e Nebula Graph Studio për vizualizimin e operacioneve të grafikut, navigimin e grafikëve, dizajnimin e skemave të ruajtjes dhe ngarkimit të të dhënave.

Në publikimin e ri:

  • U shtua mbështetje për funksionin ekstrakt() për të nxjerrë një nënvarg që përputhet me një shprehje të caktuar.
  • Cilësimet e optimizuara në skedarin e konfigurimit.
  • U shtuan rregulla optimizimi për të hequr operatorin e padobishëm AppendVertices dhe për të çaktivizuar aplikimin e filtrave të skajeve dhe kulmeve.
  • Sasia e të dhënave të kopjuara për operacionin JOIN, si dhe për operatorët Traverse dhe AppendVertices, është zvogëluar.
  • Performanca e optimizuar e RRUGËS MË TË SHKURTËR dhe NËNGRAFIT
  • Përmirësimi i alokimit të memories (Alokuesi Arena i aktivizuar).

Burimi: opennet.ru

Shto një koment