neo4j - 如何测量社区版的neo4j数据库大小?

标签 neo4j

我知道 Neo4j 社区版不提供转储。衡量底层 Neo4j 数据库大小的最佳方法是什么?做 du 会提供一个很好的估计吗?

谢谢。

最佳答案

你是什​​么意思:

the Neo4j Community edition does not provide a dump



企业版也不提供这样的东西。您是否正在寻找有关原始磁盘或节点/关系计数方面的数据库大小的统计信息?

如果磁盘:使用 du -sh在 linux 上,或在 Windows 上检查文件夹。

如果节点/关系:您必须编写 Java 代码来实际评估真实大小,因为 Web 控制台上的计数并不总是正确的。您还可以通过获取磁盘上的纯大小并除以节点存储的 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”标记。

关于neo4j - 如何测量社区版的neo4j数据库大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17413946/

相关文章:

neo4j - 计算具有特定属性的节点数

curl - 尝试 curl Neo4j 时必须提供查询参数

elasticsearch - 在 neo4j 和 Elasticsearch 之间共享数据

python - Lucene 或 Python : Select both "Hilary Clinton" and "Clinton, Hilary" name entries

java - 使用 java/scala API 进行 Neo4j lucene 搜索

neo4j - Neo4j 中的左连接似乎不起作用

java - Node 不会持久化到 Neo4j

python - 如何为 neo4j 配置 django settings.py?

java - 通过 Rest 的 Cypher 请求返回 400 Bad Request,为什么?

neo4j - 在 Neo4j 中表示(和增加)关系强度