首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测量社区版的neo4j数据库大小?

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

Stack Overflow用户
提问于 2013-07-02 05:23:32
回答 3查看 4K关注 0票数 2

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

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2013-07-02 05:53:12

你的意思是:

Neo4j社区版不提供转储

企业版也没有提供类似的功能。您是否在寻找关于原始磁盘或节点/关系计数方面的数据库大小的统计信息?

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

If Node/Relationship:您必须编写Java代码来实际计算真实大小,因为Web控制台上的计数并不总是正确的。您还可以通过获取磁盘上的纯大小并除以9(对于节点存储)和33 (对于关系存储)进行基本计数。

Java代码将如下所示:

代码语言:javascript
复制
    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 Console并不总是正确的,因为它检查文件中的最高值,而Neo4j使用节点的删除标记,因此可能存在一系列“已删除”节点,从而增加可用的总节点数。最终,neo4j将压缩并删除这些节点,但它们不会实时完成。

文件大小可能存在的原因同上。唯一正确的方法是遍历所有节点和关系,以检查"isActive“标记。

票数 2
EN

Stack Overflow用户

发布于 2016-02-06 03:22:09

以字节为单位查看数据库大小的一些方法:

代码语言:javascript
复制
du -sh {$NEO4J_HOME}/data/graph.db

在仪表板中:

代码语言:javascript
复制
http://localhost:7474/webadmin/

并查看“数据库磁盘使用情况”指示器。

仪表板上的‘'Server’:

代码语言:javascript
复制
http://localhost:7474/webadmin/#/info/org.neo4j/Store%20file%20sizes/

并查看“TotalStoreSize”行。

最后是数据库抽屉;向下滚动,查看“数据库”部分。

票数 1
EN

Stack Overflow用户

发布于 2016-02-12 04:02:15

您可以使用Cypher获取节点数:

代码语言:javascript
复制
MATCH ()
RETURN COUNT(*) AS node_count;

以及关系的数量:

代码语言:javascript
复制
MATCH ()-->()
RETURN COUNT(*) AS rel_count;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17413946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档