
Answer-first summary for fast verification
Answer: Set up a new Amazon Aurora PostgreSQL DB cluster that includes an Aurora Replica. Issue queries to the Aurora Replica to generate the reports.
## Explanation **Correct Answer: B** **Why Option B is correct:** 1. **Least amount of change to application code**: The company is already using PostgreSQL, so switching to Amazon Aurora PostgreSQL (which is PostgreSQL-compatible) requires minimal code changes compared to switching to DocumentDB (MongoDB) or DynamoDB. 2. **Read scaling for reporting**: Aurora Replicas provide read-only endpoints that can handle reporting queries without impacting the primary database performance. 3. **Maintains data consistency**: Aurora Replicas provide synchronous replication, ensuring the reporting data is consistent with the primary database. 4. **No impact on document modifications**: By directing reporting queries to Aurora Replicas, the primary database remains available for document updates and new entries. **Why other options are incorrect:** **Option A (Amazon DocumentDB):** - Requires significant code changes since DocumentDB uses MongoDB API, not PostgreSQL - Involves migrating from relational to document database - Not the "least amount of change" solution **Option C (RDS Multi-AZ with secondary node):** - RDS Multi-AZ secondary nodes are primarily for failover, not for read scaling - Secondary nodes in Multi-AZ deployments are not designed for read traffic (they're synchronous replicas for high availability) - Aurora Replicas are specifically designed for read scaling **Option D (Amazon DynamoDB):** - Requires complete database migration from PostgreSQL to NoSQL - Significant application code changes needed - DynamoDB is not ideal for complex relational queries needed for reporting - Documents are already stored in S3, so moving them to DynamoDB doesn't make sense **Key AWS Concepts:** - **Amazon Aurora Replicas**: Provide up to 15 read replicas that can be used for read scaling - **Read scaling**: Offloading read-intensive operations (like reporting) to replicas improves performance - **Database compatibility**: Staying with PostgreSQL-compatible database minimizes code changes - **Reporting optimization**: Using read replicas for long-running reporting queries prevents impact on transactional workloads
Author: LeetQuiz Editorial Team
Ultimate access to all questions.
No comments yet.
A company hosts a three-tier web application that includes a PostgreSQL database. The database stores the metadata from documents. The company searches the metadata for key terms to retrieve documents that the company reviews in a report each month. The documents are stored in Amazon S3. The documents are usually written only once, but they are updated frequently.
The reporting process takes a few hours with the use of relational queries. The reporting process must not prevent any document modifications or the addition of new documents. A solutions architect needs to implement a solution to speed up the reporting process.
Which solution will meet these requirements with the LEAST amount of change to the application code?
A
Set up a new Amazon DocumentDB (with MongoDB compatibility) cluster that includes a read replica. Scale the read replica to generate the reports.
B
Set up a new Amazon Aurora PostgreSQL DB cluster that includes an Aurora Replica. Issue queries to the Aurora Replica to generate the reports.
C
Set up a new Amazon RDS for PostgreSQL Multi-AZ DB instance. Configure the reporting module to query the secondary RDS node so that the reporting module does not affect the primary node.
D
Set up a new Amazon DynamoDB table to store the documents. Use a fixed write capacity to support new document entries. Automatically scale the read capacity to support the reports.