Как графические базы данных могут масштабироваться горизонтально, если это вообще возможно? - PullRequest
12 голосов
/ 20 июля 2011

Я понимаю, что с базами данных ключ-значение, документ и семейство столбцов можно масштабировать с помощью комбинаций репликации и сегментирования в пространстве ключей. Но с обычными графовыми операциями, такими как кратчайший путь и т. Д., Похоже, что на самом деле они не приносят никакой пользы от репликации ... и я не могу понять, как вы могли бы осколить графическую базу данных, не найдя независимый подграф (очень сложно ).

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

Ответы [ 4 ]

4 голосов
/ 21 июля 2011

Репликация может быть полезна для любой базы данных - она ​​просто создает несколько копий данных, поэтому вы можете обслуживать больше запросов, чем может обработать один сервер.

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

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

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

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

2 голосов
/ 21 июля 2011

Neo4j поддерживает шардинг и пытается решить проблемы с шардингом. Пожалуйста, посмотрите на http://jim.webber.name/2011/02/16/3b8f4b3d-c884-4fba-ae6b-7b75a191fa22.aspx

1 голос
/ 01 мая 2013

GoldenOrb был концепцией, целью которой было создание горизонтально масштабируемой базы данных графов.Он был выпущен как открытый исходный код, но проект, похоже, сейчас мертв (ссылка на GitHub отсутствует).Он был основан на Hadoop.

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

Итак, в целом, ответ на эту дату «нет», не полностью.

Исходный веб-сайт, на котором размещен проект, выглядит так: http://goldenorbos.org

0 голосов
/ 27 июля 2013

Проверьте http://thinkaurelius.com/

Для Titan они используют Cassandra, HBase или BerkeleyDB в качестве резервного хранилища, что по своим характеристикам соответствует масштабируемости магазина.

...