какую графовую базу данных использовать

Существуют ли графовые базы данных с открытым исходным кодом, которые могут хранить двоичные данные, масштабироваться по горизонтали и, при необходимости, обеспечивать управление версиями хранимых данных?

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


person trajectory    schedule 07.09.2011    source источник


Ответы (4)


Требования к бинарному хранилищу, горизонтальному масштабу и управлению версиями выглядят как хорошие кандидаты для модели BigTable, такой как Cassandra или HBase. Однако, если вам действительно нужна графовая база данных, она может не подойти. Если вы можете немного подробнее рассказать о требованиях, мы могли бы сделать лучшее предложение.

person Chris Shain    schedule 08.09.2011
comment
Мы ищем файловую систему, в которой узлы связаны традиционными отношениями родитель-потомок, но также могут иметь ссылки (ребра) на другие узлы, содержащие другую семантическую информацию. В настоящее время это делается с помощью Subversion (которая прекрасно обрабатывает двоичное хранилище, горизонтальное масштабирование и управление версиями), но, поскольку она напоминает традиционную файловую систему, мы не можем добавлять несколько ссылок, указывающих на другие файлы. - person trajectory; 08.09.2011
comment
Вы можете попробовать neo4j.org, примеры некоторых доменов см. на wiki.neo4j.org/content/Domain_Modeling_Gallery или docs.neo4j.org/chunked/snapshot - person Peter Neubauer; 13.09.2011

Посмотрите на OrientDB: с открытым исходным кодом (лицензия Apache 2), очень быстро. Поддерживает SQL и графический язык GREMLIN.

person Lvca    schedule 08.09.2011

[http://en.wikipedia.org/wiki/NoSQL][1]

Например:

InfiniteGraph — высокопроизводительная масштабируемая распределенная база данных графов

person Viller    schedule 07.09.2011

Горизонтальное масштабирование, посмотрите на Titan (под ним используется Cassandra): домашняя страница Titan, видео презентации Титана

Для управления версиями графа (если это то, что вам действительно нужно) вы можете попробовать использовать Antiquity поверх хранилища графов.

С сайта Титана:

Titan — это высокомасштабируемая база данных графов, оптимизированная для хранения и обработки крупномасштабных графов, содержащих сотни миллиардов вершин и ребер, распределенных по многомашинному кластеру. Titan — это транзакционная база данных, которая может поддерживать тысячи одновременных пользователей, выполняющих сложные обходы графа.

Кроме того, Титан предоставляет следующие возможности:

  • Эластичная и линейная масштабируемость для растущей базы данных и пользователей.
  • Распределение и репликация данных для повышения производительности и отказоустойчивости.
  • Высокая доступность нескольких центров обработки данных и горячее резервное копирование.
  • Поддержка ACID и возможной согласованности.
  • Support for various storage backends:
    • Apache Cassandra
    • Apache HBase
    • Oracle БерклиБД
  • Support for geo, numeric range, and full-text search via:
    • ElasticSearch
    • Апач Люсен
  • Native integration with the TinkerPop graph stack:
    • Gremlin graph query language
    • Преобразователь объектов Frames в графы
    • Графический сервер Rexster
    • API стандартного графа Blueprints
  • Открытый исходный код с либеральной лицензией Apache 2.-
person Antony Stubbs    schedule 31.05.2013