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 have traditionally relied on specialized hardware, proprietary in-memory databases, 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 database 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, an open source Redis or Memcached compatible in-memory data store and cache. When you need millisecond latency with DynamoDB, you can add-on DynamoDB Accelerator (DAX), an in-memory cache. 

Scalable

Amazon ElastiCache can scale-out, scale-in, and scale-up to meet fluctuating application demands. 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 ensure that you can meet strict regulatory requirements.

AWS database services for real-time applications

30x30_Amazon-ElastiCache_product-icon
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 »

30x30_Amazon-DynamoDB_product-icon
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 10 x 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.

product-page-diagram_ElastiCache_redis_caching

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.

product-page-diagram_ElastiCache_redis_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.

product-page-diagram_ElastiCache_gaming-leaderboards

Getting started

Tutorials

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 the 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

Building real-time applications with Redis

Use Redis, a fast, open source, in-memory database to power real-time apps. Learn about Amazon's fully managed Redis service and how it makes it easier, simpler, and faster to build real-time applications. 

Supercharging query caching with AWS database services

Managing high availability and performance for relational databases is difficult when your application is query-intensive and deals with high volumes of concurrent traffic, leading to poor user engagement and customer experience. Learn how to use an in-memory data store like ElastiCache for Redis to improve availability and reduce the load on your primary relational database.

Scaling your Redis workloads with Redis Cluster

Amazon ElastiCache for Redis cluster offers data partitioning support that delivers superior scalability, availability, and performance. Attend this session to learn about Redis cluster and how Amazon ElastiCache for Redis makes it easy to run a distributed Redis environment.

ElastiCache: deep dive best practices and usage patterns

Developers need a fast, scalable, and easy to use data store to reduce latency and improve throughput for data-intensive applications. In this session, we provide a peek behind the scenes to learn about ElastiCache design and architecture. Hear about common usage patterns with our Redis offering and how customers use them for in-memory operations to power real-time apps with sub-millisecond latency.

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