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

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

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

Ответ 1

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

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

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

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

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

Ответ 3

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

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

Таким образом, ответ на эту дату "нет", а не полностью.

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

Ответ 4

Отъезд http://thinkaurelius.com/

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