← Back to all articles
AWSDBS-C01Practice QuestionsCertificationDatabase

DBS-C01 Practice Questions

10 June 2026·5 min read·By Jacob
25% off
$7.99$5.99
one-time payment
Start practising →

Lifetime access · No subscription

7-day money-back guarantee

Special offer for AWS Certified Database Specialty (DBS-C01) Practice Exams

25% off full access

Your code is valid for 24 hours.

  • Practice question sets with real exam scenarios
  • Detailed explanations for every answer, right or wrong
  • Topic mode to drill specific exam domains
  • Exam simulator timed to match the real exam format

These questions cover Aurora, DynamoDB, and RDS connection management, areas that appear heavily in DBS-C01 and where the exam tests understanding of how each feature actually works, not just what it's called.


Question 1

An e-commerce application needs a database that remains writable during a regional AWS outage with a recovery time of under 1 minute. Which solution meets this requirement?

  • A) RDS MySQL with Multi-AZ enabled in a single region
  • B) Aurora MySQL with a read replica in a second region
  • C) Aurora Global Database with write forwarding enabled on the secondary region
  • D) RDS MySQL with automated cross-region snapshots
<details> <summary>Show Answer & Explanation</summary>

Answer: C — Aurora Global Database with write forwarding

Aurora Global Database replicates across up to 5 regions with typical lag under 1 second. In a regional failure, the secondary region can be promoted to primary (new writer) in under 1 minute, meeting the RTO requirement.

Comparing the options:

OptionScopeRTO on region failure
RDS Multi-AZSingle region (AZ failover)~1-2 minutes, but stays in same region
Aurora read replica (cross-region)Cross-region, read-only replicaPromotion is manual, minutes
Aurora Global DatabaseCross-region, managed failoverUnder 1 minute
Cross-region snapshotsDisaster recovery onlyHours

RDS Multi-AZ provides AZ-level failover within a region. It doesn't survive a full regional outage. A standard Aurora cross-region read replica requires manual promotion, which takes longer than the <1 minute requirement.

</details>

Question 2

A DynamoDB table stores user session data. The application uses a userId as the partition key and frequently queries all sessions for a specific applicationId. Queries are slow and consuming large amounts of read capacity. What is the most cost-effective fix?

  • A) Increase the provisioned RCU on the main table
  • B) Add a Global Secondary Index (GSI) with applicationId as the partition key
  • C) Switch to DynamoDB Streams and aggregate sessions in a Lambda function
  • D) Scan the entire table and filter by applicationId in application code
<details> <summary>Show Answer & Explanation</summary>

Answer: B — Add a GSI with applicationId as the partition key

DynamoDB queries are efficient only when they target a partition key. Querying by applicationId on a table partitioned by userId requires a full table scan: scanning every partition, reading every item, then filtering. This consumes RCU proportional to the total table size, not the result size.

A Global Secondary Index (GSI) with applicationId as the partition key creates a separate, sparse index that DynamoDB maintains automatically. Queries against the GSI target only the relevant partition. RCU consumption matches the result set size.

When to use each index type:

Index typeKey structureUse case
GSIDifferent partition key (and optional sort key)Query on non-primary attributes
LSISame partition key, different sort keySort/filter within a partition

Increasing RCU makes scans faster but doesn't reduce the cost per query: you're paying for more capacity to burn through the same wasteful scan pattern.

</details>

Question 3

An RDS MySQL database is running out of connections during traffic spikes. The application uses a serverless architecture with Lambda functions. Increasing max_connections causes memory pressure. What is the best architectural solution?

  • A) Increase the Lambda concurrency limit to reduce the number of simultaneous functions
  • B) Deploy RDS Proxy between the Lambda functions and the RDS instance
  • C) Switch to connection pooling inside each Lambda function using a persistent library
  • D) Migrate to a larger RDS instance class to increase the connection limit
<details> <summary>Show Answer & Explanation</summary>

Answer: B — RDS Proxy

Lambda functions each open their own database connection, which is a problem because:

  1. Each function invocation is a new process with no connection reuse
  2. At scale, hundreds of Lambda instances can exhaust RDS max_connections simultaneously
  3. Connection setup adds latency to every cold invocation

RDS Proxy sits between Lambda and RDS, maintaining a warm pool of database connections and multiplexing Lambda requests across them. Lambda functions connect to the Proxy endpoint rather than directly to RDS.

Without RDS ProxyWith RDS Proxy
N Lambda functions = N DB connectionsN Lambda functions share pooled connections
Connection exhaustion at scaleProxy queues requests above pool limit
Full TCP handshake + auth per LambdaProxy reuses persistent connections

Connection pooling inside Lambda is unreliable because Lambda execution environments are recycled unpredictably. The pool doesn't persist reliably between invocations. Increasing instance size raises the ceiling but doesn't solve the architectural problem.

</details>

Key Takeaways

  • Aurora Global Database = cross-region failover under 1 minute; RDS Multi-AZ is single-region AZ failover only
  • Querying non-primary-key attributes in DynamoDB needs a GSI: scanning is expensive and scales with total table size
  • RDS Proxy pools connections for Lambda; without it, each Lambda invocation creates a new database connection

Ready to test your knowledge?

AWS Certified Database Specialty (DBS-C01) Practice Exams

Put what you've learned to the test with practice questions that mirror the real exam.

Start Practising →