Liberigo de la grafik-orientita DBMS Nebula Graph 3.2

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

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

Ĉefaj trajtoj de Nebula Graph:

  • Обеспечение безопасности через предоставление доступа только аутентифицированным пользователям, полномочия которых задаются через систему управления доступа на основе ролей (RBAC).
  • Возможность подключения разных типов движков хранения. Поддержка расширения языка формирования запросов новыми алгоритмами.
  • Обеспечение минимальных задержек при чтении или записи данных и поддержание высокой пропускной способности. При тестировании в кластере из одного узла graphd и трёх узлов storaged БД размером 632 GB, включающей граф из 1.2 миллиарда вершин и 8.4 миллиарда рёбер задержки были на уровне нескольких миллисекунд, а пропускная способность составила до 140 тысяч запросов в секунду.
  • Lineara skaleblo.
  • SQL-simila demanda lingvo, kiu estas potenca kaj facile komprenebla. Subtenataj operacioj inkluzivas GO (dudirekta trairo de grafeaj verticoj), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (uzante la rezulton de antaŭa demando). Indeksoj kaj uzant-difinitaj variabloj estas subtenataj.
  • Certigante altan haveblecon kaj fortikecon al fiaskoj.
  • Subteno por kreado de momentfotoj kun tranĉaĵo de la datumbaza stato por simpligi la kreadon de rezervaj kopioj.
  • Preta por industria uzo (jam uzata en la infrastrukturo de JD, Meituan kaj Xiaohongshu).
  • La kapablo ŝanĝi la datuman stokadoskemon kaj ĝisdatigi ĝin sen ĉesi aŭ influi daŭrajn operaciojn.
  • TTL-subteno por limigi datumvivon.
  • Komandoj por administri agordojn kaj stokajn gastigantojn.
  • Iloj por administri laboron kaj plani laborlanĉojn (el la verkoj nuntempe subtenataj estas COMPACT kaj FLUSH).
  • Operacioj de trovado de la kompleta vojo kaj la plej mallonga vojo inter donitaj verticoj.
  • OLAP-interfaco por integriĝo kun triapartaj analizaj platformoj.
  • Iloj por importi datumojn de CSV-dosieroj aŭ de Spark.
  • Экспорт метрик для мониторинга при помощи Prometheus и Grafana.
  • Web-интерфейс Nebula Graph Studio для визуализации операций с графом, навигации по графу, проектирования схемы хранения и загрузки данных.

En la nova eldono:

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

fonto: opennet.ru

Aldoni komenton