Функциональность базы данных графиков - PullRequest
0 голосов
/ 27 марта 2011

Недавно я узнал о графовых базах данных. Я читал, что эти базы данных имеют ограниченную аналитику.Я прочитал это здесь http://www.readwriteweb.com/enterprise/2009/02/is-the-relational-database-doomedp2.php «Такие вещи, как отслеживание шаблонов использования и предоставление рекомендаций на основе истории пользователей, в лучшем случае могут быть трудными, а в худшем - невозможными для платформы такого типа».

1 Я не могу понять, почему эта аналитика здесь ограничена?

2 Как этот график базы данных можно использовать для архивирования, например, Facebook, который сохраняет все сообщения миллионами пользователей.Как это можно сделать в базе данных графа?

1 Ответ

2 голосов
/ 27 марта 2011

если вы примените строгую модель графа свойств, вы обнаружите, что у вас есть отличные «локальные данные» операции, такие как исследование окружающих данных, скажем, 5 прыжков в глубину по взаимосвязям.Однако глобальные операции, такие как «дать мне все узлы, у которых атрибут имени имеет значение« Tom * »», требуют в графовой модели полное сканирование данных.Это теоретически предел.На практике (как в http://neo4j.org) графический движок объединяется с глобальными индексами, такими как Lucene, BerkelyDB или Cassandra, которые могут позаботиться о такого рода глобальных аспектах данных, которые часто используются в определенных аналитических сценариях.

Таким образом, нет никаких реальных ограничений, просто есть другой способ и различные шаблоны для работы с глобальными и локальными операциями с вашими данными. См. http://wiki.neo4j.org/content/Domain_Modeling_Gallery для некоторых примеров моделирования областей в графах или даже для примеров ГИС, таких какhttps://github.com/neo4j/neo4j-spatial/raw/master/src/site/pics/one-street.png на графике Open Street Map.

Для архивирования огромных объемов данных, таких как Facebook, я бы сохранял, скажем, последний месяц или около того обновления статуса для быстрого поиска и рекомендации в виде графика.Остальное я бы заархивировал в таких решениях, как Cassandra, и просто указал на графике ссылку и ключевые метрики архива о том, как извлечь этот «заархивированный подграф», если это необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...