面向圖的DBMS Nebula Graph 3.2發布

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

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

Nebula Graph的主要特點:

  • Обеспечение безопасности через предоставление доступа только аутентифицированным пользователям, полномочия которых задаются через систему управления доступа на основе ролей (RBAC).
  • Возможность подключения разных типов движков хранения. Поддержка расширения языка формирования запросов новыми алгоритмами.
  • Обеспечение минимальных задержек при чтении или записи данных и поддержание высокой пропускной способности. При тестировании в кластере из одного узла graphd и трёх узлов storaged БД размером 632 GB, включающей граф из 1.2 миллиарда вершин и 8.4 миллиарда рёбер задержки были на уровне нескольких миллисекунд, а пропускная способность составила до 140 тысяч запросов в секунду.
  • 線性可擴展性。
  • 一種類似 SQL 的查詢語言,功能強大且易於理解。 支援的操作包括 GO(圖形頂點的雙向遍歷)、GROUP BY、ORDER BY、LIMIT、UNION、UNION DISTINCT、INTERSECT、MINUS、PIPE(使用先前查詢的結果)。 支援索引和使用者定義的變數。
  • 確保高可用性和故障復原能力。
  • 支援使用資料庫狀態片段建立快照,以簡化備份副本的建立。
  • 適合工業用途(已在京東、美團、小紅書的基礎設施中使用)。
  • 能夠更改資料儲存方案並更新它,而不會停止或影響正在進行的操作。
  • TTL 支援以限制資料生命週期。
  • 用於管理設定和儲存主機的命令。
  • 用於管理工作和安排工作啟動的工具(目前支援的工作是 COMPACT 和 FLUSH)。
  • 尋找給定頂點之間的完整路徑和最短路徑的操作。
  • 用於與第三方分析平台整合的 OLAP 介面。
  • 用於從 CSV 檔案或 Spark 匯入資料的實用程式。
  • Экспорт метрик для мониторинга при помощи Prometheus и Grafana.
  • Web-интерфейс Nebula Graph Studio для визуализации операций с графом, навигации по графу, проектирования схемы хранения и загрузки данных.

在新版本中:

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

來源: opennet.ru

添加評論