Sortie du SGBD orienté graphique Nebula Graph 3.2

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

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

Principales caractéristiques de Nebula Graph :

  • Обеспечение безопасности через предоставление доступа только аутентифицированным пользователям, полномочия которых задаются через систему управления доступа на основе ролей (RBAC).
  • Возможность подключения разных типов движков хранения. Поддержка расширения языка формирования запросов новыми алгоритмами.
  • Обеспечение минимальных задержек при чтении или записи данных и поддержание высокой пропускной способности. При тестировании в кластере из одного узла graphd и трёх узлов storaged БД размером 632 GB, включающей граф из 1.2 миллиарда вершин и 8.4 миллиарда рёбер задержки были на уровне нескольких миллисекунд, а пропускная способность составила до 140 тысяч запросов в секунду.
  • Évolutivité linéaire.
  • Un langage de requête de type SQL, puissant et facile à comprendre. Les opérations prises en charge incluent GO (traversée bidirectionnelle des sommets du graphique), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (en utilisant le résultat d'une requête précédente). Les index et les variables définies par l'utilisateur sont pris en charge.
  • Assurer une haute disponibilité et une résilience aux pannes.
  • Prise en charge de la création d'instantanés avec une tranche de l'état de la base de données pour simplifier la création de copies de sauvegarde.
  • Prêt pour un usage industriel (déjà utilisé dans les infrastructures de JD, Meituan et Xiaohongshu).
  • La possibilité de modifier le schéma de stockage des données et de le mettre à jour sans arrêter ni affecter les opérations en cours.
  • Prise en charge TTL pour limiter la durée de vie des données.
  • Commandes de gestion des paramètres et des hôtes de stockage.
  • Outils de gestion des travaux et de planification des lancements de travaux (parmi les travaux actuellement pris en charge sont COMPACT et FLUSH).
  • Opérations de recherche du chemin complet et du chemin le plus court entre des sommets donnés.
  • Interface OLAP pour l'intégration avec des plateformes d'analyse tierces.
  • Utilitaires pour importer des données à partir de fichiers CSV ou depuis Spark.
  • Экспорт метрик для мониторинга при помощи Prometheus и Grafana.
  • Web-интерфейс Nebula Graph Studio для визуализации операций с графом, навигации по графу, проектирования схемы хранения и загрузки данных.

Dans la nouvelle version :

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

Source: opennet.ru

Ajouter un commentaire