сколько данных я могу хранить на узел в Neo4j - PullRequest
7 голосов
/ 24 августа 2011

Мне нужно сохранить большие куски текстовых строк Unicode в узлах Neo4j. В документации ничего не говорится о размере данных, которые можно хранить для каждого узла.

Кто-нибудь знает это?

Ответы [ 3 ]

5 голосов
/ 15 января 2013

Я только что попробовал следующее с веб-интерфейсом neo4j:

Я написал строку из 26 символов и продублировал ее до 32000 строк, что в сумме составляет 832000 символов.

Я создал узел со свойством «текст» и скопировал в него свой текст, и он отлично работал.

Я повторил попытку с 64000 строк с пробелами в конце строк, всего 1728000 символов. Создал новый узел, затем запросил узел и скопировал результат обратно в файл, чтобы проверить размер (вы никогда не знаете), и wc дал мне 1728001 (один из них должен быть ошибкой в ​​процессе копирования / вставки, я полагаю).

Кажется, он не жаловался.

К вашему сведению, это эквивалентно тексту из 345600 слов со средним размером 4 и пробелом (5 символов), а также книге из 1000 страниц по 300 слов на странице.

Однако я не знаю, как это может повлиять на производительность, если будет слишком много узлов. Если это не работает из-за этого, вы всегда можете рассмотреть возможность использования neo4j для хранения информации о связях с идентификатором свойства в качестве идентификатора для другой ориентированной на документы базы данных для извлечения текста (или просто путем к файлу в качестве пути свойство).

4 голосов
/ 01 июля 2012

Neo4j по умолчанию индексируется с помощью Lucene. Lucene был построен как набор инструментов для полнотекстового поиска (с Solr, являющимся реализацией поисковой системы де-факто). Поскольку Lucene предназначался для поиска больших объемов текста, я подозреваю, что вы можете поместить в узел столько текста, сколько захотите, и он будет работать просто отлично.

0 голосов
/ 17 декабря 2011

Neo4j - очень хорошее решение для управления отношениями между объектами.Как вы уже знаете, эти отношения могут иметь свойства, а также сами узлы.Но я думаю, что вы не можете хранить «большой кусок» данных на этих узлах.Я думаю, что Neo4j был предназначен для использования с другой базой данных, такой как MongoDb или даже MySQL.Вы «действительно быстро» получаете информацию, которая вам сначала нужна, а затем ищите ее, используя другой движок.В моих проектах я храню имена пользователей, имена, дату рождения, идентификаторы и другую информацию, но не очень большие текстовые строки.

...