Veröffentlichung von Nebula Graph 3.2, einer grafikorientierten Datenbank

Die Veröffentlichung von Nebula Graph 3.2, einem Open-Source-Datenbanksystem, das für die effiziente Speicherung großer Mengen miteinander verbundener Daten, die ein Graph bilden, konzipiert ist, wurde bekannt gegeben. Dieser Graph kann Milliarden von Knoten und Billionen von Verbindungen umfassen. Das Projekt ist in C++ geschrieben und wird unter der Lizenz Apache 2.0 vertrieben. Clientbibliotheken für den Zugriff auf die Datenbank sind für die Sprachen Go, Python und Java verfügbar.

In der Datenbank wird eine verteilte Architektur ohne Ressourcenteilung (shared-nothing) verwendet, die den Betrieb unabhängiger und autonomer Prozesse für die Anfragebearbeitung (graphd) und die Speicherung (storaged) ermöglicht. Die Orchestrierung der Datenbewegung und die Bereitstellung von Metainformationen über den Graphen erfolgen über einen Metadienst. Ein Protokoll basierend auf dem RAFT-Algorithmus wird zur Gewährleistung der Datenkonsistenz genutzt.

Hauptmerkmale von Nebula Graph:

  • Sicherheitsmaßnahmen durch den Zugriff ausschließlich auf authentifizierte Benutzer, deren Berechtigungen über ein rollenbasiertes Zugriffskontrollsystem (RBAC) verwaltet werden.
  • Die Möglichkeit, verschiedene Arten von Speichermotoren anzuschließen. Unterstützung zur Erweiterung der Abfragesprache um neue Algorithmen.
  • Sicherstellung minimaler Latenzen beim Lesen oder Schreiben von Daten und Aufrechterhaltung einer hohen Bandbreite. Bei Tests in einem Cluster mit einem graphd-Knoten und drei storaged-Knoten einer 632 GB großen Datenbank, die einen Graphen mit 1,2 Milliarden Knoten und 8,4 Milliarden Kanten umfasst, lagen die Latenzen im Millisekundenbereich, während die Bandbreite bis zu 140.000 Anfragen pro Sekunde betrug.
  • Lineare Skalierbarkeit.
  • SQL-ähnliche Abfragesprache, die leistungsstark und einfach zu verstehen ist. Es werden Operationen wie GO (bidirektionales Durchlaufen der Graphknoten), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (Nutzung des Ergebnisses der vorherigen Anfrage) unterstützt. Indizes und benutzerdefinierte Variablen werden ebenfalls unterstützt.
  • Gewährleistung hoher Verfügbarkeit und Fehlertoleranz.
  • Unterstützung bei der Erstellung von Snapshots mit dem Zustand der Datenbank zur Vereinfachung von Sicherungskopien.
  • Bereit für industrielle Anwendungen (bereits in der Infrastruktur von Unternehmen wie JD, Meituan und Xiaohongshu im Einsatz).
  • Möglichkeit zur Änderung des Speicherschemas und zur Aktualisierung von Daten ohne Unterbrechung oder Einfluss auf die ausgeführten Operationen.
  • TTL-Unterstützung zur Begrenzung der Lebensdauer von Daten.
  • Befehle zur Verwaltung von Speichereinstellungen und Hosts.
  • Tools zur Verwaltung von Arbeiten und zur Planung der Ausführung von Aufgaben (derzeit werden die Aufgaben COMPACT und FLUSH unterstützt).
  • Operationen zur Suche nach dem vollständigen und dem kürzesten Pfad zwischen gegebenen Knoten.
  • OLAP-Schnittstelle zur Integration mit externen Analyseplattformen.
  • Utilities zum Import von Daten aus CSV-Dateien oder aus Spark.
  • Export von Metriken zur Überwachung mit Prometheus und Grafana.
  • Webschnittstelle Nebula Graph Studio zur Visualisierung von Graphoperationen, Navigation im Graph, Schemaentwurf und Datenladung.

In der neuen Version:

  • Unterstützung der Funktion extract() hinzugefügt, um Teilstrings entsprechend dem angegebenen Ausdruck zu extrahieren.
  • Einstellungen in der Konfigurationsdatei optimiert.
  • Optimierungsregeln für die Löschung unnötiger AppendVertices-Operatoren und das Deaktivieren von Kanten- und Knotenfilterungen hinzugefügt.
  • Datenvolumen, das für JOIN-Operationen sowie für die Operatoren Traverse und AppendVertices kopiert wird, reduziert.
  • Leistung von SHORTEST PATH und SUBGRAPH optimiert.
  • Speicherverteilung verbessert (Arena Allocator verwendet).

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster