Опубликован выпуск открытой СУБД Nebula Graph 3.2, предназначенной для эффективного хранения крупных наборов связанных между собой данных, образующих граф, который может насчитывать миллиарды узлов и триллионы связей. Проект написан на языке С++ и распространяется под лицензией Apache 2.0. Клиентские библиотеки для обращения к СУБД подготовлены для языков Go, Python и Java.
В СУБД применяется распределённая архитектура без разделения ресурсов (shared-nothing), подразумевающая запуск независимых и самодостаточных процессов обработки запросов graphd и процессов хранения storaged. Оркестровкой перемещения данных и предоставлением мета-информации о графе занимается мета-сервис. Для обеспечения согласованности данных используется протокол на базе алгоритма RAFT.
Karatteristiċi ewlenin ta' Nebula Graph:
- Обеспечение безопасности через предоставление доступа только аутентифицированным пользователям, полномочия которых задаются через систему управления доступа на основе ролей (RBAC).
- Возможность подключения разных типов движков хранения. Поддержка расширения языка формирования запросов новыми алгоритмами.
- Обеспечение минимальных задержек при чтении или записи данных и поддержание высокой пропускной способности. При тестировании в кластере из одного узла graphd и трёх узлов storaged БД размером 632 GB, включающей граф из 1.2 миллиарда вершин и 8.4 миллиарда рёбер задержки были на уровне нескольких миллисекунд, а пропускная способность составила до 140 тысяч запросов в секунду.
- Skalabbiltà lineari.
- Lingwa ta' mistoqsijiet bħal SQL li hija qawwija u faċli biex tinftiehem. Operazzjonijiet appoġġjati jinkludu GO (traversal bidirezzjonali ta' vertiċi tal-graff), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (bl-użu tar-riżultat minn mistoqsija preċedenti). L-indiċijiet u l-varjabbli definiti mill-utent huma appoġġjati.
- L-iżgurar ta' disponibbiltà għolja u reżistenza għall-fallimenti.
- Appoġġ għall-ħolqien ta 'snapshots b'porzjon tal-istat tad-database biex jissimplifika l-ħolqien ta' kopji ta 'backup.
- Lest għall-użu industrijali (diġà użat fl-infrastruttura ta 'JD, Meituan u Xiaohongshu).
- Il-ħila li tibdel l-iskema tal-ħażna tad-dejta u taġġornaha mingħajr ma twaqqaf jew taffettwa l-operazzjonijiet li għaddejjin.
- Appoġġ TTL biex jillimita l-ħajja tad-data.
- Kmandi għall-ġestjoni tas-settings u l-hosts tal-ħażna.
- Għodod għall-ġestjoni tax-xogħol u l-iskedar ta’ tnedija tax-xogħol (ix-xogħlijiet appoġġjati bħalissa huma COMPACT u FLUSH).
- Operazzjonijiet ta 'sejba tal-mogħdija sħiħa u l-iqsar mogħdija bejn vertiċi mogħtija.
- Interface OLAP għall-integrazzjoni ma 'pjattaformi analitiċi ta' partijiet terzi.
- Utilitajiet għall-importazzjoni tad-dejta minn fajls CSV jew minn Spark.
- Экспорт метрик для мониторинга при помощи Prometheus и Grafana.
- Web-интерфейс Nebula Graph Studio для визуализации операций с графом, навигации по графу, проектирования схемы хранения и загрузки данных.
Fir-rilaxx il-ġdid:
- Добавлена поддержка функции extract() для извлечения подстроки, соответствующей заданному выражению.
- Оптимизированы настройки в файле конфигурации.
- Добавлены правила оптимизации для удалений бесполезного оператора AppendVertices и отключения применения фильтров рёбер и вершин.
- Сокращён объём данных, копируемых для операции JOIN, а также для операторов Traverse и AppendVertices.
- Оптимизирована производительность SHORTEST PATH и SUBGRAPH
- Улучшено распределение памяти (задействован Arena Allocator).
Sors: opennet.ru