We use Astra DB to improve our management systems. Storing data has become hassle-free and quite simple. When launching a Cassandra-based cloud application, Astra DB is exactly what you need. In addition to the standard training programs and videos, the extended support and training require significant additional effort to activate and cover which I feel is a bit more tedious task.
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.
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.
The support team sometimes requires the escalate button pressed on tickets, to get timely responses. I will say, once the ticket is escalated, action is taken.
They require better documentation on the migration of data. The three primary methods for migrating large data volumes are bulk, Cassandra Data Migrator, and ZDM (Zero Downtime Migration Utility). Over time I have become very familiar will all three of these methods; however, through working with the Services team and the support team, it seemed like we were breaking new ground. I feel if the utilities were better documented and included some examples and/or use cases from large data migrations; this process would have been easier. One lesson learned is you likely need to migrate your application servers to the same cloud provider you host Astra on; otherwise, the latency is too large for latency-sensitive applications.
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.
Their response time is fast, in case you do not contact them during business hours, they give a very good follow-up to your case. They also facilitate video calls if necessary for debugging.
We know Astra is built on Cassandra / Kubernetes / Stargate and can work on any cloud. The competitors we reviewed are cloud specific and create a lock in. We also have the option to run Cassandra / Stargate ourselves if we wanted to. The competitors don’t give that option
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.
Our use case and requirements for scaling don't allow me to comment on ability to scale to millions of users, however from what I know of other use cases where Astra has been applied, and Astra's architectural design makes me confident it will be able to scale to meet most requirements
The high availability capabilities of Astra DB can assist in reducing downtime, which is crucial for revenue-generating applications.
The developer-friendly features of Astra DB, as well as support for known query languages, can help expedite development, save development time, and minimize labor costs. This can result in a shorter time to market and a higher ROI.