Veröffentlichung des graphorientierten DBMS Nebula Graph 3.2

Опубликован выпуск открытой СУБД Nebula Graph 3.2, предназначенной для эффективного хранения крупных наборов связанных между собой данных, образующих граф, который может насчитывать миллиарды узлов и триллионы связей. Проект написан на языке С++ и распространяется под лицензией Apache 2.0. Клиентские библиотеки для обращения к СУБД подготовлены для языков Go, Python и Java.

В СУБД применяется распределённая архитектура без разделения ресурсов (shared-nothing), подразумевающая запуск независимых и самодостаточных процессов обработки запросов graphd и процессов хранения storaged. Оркестровкой перемещения данных и предоставлением мета-информации о графе занимается мета-сервис. Для обеспечения согласованности данных используется протокол на базе алгоритма RAFT.

Hauptmerkmale von Nebula Graph:

  • Обеспечение безопасности через предоставление доступа только аутентифицированным пользователям, полномочия которых задаются через систему управления доступа на основе ролей (RBAC).
  • Возможность подключения разных типов движков хранения. Поддержка расширения языка формирования запросов новыми алгоритмами.
  • Обеспечение минимальных задержек при чтении или записи данных и поддержание высокой пропускной способности. При тестировании в кластере из одного узла graphd и трёх узлов storaged БД размером 632 GB, включающей граф из 1.2 миллиарда вершин и 8.4 миллиарда рёбер задержки были на уровне нескольких миллисекунд, а пропускная способность составила до 140 тысяч запросов в секунду.
  • Lineare Skalierbarkeit.
  • Eine SQL-ähnliche Abfragesprache, die leistungsstark und leicht zu verstehen ist. Zu den unterstützten Operationen gehören GO (bidirektionales Durchlaufen von Diagrammscheitelpunkten), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (unter Verwendung des Ergebnisses einer vorherigen Abfrage). Indizes und benutzerdefinierte Variablen werden unterstützt.
  • Gewährleistung einer hohen Verfügbarkeit und Ausfallsicherheit.
  • Unterstützung für die Erstellung von Snapshots mit einem Ausschnitt des Datenbankstatus, um die Erstellung von Sicherungskopien zu vereinfachen.
  • Bereit für den industriellen Einsatz (bereits in der Infrastruktur von JD, Meituan und Xiaohongshu eingesetzt).
  • Die Möglichkeit, das Speicherschema zu ändern und Daten zu aktualisieren, ohne den laufenden Betrieb zu unterbrechen oder zu beeinträchtigen.
  • TTL-Unterstützung zur Begrenzung der Datenlebensdauer.
  • Befehle zum Verwalten von Einstellungen und Speicherhosts.
  • Tools zur Arbeitsverwaltung und Planung von Arbeitsstarts (zu den derzeit unterstützten Werken gehören COMPACT und FLUSH).
  • Operationen zum Finden des vollständigen Pfades und des kürzesten Pfades zwischen gegebenen Eckpunkten.
  • OLAP-Schnittstelle zur Integration mit Analyseplattformen von Drittanbietern.
  • Dienstprogramme zum Importieren von Daten aus CSV-Dateien oder von Spark.
  • Экспорт метрик для мониторинга при помощи Prometheus и Grafana.
  • Web-интерфейс Nebula Graph Studio для визуализации операций с графом, навигации по графу, проектирования схемы хранения и загрузки данных.

In der neuen Version:

  • Добавлена поддержка функции extract() для извлечения подстроки, соответствующей заданному выражению.
  • Оптимизированы настройки в файле конфигурации.
  • Добавлены правила оптимизации для удалений бесполезного оператора AppendVertices и отключения применения фильтров рёбер и вершин.
  • Сокращён объём данных, копируемых для операции JOIN, а также для операторов Traverse и AppendVertices.
  • Оптимизирована производительность SHORTEST PATH и SUBGRAPH
  • Улучшено распределение памяти (задействован Arena Allocator).

Source: opennet.ru

Kommentar hinzufügen