StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. NoSQL Databases
  4. NOSQL Database As A Service
  5. Amazon DynamoDB vs Redis

Amazon DynamoDB vs Redis

OverviewDecisionsComparisonAlternatives

Overview

Amazon DynamoDB
Amazon DynamoDB
Stacks4.0K
Followers3.2K
Votes195
Redis
Redis
Stacks61.9K
Followers46.5K
Votes3.9K
GitHub Stars42
Forks6

Amazon DynamoDB vs Redis: What are the differences?

Introduction:

Amazon DynamoDB and Redis are both popular NoSQL databases used for different purposes. DynamoDB is a fully managed, highly scalable, and serverless NoSQL database service offered by Amazon Web Services (AWS). On the other hand, Redis is an open-source in-memory data structure store that can be used as a caching layer or as a persistent database.

  1. Data Structure: One key difference between DynamoDB and Redis is their data structure. DynamoDB is a key-value store where data is stored and accessed using primary keys. It supports both single-item and batch operations on items, and each item can have a flexible schema. In contrast, Redis is not just a key-value store but also a data structure store. It supports various data structures like strings, lists, sets, sorted sets, and hashes, allowing for more complex data manipulation and operations.

  2. Scalability: Another significant difference between DynamoDB and Redis is how they handle scalability. DynamoDB is designed to scale automatically with the demands of the application. It can handle millions of requests per second and automatically partitions data across multiple servers. Additionally, DynamoDB offers different models for scaling, including on-demand and provisioned capacity modes. Redis, on the other hand, requires manual configuration for achieving scalability. It can be deployed in a clustered configuration to distribute data across multiple Redis instances, but it does not have built-in automatic scaling like DynamoDB.

  3. Persistence: Persistence refers to the ability to store data permanently even after a system restart. In DynamoDB, data is stored durably and automatically replicated across multiple availability zones to ensure high availability and durability. DynamoDB is designed to be a fully managed and highly available service. Redis, by default, stores data in memory and persists it to disk periodically. However, Redis also provides options for different persistence modes, including RDB (snapshotting) and AOF (append-only file), which offer different levels of persistence.

  4. Querying: DynamoDB and Redis differ in their query capabilities. DynamoDB allows querying based on the primary key, including both simple and composite keys. It also supports querying by secondary indexes for more flexible access patterns. However, DynamoDB does not provide full-text search capabilities out of the box. On the other hand, Redis supports various query mechanisms, including simple key-based lookup and more advanced operations like pattern matching, range queries, and full-text search using external modules like RediSearch.

  5. Caching: Both DynamoDB and Redis can be used as caching layers, but they have different approaches to caching. DynamoDB provides an in-memory caching feature called DynamoDB Accelerator (DAX), which sits between the application and DynamoDB and provides low-latency responses for frequently accessed data. Redis, being an in-memory data store, is often used as a dedicated caching layer due to its high performance and support for advanced caching mechanisms like expiration policies, eviction strategies, and cache invalidation.

  6. Transaction Support: When it comes to transaction support, DynamoDB and Redis differ significantly. DynamoDB offers support for ACID (Atomicity, Consistency, Isolation, Durability) transactions, allowing multiple related operations to be grouped into a single transaction and ensuring data consistency and integrity. Redis, on the other hand, did not have built-in transaction support until the introduction of Redis 6.0. With Redis 6.0, atomicity can be achieved using the MULTI, EXEC, and WATCH commands, but it does not provide full ACID compliance.

In Summary, Amazon DynamoDB and Redis differ in their data structure, scalability models, persistence mechanisms, querying capabilities, caching approaches, and transaction support. These differences make them suitable for different use cases and emphasize their strengths in specific areas.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Amazon DynamoDB, Redis

Doru
Doru

Solution Architect

Jun 9, 2019

ReviewonAmazon DynamoDBAmazon DynamoDB

I use Amazon DynamoDB because it integrates seamlessly with other AWS SaaS solutions and if cost is the primary concern early on, then this will be a better choice when compared to AWS RDS or any other solution that requires the creation of a HA cluster of IaaS components that will cost money just for being there, the costs not being influenced primarily by usage.

1.34k views1.34k
Comments
akash
akash

Aug 27, 2020

Needs adviceonCloud FirestoreCloud FirestoreFirebase Realtime DatabaseFirebase Realtime DatabaseAmazon DynamoDBAmazon DynamoDB

We are building a social media app, where users will post images, like their post, and make friends based on their interest. We are currently using Cloud Firestore and Firebase Realtime Database. We are looking for another database like Amazon DynamoDB; how much this decision can be efficient in terms of pricing and overhead?

199k views199k
Comments

Detailed Comparison

Amazon DynamoDB
Amazon DynamoDB
Redis
Redis

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.

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.

Automated Storage Scaling – There is no limit to the amount of data you can store in a DynamoDB table, and the service automatically allocates more storage, as you store more data using the DynamoDB write APIs;Provisioned Throughput – When creating a table, simply specify how much request capacity you require. DynamoDB allocates dedicated resources to your table to meet your performance requirements, and automatically partitions data over a sufficient number of servers to meet your request capacity;Fully Distributed, Shared Nothing Architecture
-
Statistics
GitHub Stars
-
GitHub Stars
42
GitHub Forks
-
GitHub Forks
6
Stacks
4.0K
Stacks
61.9K
Followers
3.2K
Followers
46.5K
Votes
195
Votes
3.9K
Pros & Cons
Pros
  • 62
    Predictable performance and cost
  • 56
    Scalable
  • 35
    Native JSON Support
  • 21
    AWS Free Tier
  • 7
    Fast
Cons
  • 4
    Only sequential access for paginate data
  • 1
    Scaling
  • 1
    Document Limit Size
Pros
  • 888
    Performance
  • 542
    Super fast
  • 514
    Ease of use
  • 444
    In-memory cache
  • 324
    Advanced key-value cache
Cons
  • 15
    Cannot query objects directly
  • 3
    No secondary indexes for non-numeric data types
  • 1
    No WAL
Integrations
Amazon RDS for PostgreSQL
Amazon RDS for PostgreSQL
PostgreSQL
PostgreSQL
MySQL
MySQL
SQLite
SQLite
Azure Database for MySQL
Azure Database for MySQL
No integrations available

What are some alternatives to Amazon DynamoDB, Redis?

Azure Cosmos DB

Azure Cosmos DB

Azure DocumentDB is a fully managed NoSQL database service built for fast and predictable performance, high availability, elastic scaling, global distribution, and ease of development.

Cloud Firestore

Cloud Firestore

Cloud Firestore is a NoSQL document database that lets you easily store, sync, and query data for your mobile and web apps - at global scale.

Hazelcast

Hazelcast

With its various distributed data structures, distributed caching capabilities, elastic nature, memcache support, integration with Spring and Hibernate and more importantly with so many happy users, Hazelcast is feature-rich, enterprise-ready and developer-friendly in-memory data grid solution.

Aerospike

Aerospike

Aerospike is an open-source, modern database built from the ground up to push the limits of flash storage, processors and networks. It was designed to operate with predictable low latency at high throughput with uncompromising reliability – both high availability and ACID guarantees.

MemSQL

MemSQL

MemSQL converges transactions and analytics for sub-second data processing and reporting. Real-time businesses can build robust applications on a simple and scalable infrastructure that complements and extends existing data pipelines.

Apache Ignite

Apache Ignite

It is a memory-centric distributed database, caching, and processing platform for transactional, analytical, and streaming workloads delivering in-memory speeds at petabyte scale

Cloudant

Cloudant

Cloudant’s distributed database as a service (DBaaS) allows developers of fast-growing web and mobile apps to focus on building and improving their products, instead of worrying about scaling and managing databases on their own.

SAP HANA

SAP HANA

It is an application that uses in-memory database technology that allows the processing of massive amounts of real-time data in a short time. The in-memory computing engine allows it to process data stored in RAM as opposed to reading it from a disk.

Google Cloud Bigtable

Google Cloud Bigtable

Google Cloud Bigtable offers you a fast, fully managed, massively scalable NoSQL database service that's ideal for web, mobile, and Internet of Things applications requiring terabytes to petabytes of data. Unlike comparable market offerings, Cloud Bigtable doesn't require you to sacrifice speed, scale, or cost efficiency when your applications grow. Cloud Bigtable has been battle-tested at Google for more than 10 years—it's the database driving major applications such as Google Analytics and Gmail.

VoltDB

VoltDB

VoltDB is a fundamental redesign of the RDBMS that provides unparalleled performance and scalability on bare-metal, virtualized and cloud infrastructures. VoltDB is a modern in-memory architecture that supports both SQL + Java with data durability and fault tolerance.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase