Neo4j Community エディションではダンプが提供されないことを理解しています。基礎となる Neo4j データベースのサイズを測定する最良の方法は何ですか? du を実行すると、適切な見積もりが得られますか?
ありがとうございました。
Neo4j Community エディションではダンプが提供されないことを理解しています。基礎となる Neo4j データベースのサイズを測定する最良の方法は何ですか? du を実行すると、適切な見積もりが得られますか?
ありがとうございました。
どう言う意味ですか:
Neo4j Community エディションはダンプを提供しません
Enterprise エディションでも、このような機能は提供されません。raw ディスクまたはノード/関係の数に関する DB のサイズに関する統計をお探しですか?
ディスクの場合: du -sh
Linux で使用するか、Windows のフォルダーを確認します。
Node/Relationship の場合: Web コンソールのカウントが常に正しいとは限らないため、Java コードを記述して実際のサイズを実際に評価する必要があります。ディスク上の純粋なサイズを取得し、ノード ストアの場合は 9 で割り、リレーションシップ ストアの場合は 33 で割り、基本的なカウントを行うこともできます。
Java コードは次のようになります。
long relationshipCounter = 0;
long nodeCounter = 0;
GlobalGraphOperations ggo = GlobalGraphOperations.at(db);
for (Node n : ggo.getAllNodes()) {
nodeCounter++;
try {
for (Relationship relationship : n.getRelationships()) {
relationshipCounter++;
}
} catch (Exception e) {
logger.error("Error with node: {}", n, e);
}
}
System.out.println("Number of Relationships: " + relationshipCounter);
System.out.println("Number of Nodes: " + nodeCounter);
Web コンソールが常に正しいとは限らない理由は、ファイルの最大値をチェックするためであり、Neo4j はノードに削除マーカーを使用するため、「削除された」ノードの範囲が存在し、ノードの合計数が増加する可能性があります。利用可能。最終的に、neo4j はこれらのノードを圧縮して削除しますが、リアルタイムでは実行しません。
ファイルサイズが嘘をつく理由は上記と同じです。唯一の真の方法は、すべてのノードと関係を調べて、「isActive」マーカーを確認することです。
Cypher を使用してノード数を取得できます。
MATCH ()
RETURN COUNT(*) AS node_count;
および関係の数:
MATCH ()-->()
RETURN COUNT(*) AS rel_count;