java - 从 Neo4J 迁移到 DataStax 图形数据库 (DSE)

标签 java graph neo4j datastax datastax-enterprise-graph

我们开发了用于路线优化的定制和专有软件, 使用 Neo4J 作为我们的图形数据库。我们还在 Java 中开发了一些插件和非托管扩展,只要在图形上进行搜索,它们就会实现特定的业务逻辑。由于我们面临 Neo4J 的严重性能问题,我们正在考虑将我们的专有软件从 Neo4J 迁移到 DataStaX DSE 5.0 Graph。但最初想评估 DSE Graph。

我们有几个具体问题 关于 Neo4J 的迁移路径 --> DataStax Graph DB

  1. 如何将数据从 Neo4J 迁移到 DataStax Graph DB?
  2. 我们需要对应用程序中的 Neo4J Cypher 代码进行哪些更改才能使其在 DataStax DSE Graph DB 上运行?
  3. 我们使用 Java 在 Neo4J 中开发了一些插件/非托管扩展,这些插件/非托管扩展将许多核心业务规则合并到 Neo4J 中。每当 Neo4J 搜索/遍历图形数据库时,我们的 Java 业务逻辑代码就会被调用。 DataStax DSE Graph 是否支持类似于插件和/或非托管扩展的东西?

我们想看看如何将我们现有的 Neo4J Java 代码迁移到 DataStax DSE Graph 代码。在我们可以启动并运行 DataStax DSE Graph 之前,我们需要确定执行此练习所涉及的工作量。

最佳答案

这可能有帮助:http://www.tinkerpop.com/docs/3.0.0.M1/#neo4j-gremlin

您基本上可以通过 gremlin 控制台连接到您的 Neo4J 实例,获取您想要的数据,并将其写出到一个可以加载到 DSE Graph 中的文件中。看起来有点像

graph.io(IoCore.gryo()).writeGraph("tinkerpop-modern.kryo"); 

参见:http://www.tinkerpop.com/docs/3.0.0.M1/#gremlin-kryo

您的问题很多,尤其是关于设计的问题,无法在 StackOverflow 帖子中准确回答,因为其中很多问题都是针对您的用例的。我建议直接联系 DataStax 解决这些问题,他们会很乐意提供帮助。话虽这么说,我会提前告诉你,Neo4J 和 DSE Graph 是非常不同的系统。因此,您可能不得不重新考虑架构设计以及应用程序代码设计。

如果您已经熟悉 Cassandra,那么这对架构方面有很大帮助。即便如此,我还是建议您查看一些有关 DSE Graph 的免费培训,特别是:https://academy.datastax.com/courses/ds330-datastax-enterprise-graph

关于java - 从 Neo4J 迁移到 DataStax 图形数据库 (DSE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38646521/

相关文章:

neo4j - 使用 neo4j 可视化高度链接的图形

java - Android:ListView setAdapter 方法抛出 Resources$NotFoundException

java - 为具有自己的 JSON 序列化实现的类编写 Gson TypeAdapter

algorithm - 图表中的最小破坏成本

R - 多列 fiddle 图

neo4j - 如何删除一个节点和所有关系,以及在 Neo4j 中连接到它的节点

java - JTable 单元格返回 null

Java同步问题

java - 在内存中存储父子映射。有效地为 parent 列出所有可达的 child

neo4j - 升级到 neo4j 2.1 破坏了 Cypher 查询