The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Первый стабильный выпуск графо-ориентированной СУБД Nebula Graph

23.06.2020 23:07

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

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

Основные особенности 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-интерфейс Nebula Graph Studio для визуализации операций с графом, навигации по графу, проектирования схемы хранения и загрузки данных.


  1. Главная ссылка к новости (https://github.com/vesoft-inc/...)
  2. OpenNews: Новая версия СУБД ArangoDB 3.6
  3. OpenNews: СУБД CockroachDB переходит на несвободную лицензию
  4. OpenNews: Релиз СУБД Neo4j 1.3, ориентированной на хранение графов
  5. OpenNews: Выпуск СУБД OrientDB 2.2
  6. OpenNews: Доступна распределённая графо-ориентированная СУБД Dgraph 0.4
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/53222-nebula
Ключевые слова: nebula, graph, database
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (41) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 00:06, 24/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно. Может быть пригодится
     
     
  • 2.2, kai3341 (ok), 01:11, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, весьма прикольно. Графовых БД то раз-два -- и обчёлся
     
     
  • 3.6, лютый жабби__ (?), 09:10, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Графовых БД то раз-два -- и обчёлся

    Одна путняя, но её и хватает в 99% случаев.

    Сишных поделок много, но все застревают на этапе "о, почти работает"... ориентдб в таком статусе уже много лет находится.

     
     
  • 4.14, К (?), 12:19, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Подскажите пожалйста, как называется та самая путняя?
     
     
  • 5.15, Аноним (15), 12:27, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Возможно что Neo4j, как самая известная
     
     
  • 6.34, лютый жабби__ (?), 13:00, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >как самая известная

    neo4j не то чтобы самая известная, а самая лучшая (если не считать поддержки, по крайней мере бесплатной)

     
  • 5.41, Аноним (41), 09:46, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    arangodb
     
  • 4.25, Аноним (25), 16:28, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >ориентдб

    адский глюкодром на жабе

     

  • 1.3, Аноним (3), 01:19, 24/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    master-master репликацию когда ждать?
     
     
  • 2.8, Аноним (8), 09:42, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +26 +/
    > master-master репликацию когда ждать?

    Никогда. Только main-main. Ну или primary-primary на худой конец.

     
     
  • 3.28, Аноним (28), 20:50, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Оставьте свои sjw шуточки при себе. У нас тут только уважаемые люди. Ну кроме ipony.
     

  • 1.4, Lex (??), 04:02, 24/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >уже используется в инфраструктуре компаний JD, Meituan и Xiaohongshu

    Неужто это чисто китайское поделие ?

    А, таки да:
    > HANGZHOU, China – June 15, 2020 – VEsoft Inc., the developer of the Nebula Graph™ database, today announced it raised $8M in a series pre-A funding round. The lead investor is Redpoint China Ventures. Matrix Partners China, who previously contributed as an angel investor, also contributed to this series pre-A round.

     
     
  • 2.30, mail (?), 05:33, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    у них еще и за комментарии в коде расстреливают.
     
  • 2.40, mail (?), 00:55, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ka-to tak https://www.linkedin.com/company/vesoft-nebula-graph/people/
     

  • 1.5, Аноним (5), 08:55, 24/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Круто!
    Но сколько не искал, так и не нашел для чего и зачем? Кроме общих фраз, типа "Графовая модель данных" или "для быстрой обработки больших объемов... неивестно чего". Может кто-нибудь внятно объяснить где на практике оно используется и, главное, ПОЧЕМУ?
     
     
  • 2.7, лютый жабби__ (?), 09:11, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Но сколько не искал, так и не нашел для чего и зачем

    Непонятно зачем графовая субд? )) Быстро искать по графу, разве не очевидно?

     
  • 2.9, Антон (??), 09:47, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Мое мнение: изначально субд проектировались как древовидные либо граф 70-80 годы. Но впоследствии оказалось что есть проблема с избыточностью (дублирование информации). Дисковое пространство измерялось в Мб. Перешли на реляционные (связанные таблицы). Первая была оракл конец 80-х. Но, как быстро найти запись в таблице? Сделали индексы. Т.е. реляционные + индексы, это типо компромисс между производительностью и избыточностью информации. Но на практике (моей) индексы, занимают иногда такой же объем информации (это как бы отсортированные данные). А сейчас дисковое пространство можно измерить террабайтами. В некоторых случаях когда нужно добиться самой быстрой производительности выбор будет графовая модель. Например, возможно и не удачный, глобальный телефонный справочник. Либо в математических расчетах. Может быть блокчейн, когда можно не считать - тратить время, а значение взять из базы...
     
     
  • 3.10, Урри (?), 10:05, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Неудачный. Ибо оба примера из NoSQL.

    Графовый пример - хранение векторной карты в виде "улица-улица-проулок-улица".

     
     
  • 4.11, Антон (??), 10:17, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вот можно почитать https://aws.amazon.com/ru/nosql/graph/
     
  • 4.16, Аноним (15), 12:28, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну так графовые СУБД входят в NoSQL-семейство
     
  • 3.18, YetAnotherOnanym (ok), 12:30, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > глобальный телефонный справочник

    С указанием кто, кого, где, как, куда и когда.

     
  • 3.31, 1 (??), 09:15, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не совсем так - первые БД были и не БД вовсе - а массивы, потом появились "ключ-значение". Сатем настала пора иерархических, а потом и сетевых (графоориентированных) - там главная проблема добыть нужные данные на нижних уровнях (для иерархических) - надо знать до них путь. Затем Кодд в межделмаше доказал, что реляционная модель позволяет полностью описать и реализовать хранение данных (индексы тут ни при чём). И все стали всё хранить в реляционных БД. "Языка SQL хватит всем !". А ещё были БД с инвентированными списками.

    Ну и теперь выяснилось, что реляционные базы, сами по себе ужасно неудобны, когда есть данные в миллионы строк и сотни тысяч связей.

    Как-то так.

     
     
  • 4.38, НамеНаме (?), 18:06, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Реляционные СУБД как были самими удобными для всего так и остаются. Остальное -- мечтания.
     
  • 2.13, helgi (??), 10:39, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Может для соц сетей и быстрого поиска связей?
     
     
  • 3.19, VladSh (?), 12:51, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Именно. Тов. майорам тоже нужно быстро инфу получать, за миллисекунды.
     
  • 3.39, НамеНаме (?), 18:20, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    "Графовая" СУБД это та же реляционная, только join влеплен в структуру данных.
     
  • 2.37, НамеНаме (?), 18:03, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ни для чего. Это такая "академическая отрыжка". Ни для чего не нужна.
     

  • 1.12, Богдан Помазан (?), 10:34, 24/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Очепятка: гарф -> граф
     
     
  • 2.20, A.Stahl (ok), 13:16, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Спасайся: миссис Горф уже дёрнула правым ухом и сейчас вот-вот дёрнет левым!
     

  • 1.17, dev (??), 12:30, 24/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    не холивара ради,
    а кто-нибудь с графами работал с RUST lang?
     
     
  • 2.21, Аноним (21), 13:54, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да.
     
     
  • 3.26, dev (??), 17:24, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    и много ли были потребности в unsave блоках?
    как вообще оцениваешь удобство работы? был ли бойлерплейт при работе с borrowchecker?
     
     
  • 4.36, petrg (ok), 14:44, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное зависит от представления. Если узлы это struct с указателями то скорее всего будет заморочено. Как множества вершин может быть проще.
    Вот тут можно поспрашивать https://users.rust-lang.org/
    Или не париться и взять бибоиотеку https://github.com/petgraph/petgraph
     
  • 2.24, Astral (??), 15:25, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Для этого существует замечательный крэйт petgraph https://github.com/petgraph/petgraph
     
     
  • 3.27, dev (??), 17:27, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    я замечал его, вопрос как с перформансом при работе с ним? работал ли ты с ним?
     
  • 3.33, dev (??), 23:27, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    тут кстати про графы хорошо написано
    https://aminb.gitbooks.io/rust-for-c/content/graphs/
     

  • 1.22, Аноним (22), 14:01, 24/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Чем оно отличается от сетевой субд?
     
     
  • 2.29, letsmac (ok), 23:20, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    30 годами развития. Больше ничем.
     

  • 1.23, Аноним (23), 14:29, 24/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >Проект написан на языке С++

    Годно.

     
     
  • 2.35, petrg (ok), 14:36, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пишут китайцы.

    Можете развеять мою предвзятость примерами.

     

  • 1.32, Аноним (32), 11:51, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Наджибулла, хаджибулла, небула.
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру