Architecture Design and Implementation Built for the Cloud · Topic 9 of 11

Database and Storage Selection and Scaling

Match RDS, Aurora, DynamoDB and Redshift to access patterns, scale them with replicas, Multi-AZ and global tables, and pick S3, EBS, EFS or FSx storage.

  • 5 min
In a nutshell
  • Match the engine to the access pattern: RDS or Aurora for relational, DynamoDB for key-value at scale, Redshift for analytics.
  • A Multi-AZ instance standby is not readable; a Multi-AZ DB cluster has readable standbys.
  • Read replicas and Aurora Replicas add read capacity; Aurora Replicas are also failover targets.

What it is

Data services are chosen from the workload, not from habit. The access pattern (key lookups, joins, scans of history), the consistency the business needs and the expected scale point to one database and one storage type.

Then the design adds high availability and read scale. The exam checks that you know which feature protects against which failure, and which one also adds read capacity.

Workloadaccess patternchoosesEngineRDS, Aurora, DynamoDB, Redshiftscales withReplicasMulti AZ, read replicas, global

How it works

Selecting the database

WorkloadChooseWhy
Relational, joins, existing engine (MySQL, PostgreSQL, Oracle, SQL Server)Amazon RDSManaged engines with minimal change
Relational at higher scale and availability, MySQL or PostgreSQL compatibleAmazon AuroraShared distributed storage across three AZs, fast replicas, Global Database
Key-value or document access at any scale with single-digit millisecond latencyAmazon DynamoDBServerless, scales horizontally, global tables
Analytics over large history, columnar scans, BIAmazon RedshiftColumnar data warehouse, provisioned or serverless

Model DynamoDB around the queries. Choose a partition key with many distinct values, and add global secondary indexes for other access patterns, because DynamoDB has no joins.

Aurora Serverless v2 scales capacity in small increments for variable workloads. Use it when load swings widely and you do not want to size instances.

Scaling for availability and reads

FeatureProtects againstAdds read capacityNotes
RDS Multi-AZ (one standby)AZ or instance failureNo, the standby is not readableSynchronous replication, automatic failover
RDS Multi-AZ DB clusterAZ or instance failureYes, two readable standbysAvailable for MySQL and PostgreSQL
RDS read replicasRead overload; can be promoted for DRYesAsynchronous, can be cross-Region
Aurora ReplicasInstance failure, read overloadYes, up to 15Share the cluster storage, act as failover targets
Aurora Global DatabaseRegional outageYes, in secondary RegionsStorage-level replication with typically low lag, managed failover
DynamoDB global tablesRegional outageYes, every replica is readable and writableMulti-active across Regions

DynamoDB global tables default to multi-Region eventual consistency, where concurrent writes to the same item resolve by last writer wins. Multi-Region strong consistency gives an RPO of zero and strongly consistent reads in any replica, but it needs exactly three Regions and has higher write latency.

Writesprimary RegionAurora clusterstorage replicationSecondary Regionread only clustermanaged failoverNew primary

Use Aurora Global Database when the app is relational and can write in one Region at a time. Use DynamoDB global tables when the app must write in several Regions.

Selecting storage by access pattern

Access patternChoose
Objects, data lakes, static content, backupsAmazon S3, with storage classes and lifecycle rules
Low-latency block storage for one instance (databases, boot volumes)Amazon EBS: gp3 by default, io2 for the highest sustained IOPS
Shared POSIX file system for Linux across AZsAmazon EFS
Windows SMB shares with Active DirectoryAmazon FSx for Windows File Server
HPC and ML with high parallel throughput, linked to S3Amazon FSx for Lustre
NFS, SMB and iSCSI with NetApp featuresAmazon FSx for NetApp ONTAP
ZFS workloads moving to AWSAmazon FSx for OpenZFS

For S3 performance, use multipart upload and byte-range fetches, and spread requests across prefixes. S3 Express One Zone gives the lowest latency for frequently accessed data in a single AZ.

S3 Intelligent-Tiering moves objects between access tiers automatically when the access pattern is unknown or changes over time.

How the exam asks about this

  • "Reporting queries slow down the production MySQL database, and the standby must also be readable" -> RDS Multi-AZ DB cluster, or read replicas for the reports.
  • "A global app must accept writes in three Regions and keep an RPO of zero" -> DynamoDB global tables with multi-Region strong consistency.
  • "Hundreds of Linux instances across AZs need the same shared files" -> Amazon EFS.

What to remember for the exam

  • Match the engine to the access pattern: RDS or Aurora for relational, DynamoDB for key-value at scale, Redshift for analytics.
  • A Multi-AZ instance standby is not readable; a Multi-AZ DB cluster has readable standbys.
  • Read replicas and Aurora Replicas add read capacity; Aurora Replicas are also failover targets.
  • Aurora Global Database is single-writer across Regions; DynamoDB global tables are multi-active.
  • MRSC global tables need exactly three Regions and give an RPO of zero.
  • EBS is single-AZ block storage, EFS is shared Linux files, FSx covers Windows, Lustre, ONTAP and OpenZFS.
Watch out

Read replicas use asynchronous replication, so a replica is not a zero data loss standby. When a scenario requires automatic failover with no data loss inside a Region, the answer is Multi-AZ, not a read replica.

Common mistakes

Pointing reports at a Multi-AZ standby. The single standby of an RDS Multi-AZ instance deployment cannot serve reads. Use read replicas or a Multi-AZ DB cluster.

Using Redshift for transactional lookups. Redshift is built for large analytical scans, not thousands of small row updates. Keep OLTP on RDS, Aurora or DynamoDB and load Redshift for analysis.

Choosing EBS for files shared across AZs. An EBS volume lives in one AZ, and Multi-Attach is limited to io1 and io2 volumes in the same AZ. Shared multi-AZ files need EFS or FSx.

Check yourself

  • Which RDS option protects against an AZ failure and also offloads reads?

    A Multi-AZ DB cluster, which has two readable standby instances in different AZs.

  • How do DynamoDB global tables resolve conflicting writes in the default mode?

    In multi-Region eventual consistency mode, the write with the latest timestamp wins for each item.

  • Which file storage fits HPC jobs that process data stored in S3?

    Amazon FSx for Lustre, which provides high parallel throughput and can link to an S3 bucket.

Topic 9 of 11 in Architecture Design and Implementation Built for the Cloud

Test yourself on Architecture Design and Implementation Built for the Cloud

The full AWS SAP-C03 question bank has 850 questions, with timed practice exams and an explanation for every answer.

This study guide is independent and is not affiliated with, endorsed by, or sponsored by AWS. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.