When comparing ConcourseDB vs DynamoDB, the Slant community recommends ConcourseDB for most people. In the question“What are the best NoSQL databases for web applications?” ConcourseDB is ranked 11th while DynamoDB is ranked 12th. The most important reason people chose ConcourseDB is:
Concourse tracks versions of your data by default. This way you can easily edit data without being afraid of losing anything since Concourse can easily revert to a previous state.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Built-in version control
Concourse tracks versions of your data by default. This way you can easily edit data without being afraid of losing anything since Concourse can easily revert to a previous state.
Pro Fully ACID compliant
ConcourseDB is known to have a very holistic approach to robustness and data integrity which is reflected by it being fully ACID compliant.
ConcourseDB has always been strict about making sure data is valid before allowing it into the database, and there is no way for a client to bypass those checks.
Pro Can easily query data from any point in the past
Because of its powerful version control capabilities, Concourse can easily and painlessly query and get data from any point in the past.
Pro Free tier
DynamoDB offers a free tier which allows up to 40 million database operations a month for free.
Pro Trigger tasks (AWS Lambda) on write
When a new record is written, it can trigger one or many AWS Lambda functions. With Lambda functions in Java, JavaScript, and Python and the other con of "Easy integration with other Amazon services", Lambda functions may be all you need to process the events. This is particularly useful for creating projections (often as other DynamoDB tables) and other read models in a CQRS pattern.
Pro High uptime
Data hosted on DynamoDB is automatically replicated across multiple AWS availability zones, this way the data is protected from any malfunction that may cause loss and it also ensures high uptime.
Pro Easy integration with other Amazon services
Since it's part of AWS, like with other services that Amazon provides, it's very easy to integrate DynamoDB with any other AWS service that you may be using.
Cons
Con Not very popular
Since ConcourseDB is not a very popular solution among developers, it may be hard to find libraries or SDKs to easily integrate it into any platform with which you are developing.
Con No specific features for Event Sourcing
DynamoDB is just a general purpose NoSQL database; hence, there are no features specific to the domain of Event Sourcing, such as event ordering or projections. As a developer, you will need to decide how to implement these.
Con Poor documentation
In true AWS fashion, the documentation for DynamoDB is not top notch. While the learning curve is generally very soft and it's not hard to learn, you need to have at least some experience with cloud and database management to be able to start using DynamoDB and understand the documentation.