【问题标题】:Neo4j - Deleting of nodes now returns empty nodesNeo4j - 删除节点现在返回空节点
【发布时间】:2018-03-18 17:08:24
【问题描述】:

我删除了大约 400k 的节点,有点惊讶地发现磁盘空间没有显着减少。

我已经阅读了 neo4j 知识库上的 Understanding database growth article 并且可以理解为什么会这样。我还没有弄清楚你是否可以使用store-utils 来删除旧的已删除节点,而不用创建完整数据集的实际副本。

删除后,当我选择节点时,我现在在浏览器中得到奇怪的结果。

如您所见,我似乎找回了一些已删除的节点,它们只包含一个 id。显然这不是我想要的。

问题:

  • 有什么方法可以清除已删除的节点吗?
  • 为什么我会返回空节点?
  • 是使用 store-utils 还是可以从 /var/lib/neo4j/data/databases/graph.db/ 文件夹中手动删除 som 文件?

【问题讨论】:

    标签: neo4j diskspace purge


    【解决方案1】:

    Store-utils 复制数据库中的数据,忽略已删除的节点(或者更具体地说,内存中曾经指向节点但已被删除的区域)。我不相信有其他方法可以摆脱这些,当然除非你用新节点填充它们。你绝对不能简单地通过删除文件系统中的文件来删除它们,如果 Neo4j 会为你做到这一点那么容易。

    至于您的空节点问题,我认为这是分开的。听起来你可能有一个错误的查询来创建这些,通常它往往是使用 MERGE 的查询是错误的方式。这是understanding how MERGE works 上的知识库文章,可能会有所帮助。如果您无法在任何查询中识别出对 MERGE 的不当使用,那么您可能需要添加更多关于何时创建这些查询的详细信息,假设它们的数量会增加。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-04
      相关资源
      最近更新 更多