重大删除操作后Neo4J存储大小增加

问题描述:

我在Docker中使用Neo4J。尽管进行了重大的删除操作,图形的商店大小似乎增加了。重大删除操作后Neo4J存储大小增加

如果有人能告诉我这是为什么,我将不胜感激。谢谢!

+0

你如何执行删除? 'cypher'标签建议您使用Cypher,这是否正确? –

+0

所以我试图删除所有未连接的节点。所以这是我用的: 'MATCH(n)WHERE size((n) - ())= 0 DETACH DELETE n;' –

+0

你如何计算商店的大小?你在计算交易日志吗? – logisima

它来自Neo4j如何存储数据。

有一个节点存储(即一个文件),每个节点的大小都是固定的。所以当你删除一个节点时,文件中相应的记录被清除,但文件仍然具有相同的大小。

经过一段时间,Neo4j可以重复使用这个节点的ID,以避免有一个大的'空'文件。

因此,您的数据存储大小不会存在是正常的。此外,每当您对数据执行操作(创建,更新或删除)时,修改都会保存到事务日志中。

这就是为什么您的数据存储大小增加。

您可以配置此日志保留策略,并且默认保留最后X天的所有事务(我不记得该数字)。 干杯

+0

谢谢,这是否意味着增加的大小只是由于事务日志? –

+0

就你而言,是的,我认为。你可以通过做同样的事情来检查它,但是当你计算商店大小时不要照顾'neostore.transaction.X'文件 – logisima