AWS Databases for Real-Time Applications

Extreme performance at cloud scale

Real-time applications such as caching, session stores, gaming leaderboards, ride-hailing, ad-targeting, and real-time analytics need microsecond latency and high throughput to support millions of requests per second. Developers traditionally relied on specialized hardware, proprietary in-memory data stores, and workarounds such as disk-based databases combined with data reduction techniques to manage data for real-time applications. AWS offers high performance in-memory services that are purpose-built to power your real-time applications:

Extreme performance

For applications that need microsecond latency and support for millions of requests per second, you can use Amazon ElastiCache, a fully managed, in-memory caching service. Amazon MemoryDB for Redis is a Redis-compatible, durable, in-memory database service that delivers microsecond read latency and single-digit millisecond write latency. When you need millisecond latency with Amazon DynamoDB, you can add on DynamoDB Accelerator (DAX), an in-memory cache.

Scalable

ElastiCache can scale-out, scale-in, and scale-up to meet fluctuating application demands. With MemoryDB, scale seamlessly from just a few gigabytes to over one hundred terabytes of storage per cluster to meet the needs of your applications. With DynamoDB, you can build applications with virtually unlimited throughput and storage.

Fully managed or serverless

You don’t need to worry about database management tasks such as server provisioning, patching, setup, configuration, backups, or recovery. AWS continuously monitors your clusters to keep your workloads up and running so that you can focus on higher value application development.

Secure and compliant

AWS databases are built for business-critical, enterprise workloads, offering high availability and reliability. You have oversight of security with Amazon VPC and encryption in-transit and at rest. Compliance with PCI, HIPAA, and FedRAMP ensures that you can meet strict regulatory requirements.

AWS database services for real-time applications

Amazon MemoryDB for Redis

Amazon MemoryDB for Redis is a Redis-compatible, durable, in-memory database that delivers ultra-fast performance and Multi-AZ durability. Because MemoryDB is compatible with open source Redis, Stack Overflow’s “Most Loved Database” for five consecutive years, you can use flexible Redis data structures to build applications quickly. MemoryDB stores your entire database in-memory and uses a durable, Multi-AZ transactional log, so you can use it as an ultra-fast, primary database. Build modern, microservices applications with MemoryDB to achieve microsecond read and single-digit millisecond write latency and high throughput.

Used for: user content data stores, session management, geospatial indexing , chat and message queues, real-time streaming, fraud detection, streaming IOT device data, and more.

Learn more about Amazon MemoryDB for Redis »

Amazon ElastiCache

Amazon ElastiCache offers fully managed Redis and Memcached. Seamlessly deploy, run, and scale popular open-source compatible in-memory data stores. Build data-intensive apps or improve the performance of your existing apps by retrieving data from high throughput and low latency in-memory data stores.

Used for: Caching, session stores, gaming & sports leaderboards, real-time analytics, streaming, geospatial, pub/sub apps, and more.

Learn more about Amazon ElastiCache for Redis »

Learn more about Amazon ElastiCache for Memcached »

Amazon DynamoDB

Amazon DynamoDB, a key-value database that gives you single-digit millisecond performance at any scale. DynamoDB Accelerator (DAX) delivers up to a 10x performance improvement – from milliseconds to microseconds.

Used for large traffic web applications that automatically scale up and down during spikes, or personalized mobile apps, and low latency games for mobile, console, and desktop.  

Learn more about Amazon DynamoDB DAX »

Use cases

Caching

Amazon ElastiCache for Redis is a great choice for implementing a highly available, distributed, and secure in-memory cache to decrease access latency, increase throughput, and ease the load off your relational or NoSQL databases and applications. ElastiCache can serve frequently requested items at sub-millisecond response times, and enables you to easily scale for higher loads without growing the costlier backend databases. Database query results caching, persistent session caching, and full-page caching are all popular examples of caching with ElastiCache for Redis. Learn how to build a caching application with ElastiCache for Redis.

Session store

Amazon ElastiCache for Redis is highly suited as a session store to manage session information such as user authentication tokens, session state, and more. Simply use ElastiCache for Redis as a fast key-value store with appropriate TTL on session keys to manage your session information. Session management is commonly required for online applications, including games, e-commerce websites, and social media platforms. Learn how to use ElastiCache for Redis as a session store.

Leaderboards

Real-time gaming leaderboards are easy to create with Amazon ElastiCache for Redis. Just use the Redis Sorted Set data structure, which provides uniqueness of elements while maintaining the list sorted by their scores. Creating a real-time ranked list is as simple as updating a user's score each time it changes. You can also use Sorted Sets to handle time series data by using timestamps as the score.

Getting started

Tutorials

Getting started with Amazon MemoryDB for Redis

In this tutorial, you will create, grant access to, connect to, and finally delete a MemoryDB cluster using the MemoryDB Management Console.

Learn more »

Using Amazon ElastiCache for Redis

In this tutorial, you will create, grant access to, connect to, and finally delete a Redis (cluster mode disabled) cluster using Amazon ElastiCache.

Learn more »

Speeding up WordPress with Amazon ElastiCache for Memcached

In this tutorial, you will set up and configure an ElastiCache for Memcached instance as a cache to improve performance and throughput of your WordPress based website.

Learn more »

Webinars

Getting Started with Caching: Turbocharging Your Application Workloads

Discover how caching works, differences between in-memory datastores and disk-based databases, how caching can turbocharge your workloads, and how to get started with Amazon ElastiCache.

Building Modern, Microservices Architectures with Amazon ElastiCache

Customers today expect real-time response from the applications they engage with. Developers are moving their monolithic architectures to microservices to better serve these end users with low latency, high throughput, and massive scale. In this tech talk, learn how to use Amazon ElastiCache for Redis in modern, scalable microservices architectures. Plus, explore common in-memory use cases and patterns to enable microservices-based applications. 

Migrating to Amazon ElastiCache

Learn how to migrate from self-managed Redis to Amazon ElastiCache to unlock the scalability, performance, and reliability of fully managed Amazon ElastiCache for Redis while removing the complexity of deploying and managing a distributed cache environment.

AWS On Air featuring Amazon MemoryDB for Redis

Get to know Amazon MemoryDB for Redis and learn how you can quickly build applications using the same flexible and friendly Redis data structures, APIs, and commands that you already use today. Plus, follow along with a demo showing how to run Redis commands on the Amazon MemoryDB console. 

Case studies

Airbnb is using DynamoDB to store user search history due to the data volume and need for quick lookups to enable personalized search, ElastiCache to store session state in-memory for faster (sub-millisecond) site rendering, and RDS as their primary transactional database. Learn more »

Expedia built a real-time data warehouse for lodging market pricing and availability data for internal market analysis using Aurora, Redshift, and ElastiCache. The system processes high-volume lodging pricing and availability data, performing a multi-stream union and self-join with a 24-hour lookback window. Learn more »

Grab, the leading ride hailing service in Southeast Asia, uses ElastiCache for Redis as a caching layer for real-time data computation for 1.5 million daily bookings. Grab estimates savings of 30-40% on manpower and <40ms average response time of the API layer with AWS. Learn more »

Peloton’s leaderboard requires elasticity, low latency, and real-time processing to deliver customizable rider data for the community of users riding together virtually from the comfort of their homes. Peloton relies on Amazon ElastiCache for Redis to power its on-demand, live leaderboard. Learn more »

Many more customers rely on AWS databases to power real-time apps