Skip to content
BytePatterns

SAA-C03 · Domain 4: Design Cost-Optimized Architectures · 20% of the exam

Task 4.3: Design cost-optimized database solutions.

Database cost by design: provisioned versus serverless and on-demand capacity, caching to buy fewer reads, snapshot and retention policies, and moving to a cheaper engine.

Study it

  • Database cost: provisioned or serverless, DynamoDB capacity modes, snapshots and retention

    Partly covered by: RDS vs DynamoDB

  • Cost visibility: Cost Explorer, Budgets, Cost and Usage Report and cost allocation tags

    Lesson coming

Sample questions

Try each one before opening the answer. Every option is explained, with the AWS documentation page that proves it.

Question 1 · choose 1

An inventory service on DynamoDB has run for a year with steady, predictable traffic that varies little by hour, and the company expects the same for three more years. Read and write throughput make up almost all of the table's cost, and the table uses on-demand capacity mode. How can a solutions architect reduce the cost the most?

  1. AKeep on-demand capacity mode and add a DAX cluster in front of the table
  2. BSwitch to provisioned capacity with auto scaling, plus reserved capacity
  3. CConvert the table to a global table so that reads spread across Regions
  4. DMove the table to the DynamoDB Standard-IA table class to cut its costs
Show the answer and why
  • AKeep on-demand capacity mode and add a DAX cluster in front of the table

    Incorrect

    DAX adds cache nodes to pay for, and on-demand pricing still applies to every request that reaches the table.

  • BSwitch to provisioned capacity with auto scaling, plus reserved capacity

    Correct

    Provisioned capacity suits steady, predictable workloads, and reserved capacity gives discounted pricing in exchange for a committed minimum.

  • CConvert the table to a global table so that reads spread across Regions

    Incorrect

    Global tables add replica tables and replicated writes, which raises cost rather than lowering it.

  • DMove the table to the DynamoDB Standard-IA table class to cut its costs

    Incorrect

    Standard-IA is optimized for tables where storage is the dominant cost. This table's cost is throughput, and reserved capacity is only for the Standard class.

On-demand pays for flexibility the table does not use. Steady load is cheapest on provisioned capacity with a reserved commitment.

Question 2 · choose 1

A company has 40 development databases on Amazon Aurora PostgreSQL, each on a provisioned DB instance that runs around the clock. Each database is used for a few hours a week at unpredictable times and sits idle otherwise. A short delay while a paused database resumes is acceptable. Which change reduces cost the most?

  1. AAdd an Aurora Replica to each cluster so that the read load is shared
  2. BBuy Reserved DB Instances for all 40 of the provisioned DB instances
  3. CMove every cluster to Aurora Serverless with a minimum of 0 ACUs
  4. DMove each database to an Amazon RDS for PostgreSQL Multi-AZ instance
Show the answer and why
  • AAdd an Aurora Replica to each cluster so that the read load is shared

    Incorrect

    Each replica is another DB instance to pay for, which raises cost for databases that are mostly idle.

  • BBuy Reserved DB Instances for all 40 of the provisioned DB instances

    Incorrect

    Reserved DB instances discount instances that keep running; the company would still pay for every idle hour.

  • CMove every cluster to Aurora Serverless with a minimum of 0 ACUs

    Correct

    With a minimum of 0 ACUs, an idle Aurora Serverless instance pauses automatically, and instance capacity is not charged while it is paused.

  • DMove each database to an Amazon RDS for PostgreSQL Multi-AZ instance

    Incorrect

    A Multi-AZ deployment adds a standby instance, so it costs more for the same idle databases.

Mostly idle databases with an acceptable resume delay are the case for scaling to zero ACUs with automatic pause.

Question 3 · choose 1

A company runs Oracle Database on premises and wants to cut licensing costs by moving to Amazon Aurora PostgreSQL. Tables, views and stored procedures must be converted, and the data must move with minimal downtime while the source keeps taking writes. Which approach should a solutions architect recommend?

  1. AConvert with DMS Schema Conversion, then run an AWS DMS full load with ongoing replication
  2. BMove to Amazon RDS for Oracle with the License Included model by using Oracle Data Pump
  3. CUse an AWS DMS full load task alone and let it create the target schema from the tables
  4. DRestore an Oracle RMAN backup from Amazon S3 directly into the Aurora PostgreSQL cluster
Show the answer and why
  • AConvert with DMS Schema Conversion, then run an AWS DMS full load with ongoing replication

    Correct

    DMS Schema Conversion supports Oracle to Aurora PostgreSQL, including code objects, and DMS ongoing replication keeps the target in sync until cutover.

  • BMove to Amazon RDS for Oracle with the License Included model by using Oracle Data Pump

    Incorrect

    The database stays on Oracle, so Oracle licensing cost remains, now bundled into the instance price.

  • CUse an AWS DMS full load task alone and let it create the target schema from the tables

    Incorrect

    DMS creates only basic schema objects such as tables and primary keys; it does not convert code such as stored procedures.

  • DRestore an Oracle RMAN backup from Amazon S3 directly into the Aurora PostgreSQL cluster

    Incorrect

    An RMAN backup is an Oracle-format backup; a different engine needs its schema converted and the data migrated, not a restore.

A heterogeneous migration has two halves: convert the schema and code, then move the data with change data capture for minimal downtime.

Question 4 · choose 1

A company takes a manual snapshot of its Amazon RDS for PostgreSQL database every day and has never deleted one, so snapshot storage costs keep growing. The requirements are a point-in-time restore to any moment in the last 14 days and one backup per month kept for one year. Which solution meets the requirements at the LOWEST cost?

  1. A14-day automated backups, plus an AWS Backup plan that keeps a monthly backup for 1 year
  2. BKeep the daily manual snapshots and copy them to another Region for cheaper storage
  3. CSet the automated backup retention period to its maximum of 35 days and keep the manual snapshots
  4. DReplace the snapshots with a read replica that is kept running for one year
Show the answer and why
  • A14-day automated backups, plus an AWS Backup plan that keeps a monthly backup for 1 year

    Correct

    Automated backups with a 14-day retention period give point-in-time restore for 14 days, and the backup plan keeps 12 monthly backups and deletes them on schedule, so the old manual snapshots can go.

  • BKeep the daily manual snapshots and copy them to another Region for cheaper storage

    Incorrect

    Copies add storage and transfer charges in a second Region. They do not remove the snapshots that cause the growth.

  • CSet the automated backup retention period to its maximum of 35 days and keep the manual snapshots

    Incorrect

    Manual snapshots are kept until someone deletes them, so the growth continues, and 35 days of retention is more than required.

  • DReplace the snapshots with a read replica that is kept running for one year

    Incorrect

    A replica copies current data and cannot restore to a past point in time, and a running instance costs more than backups.

Let retention rules delete what is no longer needed: automated backups for the point-in-time window, a backup plan for the long-term copies.

Question 5 · choose 1

A DynamoDB table stores user session records that are useless 24 hours after they are created. The table keeps growing, and a nightly job that scans the table and deletes old items consumes a large amount of write capacity. Which solution reduces cost with the LEAST effort?

  1. AChange the table to the DynamoDB Standard-IA table class
  2. BTurn on Time to Live with an expiration timestamp attribute on each item
  3. CDelete and recreate the table every night after exporting its data to Amazon S3
  4. DRun the delete job once a week instead of every night
Show the answer and why
  • AChange the table to the DynamoDB Standard-IA table class

    Incorrect

    Standard-IA lowers the price of storage, but the stale items still pile up and the delete job still pays for its scans and writes.

  • BTurn on Time to Live with an expiration timestamp attribute on each item

    Correct

    TTL deletes expired items automatically and does not consume write throughput, so the scan-and-delete job can be retired.

  • CDelete and recreate the table every night after exporting its data to Amazon S3

    Incorrect

    Recreating a table interrupts the application and adds export and rebuild work every night.

  • DRun the delete job once a week instead of every night

    Incorrect

    The same items still have to be scanned and deleted, and stale items stay stored for up to a week longer.

Data with a natural expiry should carry a TTL attribute, so that DynamoDB removes it for free.

Question 6 · choose 1

A company runs Microsoft SQL Server Enterprise Edition on EC2 for an application that uses T-SQL and connects over the SQL Server wire protocol (TDS). It wants to cut licensing costs by moving to an open-source engine while changing as little application code as possible. Which solution meets these requirements?

  1. AAmazon RDS for SQL Server with the License Included model
  2. BAmazon DynamoDB, with the data access code rewritten for its API
  3. CAmazon Aurora PostgreSQL with Babelfish turned on
  4. DAmazon RDS for MySQL, with the stored procedures converted by DMS Schema Conversion
Show the answer and why
  • AAmazon RDS for SQL Server with the License Included model

    Incorrect

    RDS manages the database, but the SQL Server license is still paid, only bundled into the instance price.

  • BAmazon DynamoDB, with the data access code rewritten for its API

    Incorrect

    Moving from SQL to a key-value API means rewriting the data access layer, the opposite of minimal change.

  • CAmazon Aurora PostgreSQL with Babelfish turned on

    Correct

    Babelfish lets Aurora PostgreSQL accept T-SQL over the TDS protocol, so the application can keep most of its code and drivers on an open-source engine.

  • DAmazon RDS for MySQL, with the stored procedures converted by DMS Schema Conversion

    Incorrect

    Conversion moves the schema and procedures, but the application would still have to switch drivers and rewrite its T-SQL for MySQL.

To leave SQL Server licensing with the fewest code changes, use the engine that speaks SQL Server's dialect and protocol: Babelfish for Aurora PostgreSQL.

Question 7 · choose 1

A DynamoDB table holds 30 TB of order history. The application writes new orders at a low, steady rate and rarely reads old orders, so storage makes up most of the table's monthly cost. Read and write performance must stay the same. Which change reduces cost the MOST?

  1. ASwitch the table from provisioned capacity to on-demand capacity mode
  2. BAdd a DAX cluster to serve the reads of old orders
  3. CCreate a global secondary index that projects only the order keys
  4. DChange the table class to DynamoDB Standard-Infrequent Access
Show the answer and why
  • ASwitch the table from provisioned capacity to on-demand capacity mode

    Incorrect

    The capacity mode changes how throughput is billed, which is a small part of this bill. Storage cost stays the same.

  • BAdd a DAX cluster to serve the reads of old orders

    Incorrect

    DAX adds a cluster to pay for and speeds up reads, which are rare here. It does not lower storage cost.

  • CCreate a global secondary index that projects only the order keys

    Incorrect

    An index stores its own copy of the projected attributes, which adds storage instead of removing it.

  • DChange the table class to DynamoDB Standard-Infrequent Access

    Correct

    Standard-IA lowers the price of storage for tables whose cost is mostly storage, with the same performance, durability and availability as the Standard class.

When storage dominates a DynamoDB bill, the Standard-IA table class is the lever. When throughput dominates, it is the capacity mode.

Question 8 · choose 2

An Aurora PostgreSQL cluster in the Aurora Standard configuration serves a read-heavy application. I/O charges are now about 40 percent of the cluster's total Aurora cost, and most reads repeat the same product queries. Which changes reduce cost? (Choose TWO.)

  1. AAdd three more Aurora Replicas to spread the reads
  2. BConvert the cluster to an Aurora global database with a secondary Region
  3. CSwitch the cluster to the Aurora I/O-Optimized configuration
  4. DMove the writer to a larger instance class so that each read finishes faster
  5. ECache the repeated product query results in Amazon ElastiCache
Show the answer and why
  • AAdd three more Aurora Replicas to spread the reads

    Incorrect

    Each replica is another DB instance to pay for, and the reads still incur I/O charges.

  • BConvert the cluster to an Aurora global database with a secondary Region

    Incorrect

    A secondary Region adds clusters and replication cost and does not reduce I/O.

  • CSwitch the cluster to the Aurora I/O-Optimized configuration

    Correct

    I/O-Optimized charges no separate fee for read and write I/O and is the better choice when I/O is 25 percent or more of Aurora spend.

  • DMove the writer to a larger instance class so that each read finishes faster

    Incorrect

    A bigger instance costs more per hour, and the reads still incur I/O charges.

  • ECache the repeated product query results in Amazon ElastiCache

    Correct

    Repeated reads served from the cache never reach the database, which removes their I/O and instance load.

Change the pricing model when I/O dominates, and stop paying for the same read twice with a cache.

Practise domain 4 →Practise all domains →