DataStax Enterprise (DSE) is the scale-out, cloud-native NoSQL database built on Apache Cassandra. DSE is Developer Ready providing developers the freedom of choice of REST, GraphQL, CQL and JSON/Document APIs.
N/A
Neo4j
Score 8.9 out of 10
N/A
Neo4j is an open source embeddable graph database developed by Neo Technologies based in San Mateo, California with an office in Sweden.
Real-time transaction processing (both reads and writes) is where DataStax Enterprise shines. It's very fast with linear scalability should more resources be needed. Additional nodes are added very easily. DataStax Enterprise on its own (without Solr or Spark enabled) isn't well suited for long complicated reports. The data model doesn't support joining multiple tables together which is common in BI reporting.
Neo4J is great for creating network graphs or illustrating how things are related. It is also good for finding individuals or things that have greater influence than others in a system. It is not appropriate if you have standard data sets that can be analyzed using conventional methods or visualized using Tableau, for example.
Datastax Cassandra provides high availability and good performance for a database. It is built on top of open source Apache Cassandra so you can always somewhat understand the internal functioning and why.
Datastax Cassandra is fairly simple to start using, you can install/setup your cluster and be productive in 1 day.
Datastax Cassandra provides a lot of good detailed documentation, and when starting, the detailed free videos on the Datastax site and documentation are very helpful.
Datastax Enterprise Edition of Cassandra provides more tools, good support, and quick response SLA for enterprise business support.
Mature Query language, I found Cypher QL to be mature in handling all sorts of problems we throw at it. Its expressive enough to be intuitive while providing rich features for various scenarios.
Native support for REST API, that makes interacting with Neo4J intuitive and easy.
Support for Procedures in Java, procedures are custom code that could be added to the Neo4J to write custom querying of data. The best part about the procedures is it could be invoked using the REST API. This allows us to overcome any shortcomings from their Cypher query language.
Nice UI and interface for executing the Query and visualizing the response.
UI access controlled by User credentials allows for neat access controls.
Awesome free community edition for small-scale projects.
One of the hardest challenges that Neo4j had to solve was the horizontal scaling problem. I am not updated on recent developments, but at the time of my use, I couldn't find a viable solution.
Neo4j does not play with other open source APIs like Blueprint. You have to use the native Neo4j API.
There wasn't a visual tool to see your data. Of course, third party tools are always available, but I would have loved something which came with the Neo4j bundle. I love that Docker comes bundled with Kitematic, so it's not wrong to hope that Neo4j could also ship with some default visualization software.
There is a bit of a learning curve and tasks that are simple in traditional RDBMS systems can be complicated with DataStax Enterprise but once you get the hang of denormalizing data and getting the data model correct DataStax Enterprise is very usable. Usability from the developer's standpoint is very simple - the complication is on the architecture side with the data model.
DataStax has the best community. They have instant customer support to solve problems and are knowledgeable of the problems faced by the customer. The documentation is pretty top-notch.
DataStax Enterprise offered best-in-class write performance and scalability. The customer support team was very helpful in the adoption of new technology.
Neo4j is a graph store and has different use cases compared to another NoSQL Document store like MongoDB. MongoDB is a bad choice when joins are common as existing operators for joining two documents (similar to tables in a relational store) as Mongo 3.5 use SQL like join algorithms which are expensive. MongoDB is a great choice when distributed schemaless rich document structures are important requirements. Cross document transaction support is not native to MongoDB yet, whereas Neo4J is ACID complaint with all its operations.