简体   繁体   中英

Migrating from Neo4J to DataStax Graph DB (DSE)

We have developed custom and proprietary Software for Route Optimization, using Neo4J as our Graph DB. We also developed few plugins and unmanaged Extensions in Java, that implement specific Business Logic whenever search is done on the Graph. Since we are facing severe Performance Issues with Neo4J, we are considering to migrate our proprietary Software from Neo4J to DataStaX DSE 5.0 Graph. But would like to evaluate DSE Graph initially.

We have few specific questions regarding Migration Path from Neo4J --> DataStax Graph DB

  1. How to migrate data from Neo4J to DataStax Graph DB?
  2. What are the changes we need to make in Neo4J Cypher Code in our Application so that it will work on DataStax DSE Graph DB?
  3. We have developed some Plugins/Unmanaged Extensions in Neo4J using Java which have lots of core business rules incorporated into Neo4J. Our business logic code in Java gets called whenever Neo4J searches/traverses graph database. Does DataStax DSE Graph support something similar to plugins and/or unmanaged Extensions?

We would like to see what it takes to migrate our existing Neo4J Java code to DataStax DSE Graph code. We need to determine the level of effort would involved to do this exercise before we could be up and running on DataStax DSE Graph.

This might help: http://www.tinkerpop.com/docs/3.0.0.M1/#neo4j-gremlin

You can essentially connect to your Neo4J instance via the gremlin console, get the data you'd like, and write it out to a file that can be loaded into DSE Graph. That looks something like

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

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

There's a lot to your question, especially around design, that can't be accurately answered in a StackOverflow post since a lot of it is specific to your use case. I suggest reaching out to DataStax directly for those questions, they'll be happy to help. That being said, I will be upfront with you, Neo4J and DSE Graph are very different systems. As such, you may have to rethink schema design as well as application code design.

If you're already familiar with Cassandra, that helps quite a bit around the architecture side. Even so, I do recommend checking out some of the free training around DSE Graph, specifically: https://academy.datastax.com/courses/ds330-datastax-enterprise-graph

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM