Графовая база данных, которая поддерживает эффективную сортировку и / или поиск диапазона - PullRequest
2 голосов
/ 07 июля 2011

Используя модель данных Twitter в качестве примера:

Пользователь A подписан на N других пользователей, каждый из которых опубликовал N разных сообщений. Сообщения имеют метки времени.

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

Лучше всего, чтобы записи сохранялись в порядке сортировки (например, Cassandra ColumnFamily или Redis ZSET).

Кроме того, крайне важна возможность разделения данных на разных компьютерах.

Ответы [ 2 ]

1 голос
/ 07 июля 2011

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

1 голос
/ 07 июля 2011

Вариант для вас может быть ... Базы данных RDF (тройные хранилища AKA / квадраторы) и попробуйте SPARQL для запроса графиков и получения подграфов из ваших данных. См. Также SPARQL, пример .

Тот, который масштабируется до миллиардов троек или четверок, - это 4store , он написан на C и позволяет разделять данные по сегментам. Он использует большинство товарных кластеров или многоядерных архитектур. Существует широкий спектр клиентских библиотек для взаимодействия с ним: Java, Perl, Python, ...

...