将数据从Neo4j迁移到SQL
您好,我在应用程序中使用neo4j,我的结构如下:将数据从Neo4j迁移到SQL,neo4j,data-migration,Neo4j,Data Migration,您好,我在应用程序中使用neo4j,我的结构如下: 我正在使用嵌入式图形API 我有几个数据库,我指的是使用我在应用程序中维护的池eg->db1、db2、db3。。。。。db100 当我想访问一个特定的数据库时,我使用新的EmbeddedGraphDatabase(“db(n)的路径)”指向它。 问题是,当连接池计数增加时,应用程序所消耗的RAM大小将持续增加,并且会在某个限制点使应用程序崩溃 因此,我正在考虑从Neo4j迁移到其他数据库 此外,我的数据库中只有一小部分使用了图形结构 迁移的一种
提前感谢。嵌入式GraphDatabase实例并不等同于SQL中的“连接”。它的设计可以运行很长时间(天、月)。因此,启动/停止成本高昂
在同一JVM中拥有数百个独立数据库的用例是什么?由于graphdb设计用于在单个主机上保存整个数据模型,因此许多小型数据库的性能会很差 您是否为每个数据库运行一个JVM 您可以通过为内存映射提供正确的属性来控制neo4j使用的内存量,还可以使用neo4j enterprise的gcr缓存并控制缓存大小属性变量
我认为将图形部分保留在Neo4j中,而只移动非图形部分仍然是有意义的。尝试通过graphML导出/导入gremling xml。我用这个和一些编程将SQL数据导入neo4j。这里有一个导入链接,但我相信你可以在小精灵手册中找到导出命令:介意我处理#4吗?RAM大小的增加很可能与Neo4j创建的缓存有关。如果不希望RAM大小增加,您是否尝试过在neo4j.properties中关闭缓存?@Nicholas-但这会降低性能。。。对吗?嗨,马蒂亚斯,谢谢你的回答。我知道EmbeddedGraphDatabase实例被设计为运行更长的时间,这只是失败的原因。用例就像我们为每个客户维护一个单独的层次结构(一种银行),但是结构在设计上更加清晰。此外,每个客户机都可以维护自己的层次结构。是否所有客户机都可以位于同一个数据库中,并且每个客户机都有各自的根节点?但索引将是全局的。。。但他们的结果可以根据客户进行筛选。是的,这是可以做到的,但仍然需要对近1000个客户进行大量重组和数据迁移:(…所以实际上没有迁移那么乏味嗨,Michael,谢谢你的回答。我使用了一个JVM实例来实例化所有我有一个节约层的数据库。