релиз на отворената СУБД , проектирана за ефективно съхранение на големи набори от свързани данни, формиращи граф, който може да съдържа милиарди възли и трилиони връзки. Проектът е написан на C++ и е съгласно лиценз Apache 2.0. Клиентските библиотеки за достъп до СУБД са подготвени за езиците Go, Python и Java. Стартиращата компания за развитие на СУБД VESoft току-що осъществи първия транш инвестиции в размер на 8 милиона долара.
В СУБД архитектурата е разпределена без разделяне на ресурси (shared-nothing), което предполага стартиране на независими и самодостатъчни процеси за обработка на заявки graphd и процеси за съхранение storaged. Оркестрацията на преместването на данни и предоставянето на мeta-информация за графа се осъществява от мета-сервиз. За осигуряване на консистентност на данните се използва протокол, базиран на алгоритъма .
Основни характеристики на Nebula Graph:
- Осигуряването чрез предоставяне на достъп само на автентикирани потребители, чиито права се определят чрез система за управление на достъпа, основана на роли (RBAC).
- свързването на различни типове хранилища. Поддръжка за разширяване на езика за формулиране на запитвания с нови алгоритми.
- Осигуряване на минимални закъснения при четене или запис на данни и поддържане на висока пропускателна способност. При комплект от един възел graphd и три възела storaged, БД с размер 632 GB, включваща граф с 1,2 милиарда върхове и 8,4 милиарда ребра, закъсненията бяха на нивото на няколко милисекунди, а пропускателната способност достигна до 140 хиляди запитвания в секунда.
- Линейна устойчивост.
- SQL-подобен език за заявки, достатъчно мощен и лесен за възприемане. Подкрепят се операции като GO (двунаправлено обхождане на върховете на графа), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (използване на резултата от предишната заявка). Поддържат се индекси и дефинирани от потребителя променливи.
- Осигуряване на висока наличност и устойчивост на повреди.
- Подкрепа за създаване на снимки на състоянието на базата данни за опростяване на създаването на резервни копия.
- Готовност за индустриално приложение (вече се използва в инфраструктурата на компании JD, Meituan и Xiaohongshu).
- Възможност за промяна на схемата за съхранение и обновление на данни без спиране или влияние на извършваните операции.
- Поддръжка на TTL за ограничаване на времето на живот на данните.
- Команди за управление на настройките и хостовете за съхранение.
- Инструменти за управление на задачи и планиране на стартиране на задачи (в момента се поддържат COMPACT и FLUSH).
- Операции за търсене на най-краткия път и пълен път между зададени върхове.
- OLAP интерфейс за интеграция с външни аналитични платформи.
- Утилити за внос на данни от CSV файлове или от Spark.
- Експорт на метрики за мониторинг с помощта на Prometheus и Grafana.
- Web интерфейс
за визуализиране на операции с графа, навигация в графа, проектиране на схема за съхранение и зареждане на данни.
Източник: opennet.ru
