Первый стабильный выпуск графо-ориентированной СУБД Nebula Graph
23 июня 2020 года
Состоялся релиз открытой СУБД Nebula Graph 1.0.0, предназначенной для эффективного хранения крупных наборов связанных между собой данных, образующих граф, который может насчитывать миллиарды узлов и триллионы связей. Проект написан на языке С++ и распространяется под лицензией Apache 2.0. Клиентские библиотеки для обращения к СУБД подготовлены для языков Go, Python и Java. Развивающий СУБД стартап VESoft несколько дней назад получил (Архивная копия от 15 июня 2020 на Wayback Machine) первый транш инвестиций в размере 8 млн долларов.
В СУБД применяется распределённая архитектура без разделения ресурсов (shared-nothing), подразумевающая запуск независимых и самодостаточных процессов обработки запросов graphd и процессов хранения storaged. Оркестровкой перемещения данных и предоставлением мета-информации о графе занимаются мета-сервис. Для обеспечения согласованности данных используется протокол на базе алгоритма RAFT.
Основные особенности Nebula Graph:
- Обеспечение безопасности через предоставление доступа только аутентифицированным пользователям, полномочия которых задаются через систему управления доступа на основе ролей (RBAC).
- Возможность подключения разных типов движков хранения. Поддержка расширения языка формирования запросов новыми алгоритмами.
- Обеспечение минимальных задержек при чтении или записи данных и поддержание высокой пропускной способности. При тестировании (Архивная копия от 15 июня 2020 на Wayback Machine) в кластере из одного узла 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-интерфейс Nebula Graph Studio для визуализации операций с графом, навигации по графу, проектирования схемы хранения и загрузки данных.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.