Quantidade de dados por nó no Neo4j

14

Preciso armazenar quantidades substanciais de dados por nó no Neo4j. Os dados são pedaços de texto Unicode. Na verdade, nem todos os nós terão grandes pedaços, mas muitos terão.

Percorri a documentação, mas não encontrei nenhuma menção ao tamanho do nó - a quantidade de dados que um único nó pode conter.

Alguém tem alguma ideia?

codificador de árvore
fonte
Qual é o tamanho dos seus pedaços em geral? Você deve encontrar um string_block_size adequado para manter o número de blocos de strings no armazenamento em um nível razoável, além de não desperdiçar muito espaço em apenas blocos meio preenchidos. Como os dados serão usados? Apenas processado ou também consultado / processado de outra forma? Se você precisar economizar espaço, compactação + armazenamento como matriz de bytes pode ser uma opção.
Michael Hunger

Respostas:

13

Por fim, depende da arquitetura que sua máquina possui.


(em segundo plano) Os nós podem armazenar apenas dados em suas propriedades. Suas propriedades são armazenadas usando um armazenamento de valores-chave. (por aqui )

O valor em cada propriedade é limitado a primitivas Java (entradas, flutuadores, etc.), cadeias e matrizes de primitivas / cadeias.

Portanto, a quantidade máxima de dados que uma determinada propriedade pode conter seria limitada ao tamanho máximo de uma string ou ao tamanho máximo de uma matriz de strings (que é por nó ). Esse limite (para máquinas de 32 bits) é de 4 GB. (Observe que isso pode estar limitado a 2-3 GB .)

(Além disso, tendo dito isso, havia um erro anteriormente que limitava o tamanho da string a 1 MB . Espero que isso seja resolvido.)

Obviamente, isso levanta a questão de saber se várias propriedades podem armazenar mais de 4 GB por nó. Como a lista de propriedades é essencialmente um armazenamento de valores-chave, seria de esperar que o tamanho máximo fosse limitado pelo espaço em disco e pela seleção de chaves. Não consigo encontrar nada para apoiar ou negar isso, no entanto.


Isso não responde definitivamente à sua pergunta, mas, pelo que entendi, você deve poder armazenar grandes quantidades de dados por nó (até a capacidade de espaço em disco).

Richard
fonte