DBS-C01 Workload-Specific Database Design Practice Question
A company runs a customer relationship management (CRM) application on Amazon RDS for PostgreSQL. The application has a table 'customers' with columns: id (primary key), name, email, signup_date, and status. The table has 10 million rows. The application frequently queries by email address. The company also needs to run analytical queries that aggregate customers by signup_date and status. The DBA notices that the index on email is heavily used and causes high write latency. The company wants to improve write performance without sacrificing read performance for email queries. Which THREE actions should the database specialist take? (Choose THREE.)
⚠ Common exam trap
Watch out — candidates often think removing the email index (Option D) is acceptable to reduce write latency, but the question explicitly states read performance for email queries must not be sacrificed, so the index must be retained and optimized instead.
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 a BRIN index on signup_date.
A BRIN (Block Range INdex) index on signup_date is ideal for large tables where data is naturally ordered by insertion time. BRIN indexes are much smaller and have lower write overhead than B-tree indexes, making them suitable for analytical queries on signup_date without significantly impacting write performance.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Create a BRIN index on signup_date.
Why this is correct
BRIN indexes are lightweight and efficient for large tables with natural ordering, improving analytical queries with low write overhead.
- ✓
Change the index on email from B-tree to hash.
Why this is correct
Hash indexes are efficient for equality queries and have lower maintenance overhead than B-tree.
- ✓
Partition the customers table by signup_date using range partitioning.
Why this is correct
Partitioning can improve write performance by dividing the table into smaller pieces and helps analytical queries on date ranges.
- ✗
Remove the index on email to reduce write latency.
Why it's wrong here
Removing the index would degrade read performance for email queries.
- ✗
Create a GIN index on email.
Why it's wrong here
GIN indexes are for composite values like arrays, not for simple equality on email.
Go deeper
Related to this question
About these practice questions
Courseiva writes every DBS-C01 question from scratch — 1,663 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
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.