AWS Certified Solutions Architect – Associate (SAA-C03)Design Resilient ArchitecturesMedium

A company is developing a machine learning application that requires a highly scalable and low-latency data store for frequently accessed metadata and feature vectors. The data needs to be accessed by multiple AWS Lambda functions and Amazon EC2 instances. The application needs sub-millisecond response times for both reads and writes. Which AWS service is best suited for this purpose?

  1. AAmazon DynamoDB with DAX.
  2. BAmazon RDS for PostgreSQL with read replicas.
  3. CAmazon ElastiCache for Redis.
  4. DAmazon S3 with S3 Intelligent-Tiering.
Show answer & explanation

Correct answer: C. Amazon ElastiCache for Redis.

Amazon ElastiCache for Redis is an in-memory data store known for its extremely low-latency (sub-millisecond) read and write performance, high throughput, and scalability. It's ideal for caching, session management, and real-time analytics, perfectly suiting the need for frequently accessed metadata and feature vectors for ML applications.

Why the other options are wrong

  • A. DynamoDB with DAX provides sub-millisecond reads but DAX itself is a read-through cache. DynamoDB's native write latency is typically higher than an in-memory store for high-volume, low-latency writes, and DAX doesn't accelerate writes.
  • B. RDS (relational databases) typically has higher latency compared to in-memory stores and is not designed for the sub-millisecond read/write performance required for this use case, especially at scale for feature vectors.
  • D. S3 is object storage, designed for durability and cost-effectiveness, not for sub-millisecond, high-throughput database-like access for metadata and feature vectors.

ElastiCache for Redis

A fully managed in-memory data store service compatible with Redis, providing sub-millisecond latency and high throughput for real-time applications.

  • Supports various data structures (strings, hashes, lists, sets, sorted sets).
  • Ideal for caching, session stores, leaderboards, and real-time analytics.
  • Offers high availability with replication groups and automatic failover.

Memory trick: ElastiCache Redis is the lightning-fast brain for your app's data.

More Design Resilient Architectures questions