Frigivelse af den graforienterede DBMS Nebula Graph 3.2

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

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

Hovedtræk ved Nebula Graph:

  • Обеспечение безопасности через предоставление доступа только аутентифицированным пользователям, полномочия которых задаются через систему управления доступа на основе ролей (RBAC).
  • Возможность подключения разных типов движков хранения. Поддержка расширения языка формирования запросов новыми алгоритмами.
  • Обеспечение минимальных задержек при чтении или записи данных и поддержание высокой пропускной способности. При тестировании в кластере из одного узла graphd и трёх узлов storaged БД размером 632 GB, включающей граф из 1.2 миллиарда вершин и 8.4 миллиарда рёбер задержки были на уровне нескольких миллисекунд, а пропускная способность составила до 140 тысяч запросов в секунду.
  • Lineær skalerbarhed.
  • Et SQL-lignende forespørgselssprog, der er kraftfuldt og let at forstå. Understøttede operationer inkluderer GO (tovejs gennemgang af grafens hjørner), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (ved hjælp af resultatet fra en tidligere forespørgsel). Indekser og brugerdefinerede variabler understøttes.
  • Sikring af høj tilgængelighed og modstandsdygtighed over for fejl.
  • Understøttelse af oprettelse af snapshots med et udsnit af databasetilstanden for at forenkle oprettelsen af ​​sikkerhedskopier.
  • Klar til industriel brug (allerede brugt i infrastrukturen i JD, Meituan og Xiaohongshu).
  • Muligheden for at ændre datalagringsskemaet og opdatere det uden at stoppe eller påvirke igangværende drift.
  • TTL-understøttelse for at begrænse datalevetiden.
  • Kommandoer til styring af indstillinger og lagerværter.
  • Værktøjer til at styre arbejde og planlægge arbejdslanceringer (af de værker, der i øjeblikket understøttes, er COMPACT og FLUSH).
  • Operationer med at finde den komplette vej og den korteste vej mellem givne hjørner.
  • OLAP-grænseflade til integration med tredjeparts analyseplatforme.
  • Hjælpeprogrammer til at importere data fra CSV-filer eller fra Spark.
  • Экспорт метрик для мониторинга при помощи Prometheus и Grafana.
  • Web-интерфейс Nebula Graph Studio для визуализации операций с графом, навигации по графу, проектирования схемы хранения и загрузки данных.

I den nye udgivelse:

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

Kilde: opennet.ru

Tilføj en kommentar