Database capacity planning (for example, capacity units, instance types, Provisioned IOPS)

Task Statement 3.3: Determine high-performing database solutions.

📘AWS Certified Solutions Architect – (SAA-C03)


Database capacity planning is the process of estimating the right resources a database needs so it can handle workloads efficiently. The goal is to make sure your database performs well, doesn’t crash, and can scale as the demand grows.

In AWS, this involves choosing the right instance type, storage type, and configuring performance options like IOPS (Input/Output Operations Per Second).


1. Key Components of Database Capacity Planning

  1. Compute (CPU and Memory)
    • Every database instance runs on a server with CPU and memory.
    • The instance type you choose defines how powerful your database server is.
    • Example in AWS:
      • RDS Instance Types:
        • db.t3.medium – small workloads, low CPU usage
        • db.r5.large – memory-intensive workloads
    • When planning, estimate how much CPU and memory your queries will need. Heavy queries or analytics require more CPU and memory.
  2. Storage
    • Databases need storage for data, indexes, and logs.
    • Types of storage in AWS RDS:
      • General Purpose SSD (gp3/gp2): Balanced cost and performance, good for most workloads.
      • Provisioned IOPS (io1/io2): High-performance storage for I/O-intensive workloads (lots of reads/writes). You can specify exactly how many IOPS your database can handle.
      • Magnetic (deprecated): Low-cost, low-performance; rarely used now.
    • Planning tip: If your database has lots of transactions (like financial records), you might need Provisioned IOPS to avoid delays.
  3. IOPS (Input/Output Operations Per Second)
    • Measures how many read/write operations your database can perform each second.
    • Important for write-heavy or read-heavy workloads.
    • Provisioned IOPS allows you to set a specific number (e.g., 5,000 IOPS) for consistent performance.
    • AWS automatically scales storage capacity but does not automatically scale Provisioned IOPS.
  4. Capacity Units
    • AWS uses the concept of capacity units in some services to measure database throughput.
    • Example:
      • Amazon DynamoDB: You provision read capacity units (RCU) and write capacity units (WCU).
        • 1 RCU = 1 strongly consistent read per second of 4 KB item
        • 1 WCU = 1 write per second of 1 KB item
      • Planning capacity means estimating how many reads/writes your application will do per second and provisioning the correct RCUs/WCUs.

2. How to Plan Database Capacity

When planning a database, you consider three main factors:

  1. Workload Type
    • Read-intensive: Many users reading data, few writes. Example: Reporting dashboards.
    • Write-intensive: Many users writing data, few reads. Example: Logging or transaction systems.
    • Mixed: Both reads and writes are high.
  2. Performance Requirements
    • Latency requirements: How fast does a query need to return data?
    • Throughput requirements: How many queries per second does the system need to handle?
  3. Scalability Needs
    • Can the database handle sudden spikes in traffic?
    • AWS supports vertical scaling (bigger instance) and horizontal scaling (read replicas, sharding).

3. AWS Features to Help with Capacity Planning

  1. Amazon RDS
    • Lets you select instance size (CPU/memory), storage type, and optionally Provisioned IOPS.
    • Supports autoscaling storage, which increases storage automatically when you reach limits.
  2. Amazon DynamoDB
    • Uses provisioned capacity (RCU/WCU) or on-demand capacity.
    • Provides auto-scaling, adjusting capacity based on traffic.
    • Helps avoid under-provisioning (slow database) or over-provisioning (wasting money).
  3. Amazon Aurora
    • MySQL and PostgreSQL-compatible high-performance database.
    • Provides Aurora capacity units and auto-scaling.
    • Handles bursts of traffic by automatically increasing read replicas.

4. Exam Tips for SAA-C03 on Capacity Planning

  • Know the difference between instance types and storage types in AWS.
  • Understand Provisioned IOPS: used for high-performance, I/O-intensive workloads.
  • Remember DynamoDB capacity units (RCU/WCU) and how they relate to item size.
  • Know when to scale vertically (bigger instance) vs. horizontally (read replicas).
  • For the exam, AWS may ask you to pick the best solution for a workload, e.g.:
    • High read traffic → consider read replicas
    • High write traffic → consider IOPS and instance size
    • Unpredictable traffic → use DynamoDB on-demand or Aurora serverless

5. Quick Summary Table

ComponentKey ConceptAWS Options
ComputeCPU and memory to handle queriesRDS instance types (t3, r5, etc.)
StorageHolds data, indexes, logsGP3, GP2, io1/io2 SSD
IOPSRead/write operations per secondProvisioned IOPS for consistent high performance
Capacity UnitsThroughput measure (especially DynamoDB)RCU/WCU for DynamoDB
ScalingAdjust to workload changesVertical (instance size) or Horizontal (replicas)

Key Takeaways for Students

  • Database capacity planning = matching resources to workload demands.
  • Always check CPU, memory, storage type, IOPS, and throughput needs.
  • AWS offers autoscaling in DynamoDB and Aurora for unpredictable workloads.
  • Picking the right combination saves costs, improves performance, and prevents downtime.
Buy Me a Coffee