Lansarea sistemului de gestionare a bazelor de date grafice Nebula Graph 3.2

A fost lansată versiunea 3.2 a SGBD-ului open-source Nebula Graph, destinat stocării eficiente a unor seturi mari de date interconectate, formând un grafic ce poate conține miliarde de noduri și trilioni de legături. Proiectul este scris în C++ și este distribuit sub licența Apache 2.0. Bibliotecile client pentru accesarea SGBD-ului sunt disponibile pentru limbajele Go, Python și Java.

SGBD-ul utilizează o arhitectură distribuită fără separarea resurselor (shared-nothing), ceea ce implică lansarea unor procese independente și autonome de procesare a cererilor graphd și a proceselor de stocare storaged. Orchestrarea migrației datelor și furnizarea de meta-informații despre grafic sunt gestionate de un serviciu meta. Pentru a asigura coerența datelor, se utilizează un protocol bazat pe algoritmul RAFT.

Caracteristici principale ale Nebula Graph:

  • Asigurarea securității prin acordarea accesului numai utilizatorilor autentificați, iar permisiunile acestora sunt stabilite printr-un sistem de gestionare a accesului bazat pe roluri (RBAC).
  • Posibilitatea de conectare a diferitelor tipuri de motoare de stocare. Suport pentru extinderea limbajului de formare a cererilor cu algoritmi noi.
  • Asigurarea întârzierilor minime la citirea sau scrierea datelor și menținerea unei lățimi de bandă ridicate. În timpul testării pe un cluster format dintr-un nod graphd și trei noduri storaged cu o bază de date de 632 GB, incluzând un grafic cu 1,2 miliarde de vârfuri și 8,4 miliarde de muchii, întârzierile au fost la nivelul câtorva milisecunde, iar lățimea de bandă a ajuns până la 140.000 de cereri pe secundă.
  • Scalabilitate liniară.
  • Limbaj de cereri asemănător SQL, suficient de puternic și ușor de înțeles. Sunt acceptate operații precum GO (parcurgerea bidirecțională a nodurilor graficului), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (utilizarea rezultatului de la cererea anterioară). Se suportă indecși și variabile definite de utilizator.
  • Asigurarea disponibilității ridicate și a rezistenței la defecțiuni.
  • Suport pentru crearea de instantanee cu un eșantion al stării bazei de date pentru a facilita realizarea copiilor de rezervă.
  • Pregătit pentru aplicare industrială (deja folosit în infrastructura companiilor JD, Meituan și Xiaohongshu).
  • Posibilitatea de a schimba schema de stocare și de a actualiza datele fără oprirea sau influențarea operațiunilor în curs.
  • Suport TTL pentru limitarea duratei de viață a datelor.
  • Comenzi pentru gestionarea setărilor și gazdelor de stocare.
  • Instrumente pentru gestionarea lucrărilor și planificarea desfășurării acestora (în prezent, sunt acceptate lucrările COMPACT și FLUSH).
  • Operații de căutare a celei mai scurte căi și a căii complete între nodurile date.
  • Interfață OLAP pentru integrarea cu platforme externe de analiză.
  • Utilitare pentru importul de date din fișiere CSV sau din Spark.
  • Export de metrici pentru monitorizare utilizând Prometheus și Grafana.
  • Interfață web Nebula Graph Studio pentru vizualizarea operațiunilor cu grafuri, navigarea prin grafuri, proiectarea schemei de stocare și încărcarea datelor.

În noua versiune:

  • Adăugată suportul pentru funcția extract() pentru extragerea unui substring corespunzător unei expresii date.
  • Optimizate setările din fișierul de configurare.
  • Adăugate reguli de optimizare pentru eliminarea operatorului inutil AppendVertices și dezactivarea aplicării filtrelor pe muchii și noduri.
  • Reduce cantitatea de date copiate pentru operația JOIN, precum și pentru operatorii Traverse și AppendVertices.
  • Optimizată performanța SHORTEST PATH și SUBGRAPH.
  • Îmbunătățită distribuția memoriei (utilizat Arena Allocator).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster