Copyright (c) 2026 MindMesh Academy. All rights reserved. This content is proprietary and may not be reproduced or distributed without permission.

3.1.3. Database Scaling: RDS, DynamoDB, and Aurora

šŸ’” First Principle: Databases are the hardest component to scale because they hold state. Unlike stateless web servers (add more, remove any), databases must maintain consistency while distributing load — which requires careful design. AWS provides managed scaling solutions for each database type, each with different trade-offs.

RDS Read Replicas:

Read replicas add read capacity to RDS without modifying the primary instance. The primary handles all writes; replicas serve reads via asynchronous replication.

RDS Read Replica FactsDetail
Max replicas15 for Aurora; 5 for RDS MySQL/PostgreSQL/MariaDB
Replication lagAsynchronous — replicas may lag seconds to minutes behind primary
PromotionA read replica can be promoted to a standalone DB (breaks replication)
Cross-regionRead replicas can be in different regions — useful for global read distribution
CostEach replica is billed as a separate DB instance

Read replicas are for read scaling, not for failover. Multi-AZ is for failover.

RDS Storage Auto Scaling: RDS can automatically increase storage when free space falls below a threshold. You set a maximum storage limit. This prevents the dreaded "storage full" incident at 3 AM.

DynamoDB Scaling:

DynamoDB offers two capacity modes:

ModeHow It WorksBest For
On-DemandInstantly handles any traffic level; pay per requestUnpredictable or new workloads
ProvisionedYou specify read/write capacity units; use Auto Scaling to adjustPredictable workloads; cost optimization

DynamoDB Auto Scaling (for provisioned mode): Set a target utilization (e.g., 70% of provisioned capacity). DynamoDB Auto Scaling adjusts provisioned capacity up and down as traffic changes. Set minimum and maximum capacity to control cost boundaries.

DynamoDB Accelerator (DAX): An in-memory cache specifically for DynamoDB. Reduces read latency from single-digit milliseconds to microseconds. DAX is a cluster — you connect your application to the DAX endpoint instead of directly to DynamoDB. Works transparently for GetItem, Query, and Scan operations.

Aurora Scaling:

Aurora Auto Scaling adds and removes Aurora Replicas (read replicas) based on average CPU utilization or connections. Aurora Serverless v2 goes further — it scales the compute capacity of the instance itself in fine-grained increments (0.5 Aurora Capacity Units at a time), making it ideal for highly variable workloads.

Aurora FeatureBenefit
Aurora ReplicasUp to 15 low-latency read replicas (same underlying storage)
Aurora Auto ScalingAdds/removes replicas based on load
Aurora Serverless v2Scales instance compute up/down in seconds; pay per ACU-hour
Aurora Global DatabaseLow-latency read replicas across regions; disaster recovery in <1 minute

āš ļø Exam Trap: DynamoDB On-Demand mode is not always cheaper. At high, predictable request rates, Provisioned with Auto Scaling is significantly more cost-effective. On-Demand charges a higher per-request price in exchange for not having to manage capacity. The exam may test which mode to recommend based on traffic characteristics.

Reflection Question: A marketing campaign is expected to cause a 10x traffic spike of unknown duration next Tuesday at noon. Your application uses RDS MySQL for user data and DynamoDB for session data. What scaling configuration would you set up before the campaign, and which database change is the highest priority?

Alvin Varughese
Written byAlvin Varughese
Founder•15 professional certifications