Графикке бағытталған ДҚБЖ шығарылымы Nebula Graph 3.2

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

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

Тұмандық графигінің негізгі ерекшеліктері:

  • Обеспечение безопасности через предоставление доступа только аутентифицированным пользователям, полномочия которых задаются через систему управления доступа на основе ролей (RBAC).
  • Возможность подключения разных типов движков хранения. Поддержка расширения языка формирования запросов новыми алгоритмами.
  • Обеспечение минимальных задержек при чтении или записи данных и поддержание высокой пропускной способности. При тестировании в кластере из одного узла graphd и трёх узлов storaged БД размером 632 GB, включающей граф из 1.2 миллиарда вершин и 8.4 миллиарда рёбер задержки были на уровне нескольких миллисекунд, а пропускная способность составила до 140 тысяч запросов в секунду.
  • Сызықтық масштабтау.
  • Күшті және түсінуге оңай SQL тәрізді сұрау тілі. Қолдау көрсетілетін операцияларға GO (график шыңдарының екі жақты өтуі), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (алдыңғы сұраудың нәтижесін пайдалану) кіреді. Индекстерге және пайдаланушы анықтайтын айнымалыларға қолдау көрсетіледі.
  • Жоғары қолжетімділікті және сәтсіздіктерге төзімділікті қамтамасыз ету.
  • Сақтық көшірмелерді жасауды жеңілдету үшін дерекқор күйінің бір бөлігімен суретті жасауды қолдау.
  • Өнеркәсіптік пайдалануға дайын (JD, Meituan және Xiaohongshu инфрақұрылымында бұрыннан қолданылған).
  • Деректерді сақтау схемасын өзгерту және оны тоқтатпай немесе ағымдағы операцияларға әсер етпей жаңарту мүмкіндігі.
  • Деректер өмір сүру уақытын шектеу үшін TTL қолдауы.
  • Параметрлерді және сақтау хосттарын басқаруға арналған пәрмендер.
  • Жұмысты басқаруға және жұмысты іске қосуды жоспарлауға арналған құралдар (қазіргі уақытта қолдау көрсетілетін жұмыстардың ішінде COMPACT және FLUSH).
  • Берілген шыңдар арасындағы толық жолды және ең қысқа жолды табу операциялары.
  • Үшінші тарап аналитикалық платформаларымен интеграцияға арналған OLAP интерфейсі.
  • CSV файлдарынан немесе Spark-тен деректерді импорттауға арналған утилиталар.
  • Экспорт метрик для мониторинга при помощи Prometheus и Grafana.
  • Web-интерфейс Nebula Graph Studio для визуализации операций с графом, навигации по графу, проектирования схемы хранения и загрузки данных.

Жаңа шығарылымда:

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

Ақпарат көзі: opennet.ru

пікір қалдыру