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 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.
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.
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.
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.
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.
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.
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.
Resources
Learn about MemoryDB for Redis: Introduction to Amazon MemoryDB for Redis
Build microservices with MemoryDB: Building with Redis data structures for microservices with Amazon MemoryDB for Redis
Understand Amazon ElastiCache: In-memory datastore fundamentals, use cases, and examples
Get started for free: Get started with the Amazon ElastiCache free tier
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 »