What users are saying about

Amazon DynamoDB

Top Rated
51 Ratings

Riak

10 Ratings

Amazon DynamoDB

Top Rated
51 Ratings
<a href='https://www.trustradius.com/static/about-trustradius-scoring' target='_blank' rel='nofollow'>trScore algorithm: Learn more.</a>
Score 8.3 out of 101

Riak

10 Ratings
<a href='https://www.trustradius.com/static/about-trustradius-scoring' target='_blank' rel='nofollow'>trScore algorithm: Learn more.</a>
Score 7.9 out of 101

Add comparison

Likelihood to Recommend

Amazon DynamoDB

DynamoDB is great for two cases. The first is for services that do not experience high loads or demand high availability. DynamoDB is inexpensive, and it provides great developer velocity. The second is for applications that demand high performance, have well-understood requirements, and a narrow range of queries.
No photo available

Riak

Riak is very good if you need a resilient data store that can handle large amounts of documents very fast. If you have 1,000,000 documents and need to execute complex queries, it is great.Riak's SOLR engine is fast, however if you have extremely high amount of queries in a very limited time range, it can fail in a bad way.
Adam Stern profile photo

Feature Rating Comparison

NoSQL Databases

Amazon DynamoDB
7.9
Riak
9.4
Performance
Amazon DynamoDB
8.0
Riak
9.0
Availability
Amazon DynamoDB
8.4
Riak
10.0
Concurrency
Amazon DynamoDB
9.0
Riak
10.0
Security
Amazon DynamoDB
8.7
Riak
9.0
Scalability
Amazon DynamoDB
9.7
Riak
10.0
Data model flexibility
Amazon DynamoDB
4.0
Riak
9.0
Deployment model flexibility
Amazon DynamoDB
7.3
Riak
9.0

Pros

  • DynamoDB is fully-managed. In the early days, it lacked features like backups, and developers had to either implement some of their own backup functionality or live dangerously. Today, DynamoDB's claim to be fully-managed is more credible. Backups can be configured through the console. Table capacity does not even need to be planned anymore; you can scale (and pay) on-demand.
  • DynamoDB is inexpensive for some use-cases. In particular, DynamoDB is very inexpensive when you create a datastore for a low-volume micro-service, or a stateful background job. DynamoDB is much less expensive than RDS or Elasticache for these use-cases, and it allows developers to design systems without worrying about cost.
  • DynamoDB is fast when used for the use-cases it was designed for.
  • DynamoDB supports the development experience and testing reasonably well. AWS provides an official DynamoDB image that can be used in tests locally or in CI.
No photo available
  • Highly available: If nodes go offline for any reason, the system still operates.
  • Highly scalable: There is a minimum of 5 nodes, which can handle a lot by themselves. When scaling is required, it can be done easily, with minimal to no downtime on large scales.
  • Very fast searching: Riak has SOLR indexing built-into the core product, which makes querying for data very fast.
Adam Stern profile photo

Cons

  • Capacity planning can be difficult, but it is probably a worthwhile exercise in itself. However, today you can scale tables on-demand without capacity planning.
  • Migrations can be slow and difficult. If you need to change your schema (e.g., add a secondary index) after you have written a large volume of data to the table or after consumers of the data are live, migrating can be expensive. Tooling for DynamoDB migrations is less mature than tools for migrating other datastores.
  • The API is complicated, and third-party wrappers, like PynamoDB, are immature.
  • Scanning tables is slow and expensive. It is important to anticipate all of the types of queries you will need to support and design your schema accordingly.
No photo available
  • At the time I was using Riak, data was stored as blobs so you couldn't query the data directly on the server. This has since been remedied with the addition of full-text search support.
Jared Holmberg profile photo

Likelihood to Renew

Amazon DynamoDB6.9
Based on 13 answers
We will most likely continue to use DynamoDB for certain use-cases. If we stopped using DynamoDB as often, it would likely be because we started using Aurora Serverless more. Aurora Serverless may offer similar availability, management and cost benefits while allowing developers to use their MySQL tools and experience.
No photo available
Riak9.0
Based on 5 answers
Riak works great for our use case but the fact that deletes seem to resurrect is a real issue for us. Unless we can get this solved, we'll continue to look at other products to see if our use case fits. Otherwise Riak is a great product and it fits our use case 95%. We have found work arounds to the remaining 5%.
Gerald Chenvert profile photo

Alternatives Considered

Amazon DynamoDB is a strong contender for an enterprise NoSQL database. We chose Amazon DynamoDB due to:
  1. easy inclusion in our AWS architecture
  2. fast performance with no setup
  3. appropriate balance of object retention and speed compared to other databases available in AWS
Jordan Bayles profile photo
Riak is a key/value pair store which is great for certain use cases. For our use case, the ability to search is an extremely useful feature. Apache Cassandra can provide this while Riak cannot. Also again for our use case, the ability to delete is critical as we strive to maintain clean data which means we like to purge old or obsolete data. Riak, while providing the ability to do so, is not reliable as we've seen data resurrect on numerous occasions. Apache Cassandra allows for deletes and in our proof of concept testing where we've explicitly tested this feature, it permanently deleted the data. One other key feature for us looking at Apache Cassandra is the ability to update multiple pieces of data simultaneously for a given row (Cassandra) or key (Riak). Riak only allows for updating at the key level by replacing the data that was there. Thus, if you have multiple threads updating the same data in Riak, contention issues arise and the possibility of overwriting data is a real concern. Apache Cassandra helps this use case by storing the data in columns rather than one big value. Thus, updating various columns for a given key removes contention issues in Cassandra.
Gerald Chenvert profile photo

Return on Investment

  • Dynamodb reduced the need for SRE headcount to maintain infrastructure.
  • Built in metrics dove tails with existing monitoring tooling.
  • Flexible NoSQL design allows developers to focus on business problems, rather than database design.
Alan Balasundaram profile photo
  • It provided a solution for use to securely write data to the cloud. This has been instrumental in allowing us to move more applications to the cloud. Writes are performed behind firewalls and then replicated to the cloud for application consumption. By moving more applications to the cloud, we free up internal resources and can serve information in a much more scalable and reliable way.
Gerald Chenvert profile photo

Pricing Details

Amazon DynamoDB

General
Free Trial
Free/Freemium Version
Premium Consulting/Integration Services
Entry-level set up fee?
No
Additional Pricing Details

Riak

General
Free Trial
Free/Freemium Version
Premium Consulting/Integration Services
Entry-level set up fee?
No
Additional Pricing Details