Need advice about which tool to choose?Ask the StackShare community!

Amazon DynamoDB

3.7K
3.2K
+ 1
195
Riak

104
137
+ 1
44
Add tool

Amazon DynamoDB vs Riak: What are the differences?

Introduction Amazon DynamoDB and Riak are both NoSQL databases that offer high availability and scalability, but they have key differences in terms of data model, consistency, querying capabilities, and fault tolerance.

  1. Data Model: One major difference between DynamoDB and Riak is their data model. DynamoDB follows a key-value data model, where each item has a primary key and optional additional attributes. Riak, on the other hand, uses a key-value and document data model, allowing for more complex and structured data storage.

  2. Consistency: DynamoDB offers different consistency models to choose from, allowing developers to prioritize availability or consistency based on their application requirements. Riak, however, follows a default "eventually consistent" model, where updates may take some time to propagate across the cluster, ensuring high availability but sacrificing some consistency.

  3. Querying Capabilities: DynamoDB provides a flexible querying mechanism using its Query and Scan APIs, allowing developers to retrieve data based on specific conditions and filters. Riak, in contrast, offers a simple key-based retrieval mechanism with support for secondary indexes, but lacks the rich querying capabilities provided by DynamoDB.

  4. Fault Tolerance: DynamoDB is built on AWS infrastructure, which provides built-in fault-tolerance and replication across multiple Availability Zones. Riak, on the other hand, is designed to be distributed and fault-tolerant from the ground up, using a peer-to-peer architecture that distributes data across a cluster of nodes.

  5. Data Replication: DynamoDB replicates data synchronously to three Availability Zones, ensuring durability and availability even in the event of a failure. Riak, however, uses a "write-once" model where writes are only sent to a single node, and then asynchronously replicated to other nodes in the background.

  6. Concurrency Control: DynamoDB uses optimistic concurrency control, where conflicting updates are resolved based on the last writer wins principle. Riak, on the other hand, offers vector clocks as a means of conflict resolution, allowing diverged copies of data to be merged intelligently when they are subsequently reconciled.

In summary, Amazon DynamoDB and Riak differ in their data models, consistency models, querying capabilities, fault tolerance mechanisms, data replication strategies, and concurrency control mechanisms.

Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Amazon DynamoDB
Pros of Riak
  • 62
    Predictable performance and cost
  • 56
    Scalable
  • 35
    Native JSON Support
  • 21
    AWS Free Tier
  • 7
    Fast
  • 3
    No sql
  • 3
    To store data
  • 2
    Serverless
  • 2
    No Stored procedures is GOOD
  • 1
    ORM with DynamoDBMapper
  • 1
    Elastic Scalability using on-demand mode
  • 1
    Elastic Scalability using autoscaling
  • 1
    DynamoDB Stream
  • 14
    High Performance
  • 11
    High Availability
  • 9
    Easy Scalability
  • 5
    Flexible
  • 1
    Strong Consistency
  • 1
    Eventual Consistency
  • 1
    Distributed
  • 1
    Multi datacenter deployments
  • 1
    Reliable

Sign up to add or upvote prosMake informed product decisions

Cons of Amazon DynamoDB
Cons of Riak
  • 4
    Only sequential access for paginate data
  • 1
    Scaling
  • 1
    Document Limit Size
    Be the first to leave a con

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Amazon DynamoDB?

    With it , you can offload the administrative burden of operating and scaling a highly available distributed database cluster, while paying a low price for only what you use.

    What is Riak?

    Riak is a distributed database designed to deliver maximum data availability by distributing data across multiple servers. As long as your client can reach one Riak server, it should be able to write data. In most failure scenarios, the data you want to read should be available, although it may not be the most up-to-date version of that data.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Amazon DynamoDB?
    What companies use Riak?
    Manage your open source components, licenses, and vulnerabilities
    Learn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Amazon DynamoDB?
    What tools integrate with Riak?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    GitHubPythonNode.js+47
    55
    73038
    GitGitHubSlack+30
    27
    18928
    GitHubDockerAmazon EC2+23
    12
    6696
    GitHubPythonSlack+25
    7
    3265
    What are some alternatives to Amazon DynamoDB and Riak?
    Google Cloud Datastore
    Use a managed, NoSQL, schemaless database for storing non-relational data. Cloud Datastore automatically scales as you need it and supports transactions as well as robust, SQL-like queries.
    MongoDB
    MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
    Amazon SimpleDB
    Developers simply store and query data items via web services requests and Amazon SimpleDB does the rest. Behind the scenes, Amazon SimpleDB creates and manages multiple geographically distributed replicas of your data automatically to enable high availability and data durability. Amazon SimpleDB provides a simple web services interface to create and store multiple data sets, query your data easily, and return the results. Your data is automatically indexed, making it easy to quickly find the information that you need. There is no need to pre-define a schema or change a schema if new data is added later. And scale-out is as simple as creating new domains, rather than building out new servers.
    MySQL
    The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
    Amazon S3
    Amazon Simple Storage Service provides a fully redundant data storage infrastructure for storing and retrieving any amount of data, at any time, from anywhere on the web
    See all alternatives