Neo4j에서 노드 당 데이터 양


14

Neo4j에서 노드 당 상당한 양의 데이터를 저장해야합니다. 데이터는 유니 코드 텍스트 덩어리입니다. 실제로 모든 노드에 큰 덩어리가있는 것은 아니지만 많은 노드가 있습니다.

나는 문서를 다루었지만 노드 크기에 대한 언급을 찾지 못했습니다 – 단일 노드가 포함 할 수있는 데이터의 양.

누구든지 어떤 아이디어가 있습니까?


당신의 덩어리는 일반적으로 얼마나 큽니까? 스토리지에있는 문자열 블록의 수를 적당한 수준으로 유지하고 절반 만 채워진 블록에 너무 많은 공간을 낭비하지 않도록 적절한 string_block_size를 찾아야합니다. 데이터는 어떻게 사용됩니까? 방금 렌더링했거나 다른 방법으로 쿼리 / 처리 했습니까? 공간을 절약 해야하는 경우 압축 + 스토리지를 바이트 배열로 사용할 수 있습니다.
Michael Hunger 5

답변:


13

궁극적으로 시스템의 아키텍처에 따라 다릅니다.


(배경) 노드는 속성에 데이터 만 저장할 수 있습니다. 해당 속성은 키-값 저장소를 사용하여 저장됩니다. ( 여기 당 )

각 속성의 값은 Java 기본 체 (int, float 등), 문자열 및 기본 요소 / 문자열의 배열로 제한됩니다.

따라서 특정 속성 이 보유 할 수 있는 최대 데이터 양은 문자열의 최대 크기 또는 문자열 배열의 최대 크기 ( 노드 당 )로 제한됩니다. 이 제한 (32 비트 시스템)은 4GB입니다. (이는 2-3GB로 제한 될 수 있습니다 .)

(또한이 말을하면 이전에 문자열 크기가 1MB로 제한된 버그가있었습니다 . 이것이 해결 될 것으로 기대합니다.)

물론 이것은 여러 속성이 노드 당 4GB 이상을 저장할 수 있는지에 대한 문제를 제기합니다. 속성 목록은 기본적으로 키-값 저장소이므로 최대 크기는 디스크 공간과 키 선택에 의해 제한 될 것으로 예상됩니다. 그러나 이것을 뒷받침하거나 거부 할 것이 없습니다.


그것은 확실하게 귀하의 질문에 대답 하지는 않지만 , 내가 이해 한 것에서 노드 당 많은 양의 데이터를 디스크 공간 용량까지 저장할 수 있어야합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.