Интересно, почему у neo4j есть Ограничение емкости на узлах и отношениях. Предел для узлов и отношений равен 2 ^ 35 1, который является "маленьким" битом, а не "нормальным" 2 ^ 32 целым числом. Обычные базы данных SQL, например mysql, хранят там первичный ключ как int (2 ^ 32) или bigint (2 ^ 64) 2. Можете ли вы объяснить мне преимущества этого решения? По-моему, это ключевая точка принятия решения при выборе базы данных.
Почему существует ограничение емкости на узлах и отношениях в neo4j?
Ответ 1
Это искусственный предел. Они собираются удалить его в не слишком отдаленном будущем, хотя я не слышал официального ETA.
Достаточно часто вы сталкиваетесь с ограничениями оборудования на одной машине, прежде чем на самом деле нажмете этот предел.
Текущая опция - вручную перерисовать графики на разных машинах. Не подходит для некоторых случаев использования, но работает в других случаях. В будущем у них будет возможность автоматически очертить данные - нет ETA на этом.
Обновление: Я узнал немного больше о внутренних компонентах neo4j. Причина, по которой эти ограничения являются предельными, заключается в том, что номера идентификаторов хранятся на диске в виде указателей в нескольких местах (node записи, записи отношений и т.д.). Чтобы увеличить его на другую мощность 2, им нужно увеличить 1 байт за node и 1 байт за связь - он в настоящее время упакован, насколько он будет, без необходимости использовать больше байтов на диске. Узнайте больше в этом замечательном сообщении в блоге: http://digitalstain.blogspot.com/2010/10/neo4j-internals-file-storage.html
Обновление 2:
Я слышал, что в 2.1 они будут увеличивать эти пределы примерно на другой порядок выше, чем в настоящее время.
Ответ 2
Как и в neo4j 3.0, все эти ограничения удаляются.
Сжатие динамического указателя при необходимости расширяет доступное адресное пространство Neo4js, что позволяет хранить графики любого размера. Правильно: не более 34 миллиардов node пределов!
Для получения дополнительной информации посетите http://neo4j.com/blog/neo4j-3-0-massive-scale-developer-productivity.