将数据从Neo4j迁移到SQL [英] Migrate Data from Neo4j to SQL
问题描述
我在应用程序中使用neo4j,其结构如下:
Hi I am using neo4j in my application and my structure is as following:
- 我正在使用嵌入式图 API
- 我有几个数据库,它们指向使用我在应用程序中维护的池 eg-> db1,db2,db3,... .. db100
- 当我想访问特定的数据库时,我使用 new EmbeddedGraphDatabase( Path to db(n)) 指向该数据库
- 问题在于,当连接池数量增加时,应用程序消耗的 RAM大小会保持增长,并且破坏应用程序达到极限。
- 所以我正在考虑从 Neo4j迁移到其他数据库。
- 另外我的数据库的一小部分正在使用图形结构。
- I am using Embedded Graph API
- I have several databases that I point to using a pool that I maintain in my application eg-> db1, db2, db3, ..... db100
- When I want to access a particular database I point to it using new EmbeddedGraphDatabase("Path to db(n)")
- The problem is that when the connection pool count increases the RAM size being consumed by the application keep increasing and breaks down the application at a point of limit.
- So I am Thinking of migrating from Neo4j to some other Database.
- Additionally only a small part of my database is utilizing the graph structure.
一种迁移方式是我为其编写脚本。还有更好的选择吗?
我的另一个问题是什么是最好的数据库,以便可以维护我的结构。
我正在考虑的其他观点是,我可以将部分数据保存到Neo4j中,并将另一部分移到其他数据库中。
如果不清楚,我可以澄清。
If anything is unclear I can clarify.
谢谢。
推荐答案
由于graphdb旨在将整个数据模型保存在单个主机上,因此您的许多小型数据库的性能都会很差。
Your lots of small databases will perform poorly as the graphdb is designed to hold the whole datamodel on a single host.
每个数据库是否运行单个JVM?
Do you run a single JVM per database?
您可以通过提供正确的内存映射属性来控制neo4j使用的内存量,并使用来自neo4j企业的gcr缓存并控制缓存的大小属性变量。
You can control the amount of memory used by neo4j by providing the correct properties for memory mapping and also use the gcr cache from neo4j-enterprise and control the cache size-property variables.
我认为将图形保留在Neo4j中并仅移动非图形部分仍然有意义部分。
I think it still makes sense to keep the graph part in Neo4j and only move the non-graphy part.
这篇关于将数据从Neo4j迁移到SQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!