Wydanie zorientowanego na wykresy wykresu mgławicy DBMS 3.2

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

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

Główne cechy Nebula Graph:

  • Обеспечение безопасности через предоставление доступа только аутентифицированным пользователям, полномочия которых задаются через систему управления доступа на основе ролей (RBAC).
  • Возможность подключения разных типов движков хранения. Поддержка расширения языка формирования запросов новыми алгоритмами.
  • Обеспечение минимальных задержек при чтении или записи данных и поддержание высокой пропускной способности. При тестировании в кластере из одного узла graphd и трёх узлов storaged БД размером 632 GB, включающей граф из 1.2 миллиарда вершин и 8.4 миллиарда рёбер задержки были на уровне нескольких миллисекунд, а пропускная способность составила до 140 тысяч запросов в секунду.
  • Skalowalność liniowa.
  • Język zapytań podobny do SQL, który jest potężny i łatwy do zrozumienia. Obsługiwane operacje obejmują GO (dwukierunkowe przechodzenie wierzchołków grafu), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (przy użyciu wyniku z poprzedniego zapytania). Obsługiwane są indeksy i zmienne zdefiniowane przez użytkownika.
  • Zapewnienie wysokiej dostępności i odporności na awarie.
  • Obsługa tworzenia migawek z wycinkiem stanu bazy danych w celu uproszczenia tworzenia kopii zapasowych.
  • Gotowy do użytku przemysłowego (wykorzystywany już w infrastrukturze JD, Meituan i Xiaohongshu).
  • Możliwość zmiany schematu przechowywania danych i ich aktualizacji bez przerywania i wpływania na bieżące operacje.
  • Obsługa TTL w celu ograniczenia żywotności danych.
  • Polecenia do zarządzania ustawieniami i hostami pamięci masowej.
  • Narzędzia do zarządzania pracą i planowania rozpoczęcia prac (obecnie wspierane prace to COMPACT i FLUSH).
  • Operacje znajdowania pełnej ścieżki i najkrótszej ścieżki pomiędzy danymi wierzchołkami.
  • Interfejs OLAP do integracji z platformami analitycznymi innych firm.
  • Narzędzia do importowania danych z plików CSV lub ze Sparka.
  • Экспорт метрик для мониторинга при помощи Prometheus и Grafana.
  • Web-интерфейс Nebula Graph Studio для визуализации операций с графом, навигации по графу, проектирования схемы хранения и загрузки данных.

W nowym wydaniu:

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

Źródło: opennet.ru

Dodaj komentarz