Release av den graforienterade DBMS Nebula Graph 3.2

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

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

Huvuddragen i Nebula Graph:

  • Обеспечение безопасности через предоставление доступа только аутентифицированным пользователям, полномочия которых задаются через систему управления доступа на основе ролей (RBAC).
  • Возможность подключения разных типов движков хранения. Поддержка расширения языка формирования запросов новыми алгоритмами.
  • Обеспечение минимальных задержек при чтении или записи данных и поддержание высокой пропускной способности. При тестировании в кластере из одного узла graphd и трёх узлов storaged БД размером 632 GB, включающей граф из 1.2 миллиарда вершин и 8.4 миллиарда рёбер задержки были на уровне нескольких миллисекунд, а пропускная способность составила до 140 тысяч запросов в секунду.
  • Linjär skalbarhet.
  • Ett SQL-liknande frågespråk som är kraftfullt och lätt att förstå. Funktioner som stöds inkluderar GO (dubbelriktad genomgång av grafens hörn), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (med hjälp av resultatet från en tidigare fråga). Index och användardefinierade variabler stöds.
  • Säkerställa hög tillgänglighet och motståndskraft mot misslyckanden.
  • Stöd för att skapa ögonblicksbilder med en del av databastillståndet för att förenkla skapandet av säkerhetskopior.
  • Klar för industriell användning (används redan i infrastrukturen för JD, Meituan och Xiaohongshu).
  • Möjligheten att ändra datalagringsschemat och uppdatera det utan att stoppa eller påverka pågående verksamhet.
  • TTL-stöd för att begränsa datalivslängden.
  • Kommandon för att hantera inställningar och lagringsvärdar.
  • Verktyg för att hantera arbete och schemalägga arbetsstarter (av de verk som för närvarande stöds är COMPACT och FLUSH).
  • Operationer för att hitta hela vägen och den kortaste vägen mellan givna hörn.
  • OLAP-gränssnitt för integration med tredjepartsanalysplattformar.
  • Verktyg för att importera data från CSV-filer eller från Spark.
  • Экспорт метрик для мониторинга при помощи Prometheus и Grafana.
  • Web-интерфейс Nebula Graph Studio для визуализации операций с графом, навигации по графу, проектирования схемы хранения и загрузки данных.

I den nya utgåvan:

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

Källa: opennet.ru

Lägg en kommentar