知识库

使用 ACTUAL 数据类型与 neo4j-import

使用 neo4j-admin import 导入数据时,请务必在继续操作之前查看所需的 CSV 文件结构和注意事项。

ACTUAL 与字符串(默认)或整数

CSV 中的每个节点都必须具有 :ID,其格式可以是 整数字符串ACTUAL。默认情况下为 字符串,并且可以在标题中显式指定 整数。但是,实际上,从性能和内存的角度来看,两者大致相同,使用默认值是可以的。

使用整数或字符串比使用 ACTUAL 更占用内存,因此您可能会倾向于选择该选项。但是,除非您有特定的用例,否则这通常不是最佳选择。

什么是 ACTUAL,为什么它很特殊?

ACTUAL 指的是实际的节点 ID,在 Neo4j 中,这意味着该记录在磁盘上的实际位置。在 neo4j-import 中使用 ACTUAL 时,所有 :ID 都必须按顺序排列,并且在加载过程中必须跨所有正在导入的 CSV 文件按顺序排列。这通常难以实现,尤其是在现有的、相当大且复杂的数据库中。

假设您已对所有要导入的 CSV 文件中的所有节点进行了排序,您还必须考虑这些 ID 中是否存在间隙。任何间隙都会在磁盘上产生我们不会使用该区域进行存储的位置,并且可能会减少您可用于图数据存储的存储空间。

最后,避免对 ACTUAL 使用大型 ID,因为这会大大增加存储文件的大小,出于显而易见的原因,应避免这种情况。

要点总结

如果您使用低、连续、有序的 :IDACTUAL 应该可以正常工作,但它确实需要了解内部存储架构,并且在跨 CSV 文件保持所有节点顺序方面可能具有挑战性。

neo4j-admin import 用于填充新的空数据库。它不能用于导入到现有数据库中。