Courseiva
Workload-Specific Database DesignhardMultiple ChoiceObjective-mapped

DBS-C01 Workload-Specific Database Design Practice Question

A company runs a multi-tenant SaaS platform on AWS. Each tenant has their own database schema within a shared PostgreSQL database on Amazon RDS. The platform has grown to thousands of tenants, and the single RDS instance is experiencing performance degradation due to resource contention. Queries from one tenant can impact others. The company needs a solution that isolates tenants, provides predictable performance, and allows easy scaling. They also want to minimize application changes. The application uses an ORM that dynamically constructs SQL queries based on the tenant ID. Which solution is BEST?

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Create separate RDS instances for each tenant and use RDS Proxy to pool connections per tenant. Modify the application to select the appropriate database instance based on tenant ID.

The best solution because it provides full tenant isolation by assigning each tenant a separate RDS instance, eliminating resource contention and ensuring predictable performance. RDS Proxy efficiently manages connection pooling for each instance, reducing overhead. The application change is minimal: the ORM can be configured to dynamically select the correct database instance based on the tenant ID, preserving the existing SQL-based logic. In contrast, Option A (Aurora Auto Scaling) still shares a single database, offering no isolation. Option C (RDS Proxy on the existing instance) also fails to isolate tenants. Option D (DynamoDB) would require a complete rewrite of the data layer, violating the requirement to minimize application changes.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Migrate to Amazon Aurora PostgreSQL and use Aurora Auto Scaling to add reader nodes as needed.

    Why it's wrong here

    Auto Scaling adds read replicas but does not isolate tenants; all tenants still share the same writer instance.

  • Create separate RDS instances for each tenant and use RDS Proxy to pool connections per tenant. Modify the application to select the appropriate database instance based on tenant ID.

    Why this is correct

    This provides full isolation and predictable performance. RDS Proxy reduces connection overhead. Application changes are limited to connection routing logic.

  • Implement Amazon RDS Proxy in front of the existing RDS instance to manage connections and reduce contention.

    Why it's wrong here

    RDS Proxy helps with connection management but does not isolate tenant workloads; resource contention remains.

  • Migrate the application to use Amazon DynamoDB with tenant ID as the partition key, using global tables for scalability.

    Why it's wrong here

    This requires significant application changes (replacing ORM with DynamoDB API), contradicting the goal to minimize changes.

About these practice questions

This DBS-C01 question is part of Courseiva's 1,663-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This DBS-C01 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DBS-C01 exam.