It is useful use-case by use-case. For our use case, it was the best and easiest option for the integration as well as development side. It is serverless so no need of deployment and maintenance hustle. It is easy to scale up due to the same functionality. Supports AWS Security features and just a click away for enabling it so security is good.
Its very well suited for storing graph types relationship information, such as a group of people and their relationships. Data modeling this sort of information in a traditional SQL database is a pain and inefficient. Using Neo4J allows for efficient modeling of data while providing rich querying capabilities using Cypher. Its also a great fit for any programming language because of its support for REST API. It's less appropriate for any other data structure other than Graph data. So as with any DB, evaluate the data structure and query and if the querying revolves around relationships, then Neo4J is a fit. If there is more need for looking up individual nodes and their associated information, Neo4J might not be the most efficient solution in the market.
It would be nice to have some concept of namespaces, or some way of roughly making a single instance multi-tenant. It'd be nice to make sandboxing easier.
It's core to our business, we couldn't survive without it. We use it to drive everything from FTP logins to processing stories and delivering them to clients. It's reliable and easy to query from all of our pipeline services. Integration with things like AWS Lambda makes it easy to trigger events and run code whenever something changes in the database.
Functionally, DynamoDB has the features needed to use it. The interface is not as easy to use, which impacts its usability. Being familiar with AWS in general is helpful in understanding the interface, however it would be better if the interface more closely aligned with traditional tools for managing datastores.
While the actual performance of DynamoDB can vary based on workload and region, it is generally highly responsive and well-regarded for delivering low-latency access to data, making it a strong choice for applications with stringent performance requirements. Organizations often choose DynamoDB for its ability to provide a reliable and performant database service, particularly when combined with effective application design and optimization.
For our use case, we needed a noSQL that would work with AWS Lambdas of specific parts of the internal web applications. We optimized billing and uses , diversified databases for various parts; so it’s not very expensive.
I have not used anything like Neo4J because of how unique it is in the work that it allows me to do. I am not aware of any other graph database platforms and it might be because it is a growing area (especially in the world of pharmaceuticals). I would be open to trying other softwares though.
I have taken one point away due to its size limits. In case the application requires queries, it becomes really complicated to read and write data. When it comes to extremely large data sets such as the case in my company, a third-party logistics company, where huge amount of data is generated on a daily basis, even though the scalability is good, it becomes difficult to manage all the data due to limits.
Businesses may only pay for the services they actually use thanks to DynamoDB's usage-based pricing approach.
AWS handles hardware provisioning, data recovery, fault tolerance, patching, and database upgrades for DynamoDB since it is a fully managed database service.
DynamoDB differs from conventional relational databases in terms of its data model, which might be difficult for developers accustomed to dealing with SQL-based systems.
For experimentation purposes, it had a positive impact on my company. It was very natural to work with Neo4j and so intuitive to visualize the data.
Neo4j community edition is free, which is what we experimented on. So there was no investment up front apart from employee's time. But this quickly gave results and it was time well spent.
Neo4j is a cool but very new technology. It was hard to have people onboard, especially some of the leadership and relational folks.