Bird
Raised Fist0
DynamoDBquery~5 mins

Table capacity modes (on-demand vs provisioned) in DynamoDB - Quick Revision & Key Differences

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is the on-demand capacity mode in DynamoDB?
On-demand capacity mode lets DynamoDB automatically handle the read and write capacity based on your application's traffic. You don't need to specify capacity units in advance.
Click to reveal answer
beginner
What does provisioned capacity mode mean in DynamoDB?
Provisioned capacity mode means you set the number of reads and writes per second your table can handle. You pay for this capacity whether you use it or not.
Click to reveal answer
intermediate
Which capacity mode is better for unpredictable or spiky workloads?
On-demand capacity mode is better for unpredictable or spiky workloads because it automatically scales to handle sudden traffic changes.
Click to reveal answer
intermediate
What is a key benefit of using provisioned capacity mode?
Provisioned capacity mode can be more cost-effective for steady, predictable workloads because you pay a fixed rate for capacity you plan to use.
Click to reveal answer
advanced
Can you switch between on-demand and provisioned capacity modes in DynamoDB?
Yes, DynamoDB allows switching between on-demand and provisioned capacity modes, but it may take some time and has some limits on frequency.
Click to reveal answer
Which DynamoDB capacity mode automatically adjusts to your application's traffic?
AOn-demand
BProvisioned
CManual
DReserved
In provisioned capacity mode, what do you need to specify?
ANumber of indexes
BTable size in GB
CNumber of reads and writes per second
DBackup frequency
Which capacity mode is usually cheaper for steady, predictable workloads?
AProvisioned
BOn-demand
CBoth cost the same
DDepends on table size
Can you switch from on-demand to provisioned capacity mode in DynamoDB?
AYes, anytime without limits
BYes, but with some limits and delay
CNo, once set it cannot be changed
DOnly during table creation
What happens if your application traffic exceeds provisioned capacity?
AData is lost
BCapacity automatically increases
CTable is deleted
DRequests are throttled
Explain the difference between on-demand and provisioned capacity modes in DynamoDB.
Think about how capacity is managed and billed.
You got /4 concepts.
    Describe when you would choose on-demand capacity mode over provisioned mode.
    Consider workload patterns and cost.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which DynamoDB table capacity mode automatically adjusts to your application's traffic without requiring manual capacity settings?
      easy
      A. On-demand mode
      B. Provisioned mode
      C. Reserved mode
      D. Manual mode

      Solution

      1. Step 1: Understand capacity modes in DynamoDB

        DynamoDB offers two main capacity modes: on-demand and provisioned. On-demand mode automatically adjusts capacity based on traffic.
      2. Step 2: Identify the mode that adjusts automatically

        On-demand mode charges per request and scales automatically without manual settings, unlike provisioned mode which requires fixed capacity.
      3. Final Answer:

        On-demand mode -> Option A
      4. Quick Check:

        Automatic scaling = On-demand mode [OK]
      Hint: Automatic scaling means on-demand mode [OK]
      Common Mistakes:
      • Confusing provisioned mode as automatic
      • Thinking reserved or manual modes exist
      • Assuming manual capacity adjustment is automatic
      2. Which of the following is the correct way to specify provisioned capacity when creating a DynamoDB table using AWS CLI?
      easy
      A. --billing-mode PAY_PER_REQUEST
      B. --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
      C. --capacity-mode ON_DEMAND
      D. --read-write-capacity 10

      Solution

      1. Step 1: Recall AWS CLI syntax for provisioned capacity

        Provisioned mode requires specifying read and write capacity units using --provisioned-throughput with ReadCapacityUnits and WriteCapacityUnits.
      2. Step 2: Match correct syntax option

        --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 uses the correct syntax. The --billing-mode PAY_PER_REQUEST and --capacity-mode ON_DEMAND options specify on-demand mode, while --read-write-capacity is invalid.
      3. Final Answer:

        --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 -> Option B
      4. Quick Check:

        Provisioned throughput syntax = --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 [OK]
      Hint: Provisioned mode uses --provisioned-throughput flag [OK]
      Common Mistakes:
      • Using PAY_PER_REQUEST flag for provisioned mode
      • Confusing capacity mode flags
      • Using invalid flags like --read-write-capacity
      3. Consider a DynamoDB table in provisioned mode with ReadCapacityUnits=5 and WriteCapacityUnits=5. If your application suddenly sends 20 read requests per second, what will happen?
      medium
      A. All 20 read requests succeed without delay
      B. The table switches to on-demand mode automatically
      C. Some read requests may be throttled due to exceeding capacity
      D. DynamoDB automatically increases capacity to handle 20 requests

      Solution

      1. Step 1: Understand provisioned capacity limits

        Provisioned mode sets fixed read/write capacity units. Here, 5 read units allow about 5 strongly consistent reads per second.
      2. Step 2: Analyze traffic exceeding capacity

        Sending 20 read requests exceeds the provisioned 5 units. DynamoDB throttles excess requests instead of automatically scaling or switching modes.
      3. Final Answer:

        Some read requests may be throttled due to exceeding capacity -> Option C
      4. Quick Check:

        Exceeding provisioned units causes throttling [OK]
      Hint: Provisioned mode throttles if requests exceed capacity [OK]
      Common Mistakes:
      • Assuming automatic scaling in provisioned mode
      • Thinking all requests always succeed
      • Believing table switches modes automatically
      4. You created a DynamoDB table with the following command:
      aws dynamodb create-table --table-name MyTable --billing-mode PROVISIONED

      But you forgot to specify provisioned throughput. What will happen?
      medium
      A. Table is created with default capacity of 5 read and 5 write units
      B. Table is created but capacity is unlimited
      C. Table is created in on-demand mode automatically
      D. Table creation fails with an error about missing provisioned throughput

      Solution

      1. Step 1: Check requirements for provisioned mode

        Provisioned mode requires specifying ReadCapacityUnits and WriteCapacityUnits explicitly during table creation.
      2. Step 2: Understand AWS CLI behavior on missing parameters

        Omitting provisioned throughput causes AWS CLI to return an error because required parameters are missing.
      3. Final Answer:

        Table creation fails with an error about missing provisioned throughput -> Option D
      4. Quick Check:

        Missing provisioned throughput causes creation error [OK]
      Hint: Provisioned mode needs capacity units specified [OK]
      Common Mistakes:
      • Assuming default capacity is assigned
      • Thinking table switches to on-demand mode
      • Believing capacity is unlimited without settings
      5. A startup expects unpredictable traffic spikes but wants to control costs during low usage. Which DynamoDB capacity mode strategy is best to balance cost and performance?
      hard
      A. Use on-demand mode to automatically handle spikes and pay per request
      B. Use provisioned mode with low capacity and manually increase during spikes
      C. Use provisioned mode with high capacity to handle spikes
      D. Switch between on-demand and provisioned modes daily

      Solution

      1. Step 1: Analyze startup traffic pattern

        Unpredictable spikes mean traffic varies a lot, so automatic scaling is important to avoid throttling or overpaying.
      2. Step 2: Evaluate capacity mode options for cost and performance

        On-demand mode charges per request and scales automatically, ideal for unpredictable traffic and cost control. Provisioned mode requires manual adjustments and risks throttling or wasted capacity.
      3. Final Answer:

        Use on-demand mode to automatically handle spikes and pay per request -> Option A
      4. Quick Check:

        Unpredictable traffic = On-demand mode best [OK]
      Hint: Unpredictable traffic? Choose on-demand mode [OK]
      Common Mistakes:
      • Choosing high provisioned capacity wastes money
      • Manually adjusting capacity is slow and error-prone
      • Switching modes daily is not supported