пуск на отворена СУБД , предназначена за ефективно съхранение на големи набори от свързани данни, образуващи граф, който може да съдържа милиарди възли и трилиони връзки. Проектът е написан на C++ и под лиценза Apache 2.0. Клиентските библиотеки за взаимодействие със СУБД са подготвени за езиците Go, Python и Java. Развиващият СУБД стартап VESoft преди няколко дни пристигна с първия транш инвестиции в размер на 8 милиона долара.
В СУБД разпределена архитектура без споделяне на ресурси (shared-nothing), предполагаща стартиране на независими и самодостатъчни процеси за обработка на заявки graphd и процеси за съхранение storaged. Оркестрацията на преместването на данни и предоставянето на мета-информация за графа се извършва от мета-сервиз. За осигуряване на последователността на данните се използва протокол, базиран на алгоритъма .
Основни характеристики на 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
