График-багытталган DBMS Nebula 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 (мурунку суроонун натыйжасын колдонуу) кирет. Индекстер жана колдонуучу аныктаган өзгөрмөлөр колдоого алынат.
  • Жогорку жеткиликтүүлүктү жана катачылыктарга туруктуулукту камсыз кылуу.
  • Камдык көчүрмөлөрдү түзүүнү жөнөкөйлөтүү үчүн маалымат базасынын абалынын бир бөлүгү менен снапшотторду түзүүнү колдоо.
  • Өнөр жайлык колдонууга даяр (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).

Source: opennet.ru

Комментарий кошуу