Neo4jのノードごとのデータ量


14

Neo4jでは、ノードごとに大量のデータを保存する必要があります。データはテキストのUnicodeチャンクです。実際、すべてのノードに大きなチャンクがあるわけではありませんが、それらの多くには大きなチャンクがあります。

ドキュメントを探しましたが、ノードサイズ(単一ノードに含めることができるデータの量)に関する言及は見つかりませんでした。

誰にもアイデアはありますか?


一般的にあなたのチャンクはどれくらいの大きさですか?適切なstring_block_sizeを見つけて、ストレージ内の文字列ブロックの数を適切なレベルに抑え、半分だけ埋められたブロックだけでスペースを無駄にしないようにしてください。データはどのように使用されますか?別の方法でレンダリングまたはクエリ/処理されましたか?スペースを節約する必要がある場合、圧縮+バイト配列としてのストレージがオプションになります。
マイケルハンガー

回答:


13

最終的には、マシンのアーキテクチャに依存します。


(バックグラウンド)ノードは、プロパティにデータのみを保存できます。それらのプロパティは、キーと値のストアを使用して保存されます。(ここごと

各プロパティの値は、Javaプリミティブ(int、floatなど)、文字列、およびプリミティブ/文字列の配列に制限されています。

したがって、特定のプロパティが保持できるデータの最大量は、文字列の最大サイズまたは文字列の配列の最大サイズ(ノードごと)に制限されます。この制限(32ビットマシンの場合)は4GBです。(これは2〜3 GBに制限される場合があることに注意してください。)

(また、これを言って、文字列サイズを1 MBに制限するバグが以前にありました。これは解決されると思います。)

もちろん、これにより、複数のプロパティがノードごとに4GB以上を格納できるかどうかという問題が生じます。プロパティリストは本質的にキーと値のストアであるため、最大サイズはディスク領域とキーの選択によって制限されると予想されます。ただし、これをサポートまたは拒否するものは見つかりません。


それはしません決定的にあなたの質問に答えるが、私が理解から、あなたは保存することができなければならない(ディスクスペースの容量まで)ノードあたりのデータ量を。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.