если вы примените строгую модель графа свойств, вы обнаружите, что у вас есть отличные «локальные данные» операции, такие как исследование окружающих данных, скажем, 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, и просто указал на графике ссылку и ключевые метрики архива о том, как извлечь этот «заархивированный подграф», если это необходимо.