2

Neo4j Community エディションではダンプが提供されないことを理解しています。基礎となる Neo4j データベースのサイズを測定する最良の方法は何ですか? du を実行すると、適切な見積もりが得られますか?

ありがとうございました。

4

3 に答える 3

2

どう言う意味ですか:

Neo4j Community エディションはダンプを提供しません

Enterprise エディションでも、このような機能は提供されません。raw ディスクまたはノード/関係の数に関する DB のサイズに関する統計をお探しですか?

ディスクの場合: du -shLinux で使用するか、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」マーカーを確認することです。

于 2013-07-01T21:53:12.410 に答える
0

Cypher を使用してノード数を取得できます。

MATCH ()
RETURN COUNT(*) AS node_count;

および関係の数:

MATCH ()-->()
RETURN COUNT(*) AS rel_count;
于 2016-02-11T20:02:15.333 に答える