Сценарий: простая адресная книга, в которой пользователь может создавать свои собственные контакты и организовывать их, добавляя их группами. Контакт может иметь несколько адресов.Схема схемы схемы базы данных - подходит ли она для neo4j?
Я создал следующую схему: [схема-дизайн] [1]
Я хочу, чтобы запросить все контакты, которые размещены в группе х и жить в стране у.
Этот дизайн схемы достаточно хорош для этих целей (я хочу использовать базу данных neo4j)?
Спасибо! Я ценю это. – Moody
Кстати, Стефан, вы случайно имеете какое-либо сравнение статистических данных о том, насколько плотные узлы влияют на производительность в таких случаях? Скажем, у меня есть ~ 20K узлов с свойством 'Prop' (возможно, также проиндексировано на нем), и я запрашиваю DB только для того, чтобы найти все узлы, которые имеют' Prop', а затем фильтруют конкретное значение 'Prop' (количество возможных значений Prop довольно мало: я могу перечислить их всех (скажем, 1000 возможных значений)). Было бы лучше, если бы я создал ярлык «Prop» и создал для него отношения 20K? Какой был бы лучший выбор по производительности? – tkroman
вам необходимо знать, что вы можете столкнуться с проблемами блокировки, если одновременно подключаете много адресов к одной стране. Создание отношения означает также блокировку его начального и конечного узлов. Однако вы можете легко обойти это, имея пару «стыковочных узлов» по всей стране. Затем адрес выбирает один стыковочный узел, например. путем последовательного хеширования по идентификатору потока - это предотвращает проблемы с блокировкой. На стороне запроса у меня нет доступных измерений. –