CLF-C02 Study Notes: Task Statement 3.4 — Identify AWS Database Services
1. Database Fundamentals
A database stores and organizes data so applications can create, read, update, and delete information.
AWS offers several database categories:
| Category | Main purpose | AWS examples |
|---|---|---|
| Relational | Structured data, tables, SQL, transactions | Amazon RDS, Amazon Aurora |
| NoSQL | Flexible, highly scalable key-value or document data | Amazon DynamoDB |
| In-memory | Very fast access to frequently used data | Amazon ElastiCache, DynamoDB Accelerator |
| Data warehouse | Large-scale analytics and reporting | Amazon Redshift |
| Database migration | Move databases or convert schemas | AWS DMS, AWS SCT |
| Bulk data transfer | Move large amounts of data using physical devices | AWS Snow Family |
| Online file/data transfer | Move files and datasets over a network | AWS DataSync |
2. Amazon RDS
What is Amazon RDS?
Amazon Relational Database Service (Amazon RDS) is a managed relational database service.
AWS manages much of the underlying infrastructure, including:
- Physical hardware
- Operating system maintenance
- Database installation and basic management
- Infrastructure provisioning
- Some patching, backups, and high-availability features
You select the database engine, instance type, storage, and configuration required by your application.
Supported database engines
Amazon RDS supports:
- MySQL
- MariaDB
- PostgreSQL
- Oracle
- Microsoft SQL Server
- Amazon Aurora
RDS database instances are available in different instance sizes and families, similar to Amazon EC2 instances.
RDS networking and security
- RDS instances are deployed inside a VPC.
- Access to an RDS instance is controlled using security groups.
- RDS allocates storage specifically for the database instance.
- An RDS database can be deployed in one Availability Zone or configured for Multi-AZ availability.
RDS Single-AZ
With a Single-AZ deployment:
- The database instance and its storage are in one Availability Zone.
- A failure in that Availability Zone can make the database unavailable.
- It is generally less resilient than a Multi-AZ deployment.
RDS Multi-AZ
A Multi-AZ deployment provides a standby database instance in a different Availability Zone.
Key characteristics:
- The standby is used for high availability and failover.
- Data is synchronously replicated from the primary to the standby.
- The standby is not normally used to serve read traffic.
- If the primary fails, RDS can fail over to the standby.
Exam keyword
Synchronous replication + high availability/failover = RDS Multi-AZ
3. RDS Read Replicas
An RDS read replica is a read-only copy of an RDS database.
Main benefits
- Improves read performance by distributing read requests.
- Can help support applications with read-heavy workloads.
- Can provide an additional copy of data for certain availability or recovery designs.
Important characteristics
- Read replicas are used for read operations.
- Replication is asynchronous.
- Applications must generally direct read traffic to the read replica.
- A read replica is different from an RDS Multi-AZ standby.
Multi-AZ versus Read Replica
| Feature | RDS Multi-AZ | RDS Read Replica |
|---|---|---|
| Primary purpose | High availability and failover | Read scalability |
| Replication | Synchronous | Asynchronous |
| Read traffic | Standby is not normally used for reads | Designed to serve read traffic |
| Typical use | Disaster recovery within a Region | Read-heavy applications |
| Failover | Automatic failover capability | Not primarily an automatic failover mechanism |
Exam trap
Do not confuse:
- Multi-AZ standby with a read replica
- Synchronous replication with asynchronous replication
A useful memory aid:
- Multi-AZ = maintain availability
- Read replica = increase read performance
- Multi-AZ = synchronous
- Read replica = asynchronous
4. Amazon Aurora
What is Aurora?
Amazon Aurora is a managed relational database engine compatible with:
- MySQL
- PostgreSQL
Aurora is part of the Amazon RDS family but has a different architecture and storage design.
Aurora architecture
An Aurora cluster generally includes:
- One primary database instance
- Zero or more Aurora Replicas
- A shared cluster storage volume
Aurora Replicas can support:
- Read scaling
- Improved availability
- Failover within the Aurora cluster
Aurora storage
Unlike a traditional RDS database instance, Aurora uses shared cluster storage rather than storage that is tied to only one compute instance.
The Aurora storage system is designed to provide:
- Faster provisioning
- Improved availability
- High performance
- Multiple copies of data across Availability Zones
The transcript describes Aurora storage as maintaining multiple copies across three Availability Zones.
Aurora versus standard RDS
| Feature | Amazon RDS | Amazon Aurora |
|---|---|---|
| Database engines | MySQL, MariaDB, PostgreSQL, Oracle, SQL Server, Aurora | MySQL-compatible and PostgreSQL-compatible |
| Storage architecture | Storage associated with the RDS database instance | Shared cluster volume |
| Read replicas | Primarily improve read performance | Can improve reads and support availability/failover |
| Management | Managed by AWS | Managed by AWS |
| Typical selection | Broad database engine compatibility | Higher-performance relational workloads using MySQL or PostgreSQL compatibility |
Exam tip
If the question requires a managed relational database compatible with MySQL or PostgreSQL and emphasizes improved performance, shared storage, or Aurora-specific features, consider Amazon Aurora.
5. Aurora Serverless
Aurora Serverless is a version of Aurora where AWS automatically adjusts database compute capacity based on application demand.
Key concepts
- Uses Aurora Capacity Units (ACUs).
- You specify a minimum and maximum capacity.
- Capacity automatically scales within that range.
- It is useful for workloads with variable or unpredictable demand.
- The database can scale down significantly during periods of low activity.
- In some configurations, capacity can scale to zero and the database can pause after inactivity.
- When paused, storage charges still apply.
When to choose Aurora Serverless
Use it when:
- Workloads are intermittent or unpredictable.
- You do not want to provision database instance capacity manually.
- You want capacity to adjust automatically based on demand.
- Cost savings during periods of inactivity are important.
Exam trap
Aurora Serverless does not mean that storage is free. Even if the database is paused, storage charges still apply.
6. Aurora Global Database
Aurora Global Database allows Aurora data to be replicated across AWS Regions.
Benefits
- Supports global business continuity and disaster recovery.
- Improves recovery point objective (RPO) and recovery time objective (RTO).
- Provides read-only data closer to users in other Regions.
- Can improve read performance for globally distributed applications.
- Replication occurs at the storage layer and is generally very fast.
Exam clues
Look for requirements such as:
- Cross-Region database replication
- Global disaster recovery
- Low recovery time
- Users in multiple Regions needing local read access
These requirements may point to Aurora Global Database.
7. Amazon DynamoDB
What is DynamoDB?
Amazon DynamoDB is a fully managed NoSQL database service.
It supports:
- Key-value data
- Structured data
- Flexible schemas
- High performance at scale
AWS manages the servers and infrastructure, so you do not need to manage database instances or operating systems.
Key characteristics
- Designed for low-latency access.
- Highly resilient across multiple Availability Zones within an AWS Region.
- Supports automatic scaling options.
- Can be configured for global tables for multi-Region replication and resilience.
- Global tables result in additional charges.
Capacity modes
DynamoDB provides two important capacity options:
Provisioned capacity
- You specify the expected read and write capacity.
- Capacity can be manually adjusted.
- Useful when usage is predictable.
On-demand capacity
- AWS automatically handles capacity scaling.
- Useful when traffic is unpredictable or workloads are difficult to forecast.
- Helps reduce the need to plan capacity in advance.
When to choose DynamoDB
Choose DynamoDB when the application requires:
- A managed NoSQL database
- Key-value or document data
- High scalability
- Low-latency access
- No need to manage database servers
- Flexible data structures
DynamoDB versus RDS
| Feature | DynamoDB | Amazon RDS |
|---|---|---|
| Database type | NoSQL | Relational SQL |
| Data model | Key-value/document | Tables, rows, columns, relationships |
| Scaling | Designed for highly scalable workloads | Instance and storage-based scaling |
| Schema | Flexible | Structured relational schema |
| Management | Fully managed | Managed database instances |
| Best for | High-scale application access | Relational data and SQL transactions |
Exam trap
DynamoDB is not a relational database and does not use traditional SQL relational database architecture in the same way as RDS.
8. Amazon ElastiCache
Amazon ElastiCache is a managed in-memory caching service.
It supports:
- Redis
- Memcached
Main use cases
ElastiCache stores frequently accessed data in memory so applications can retrieve it faster.
It can:
- Improve application read performance
- Reduce the number of read requests sent to a database
- Reduce database load
- Store user session state
- Support highly available and fault-tolerant application architectures
When to choose ElastiCache
Choose ElastiCache when an application needs:
- Faster reads
- A cache in front of a database
- Temporary data storage
- Session state storage
- Redis or Memcached
Exam clue
If the question mentions Redis or Memcached, the likely answer is Amazon ElastiCache.
9. DynamoDB Accelerator (DAX)
DynamoDB Accelerator, commonly called DAX, is an in-memory cache designed specifically for DynamoDB.
Key characteristics
- Provides microsecond-level read latency for cached DynamoDB data.
- Helps with latency-sensitive, high-read workloads.
- Reduces the number of read requests sent directly to DynamoDB.
- Requires minimal or no application changes when used appropriately with DynamoDB.
DAX versus ElastiCache
| Feature | DAX | ElastiCache |
|---|---|---|
| Designed for | Amazon DynamoDB | General application caching |
| Engines | DynamoDB-specific caching layer | Redis or Memcached |
| Primary use | Very fast DynamoDB reads | General-purpose caching and session storage |
| Best for | High-read, latency-sensitive DynamoDB workloads | Caching database results or application sessions |
DAX limitation
DAX is not the best choice for applications that require strongly consistent reads. It is primarily suited to workloads that can use eventually consistent reads.
Exam tip
“What is the best caching service for DynamoDB?†→ DAX
“What is the best general-purpose managed cache using Redis or Memcached?†→ ElastiCache
10. Amazon Redshift
What is Redshift?
Amazon Redshift is a managed, petabyte-scale data warehouse designed for analytics.
It is a column-based database service optimized for:
- Reporting
- Business intelligence
- Data analysis
- Aggregation
- Large analytical queries
- Data warehousing
OLTP versus OLAP
OLTP: Online Transaction Processing
Typical characteristics:
- Frequent inserts, updates, and deletes
- Individual record transactions
- Used by application databases
- Commonly associated with relational databases such as RDS
OLAP: Online Analytical Processing
Typical characteristics:
- Large queries across many records
- Aggregations and summaries
- Reporting and analytics
- Data warehouse workloads
- Commonly associated with Amazon Redshift
| Workload | Suitable service |
|---|---|
| Application transactions and record updates | Amazon RDS or Aurora |
| Large-scale reporting and analytics | Amazon Redshift |
Redshift integrations
Redshift can receive data from sources such as:
- Amazon S3
- Amazon DynamoDB
- AWS Database Migration Service
- Amazon Kinesis
- Other databases
Redshift Spectrum
Redshift Spectrum allows queries to access data directly in Amazon S3 without first loading all of the data into Redshift.
Exam clues
Choose Redshift when the question mentions:
- Data warehouse
- Petabyte-scale analytics
- Business intelligence
- Analytical queries
- Summarization
- Columnar storage
- OLAP
Exam trap
Redshift is not the normal choice for the transactional database behind an application. It is optimized for analytics, not OLTP.
11. AWS Snow Family
The AWS Snow Family consists of physical devices used to move large amounts of data into or out of AWS without relying entirely on network connectivity.
Snowcone
- Smallest Snow Family device.
- Designed for smaller data transfers and edge computing.
- Supports approximately 8 TB of storage in the context of this exam material.
Snowball Edge
Snowball Edge is used for:
- Data migration
- Data transport
- Edge computing
- Local data processing
- IoT sensor data collection
- Machine learning workloads
- Image processing
Snowball Edge comes in options such as:
- Storage Optimized
- Compute Optimized
It supports storage and compute capabilities, including selected EC2 instance types and AWS Lambda functions.
Exam clue
Moving terabytes to petabytes of data using an appliance with storage and compute capabilities → Snowball Edge
Snowmobile
- A highly specialized physical data transfer service.
- Used to move extremely large amounts of data.
- Suitable for approximately petabytes to exabytes of data.
Snow Family comparison
| Service | Typical data scale/use |
|---|---|
| Snowcone | Smaller transfers and edge computing |
| Snowball Edge | Terabytes to petabytes; storage and compute |
| Snowmobile | Petabytes to exabytes |
Exam trap
Do not choose Snowmobile for ordinary terabyte-scale migrations. Snowmobile is intended for extremely large datasets.
12. AWS Database Migration Service (AWS DMS)
AWS Database Migration Service helps migrate databases with minimal downtime.
How DMS works
You configure:
- A replication instance
- A source database endpoint
- A target database endpoint
- Authentication details as needed
DMS can:
- Copy existing data from the source to the target.
- Continue replicating new transactions.
- Allow the source database to remain operational during migration.
- Reduce downtime during the final application cutover.
Benefits
- Managed database migration.
- Supports migrations from on premises to AWS.
- Supports migrations from AWS to on premises.
- Supports migrations between different environments and cloud providers.
- Helps scale migration resources up or down.
Traditional backup-and-restore migration
A backup-and-restore migration usually requires:
- Stopping database operations.
- Taking a backup.
- Restoring the backup to the target.
- Updating the application to use the new endpoint.
This can require a significant outage.
DMS migration
DMS can replicate data while the source database remains active. The application is moved to the target after the data and recent transactions have been replicated.
Exam clue
“Migrate a database with minimal downtime†→ AWS DMS
13. AWS Schema Conversion Tool
The AWS Schema Conversion Tool (AWS SCT) helps convert database schemas and code between different database engines.
Use AWS SCT when:
- The source and target database engines are different.
- You need to convert schemas.
- You need assistance converting database code or structures as part of a migration.
DMS versus SCT
| Tool | Primary purpose |
|---|---|
| AWS DMS | Move the data |
| AWS SCT | Convert database schemas and code between database engines |
Exam trap
DMS and SCT may be used together, but they perform different functions:
- SCT converts
- DMS migrates
14. AWS DataSync
AWS DataSync is an online data transfer service used to move large amounts of file and dataset data.
It can transfer data between on-premises storage and:
- Amazon S3
- Amazon EFS
- Amazon FSx for Windows File Server
DataSync capabilities
DataSync helps automate:
- Copy jobs
- Scheduling
- Monitoring
- Data validation
- Network optimization
- Large-scale file transfers
It can transfer hundreds of terabytes and millions of files over:
- The internet
- AWS Direct Connect links
Common use cases
- Migrating active datasets to AWS
- Moving archives to AWS
- Transferring data for analysis
- Replicating data for business continuity
- Moving files to Amazon S3, EFS, or FSx
DataSync versus Snow Family
| Requirement | Appropriate service |
|---|---|
| Online transfer over a network | AWS DataSync |
| Physical appliance for limited or unreliable network connectivity | AWS Snow Family |
| Database replication with minimal downtime | AWS DMS |
15. Managed Database Services versus Databases on EC2
You can install and manage a database engine yourself on an EC2 instance, or you can use a managed database service.
Managed services: RDS, Aurora, DynamoDB, Redshift
Advantages include:
- Less infrastructure management
- No need to manage physical servers
- AWS handles much of the maintenance
- Easier high-availability configurations
- Easier scaling and provisioning
- Reduced operational overhead
Database on EC2
Running a database on EC2 may provide:
- More control over the operating system
- More control over database configuration
- Greater customization
- Ability to use software or database engines not supported by managed services
However, you are responsible for more tasks, such as:
- Operating system management
- Database installation
- Patching
- Backups
- Scaling
- High availability
- Failover configuration
- Infrastructure maintenance
Exam decision point
Choose a managed database service when the question emphasizes:
- Reducing operational overhead
- AWS-managed patching or infrastructure
- High availability
- Easier scaling
- Not wanting to manage database servers
Choose a database on EC2 when the question emphasizes:
- Maximum customization
- Full operating system control
- Unsupported database software
- Custom database configurations
There is no single database service that is best for every workload. The correct choice depends on:
- Data model
- Performance requirements
- Read/write patterns
- Availability requirements
- Consistency requirements
- Scaling needs
- Administrative control
- Migration requirements
16. High-Value Exam Comparisons
RDS versus Aurora
- RDS: Managed relational database service supporting several database engines.
- Aurora: AWS-managed relational engine compatible with MySQL and PostgreSQL, using shared cluster storage and Aurora-specific features.
RDS Multi-AZ versus Read Replica
- Multi-AZ: High availability and automatic failover; synchronous replication.
- Read replica: Read scaling; asynchronous replication.
RDS/Aurora versus DynamoDB
- RDS/Aurora: Relational, SQL-based, structured schema.
- DynamoDB: NoSQL, key-value/document model, highly scalable and managed.
ElastiCache versus DAX
- ElastiCache: General-purpose Redis or Memcached caching.
- DAX: DynamoDB-specific in-memory caching.
RDS/Aurora versus Redshift
- RDS/Aurora: Application transactions and OLTP.
- Redshift: Large-scale analytics and OLAP.
DMS versus DataSync
- DMS: Database migration and replication.
- DataSync: Online file and data transfer.
DMS versus SCT
- DMS: Moves database data.
- SCT: Converts database schemas and code.
Snowball Edge versus Snowmobile
- Snowball Edge: Terabytes to petabytes, with storage and compute.
- Snowmobile: Petabytes to exabytes.
17. Exam Tips and Traps
- Synchronous replication usually indicates Multi-AZ.
- Asynchronous replication usually indicates a read replica.
- An RDS Multi-AZ standby is not intended to serve normal read traffic.
- Read replicas are primarily for read scalability.
- DAX is specifically for DynamoDB.
- ElastiCache supports Redis and Memcached.
- Use Redshift for analytics and data warehousing, not ordinary application transactions.
- Redshift is associated with OLAP; RDS and Aurora are commonly associated with OLTP.
- Use DMS for database migration with minimal downtime.
- Use SCT when converting between different database engines.
- Use DataSync for online file and dataset transfers.
- Use Snowball Edge for terabytes to petabytes when a physical appliance is appropriate.
- Use Snowmobile for petabytes to exabytes.
- DynamoDB is NoSQL, not a traditional relational database.
- Aurora Serverless can scale based on demand, but storage charges still apply.
- A managed service reduces operational work but may offer less customization than running a database directly on EC2.
18. Example CLF-C02 Questions
Question 1
A company wants a managed relational database with automatic failover to another Availability Zone. The standby database must receive changes synchronously from the primary database. Which option should the company choose?
A. An RDS read replica
B. An RDS Multi-AZ deployment
C. Amazon ElastiCache
D. Amazon DynamoDB global tables
Answer: B. An RDS Multi-AZ deployment
Explanation: RDS Multi-AZ uses synchronous replication to a standby instance in another Availability Zone and supports high availability and failover.
Question 2
An application has a large number of read requests against an Amazon RDS database. The company wants to scale read operations without changing the primary database. Which solution should be used?
A. RDS read replica
B. RDS Multi-AZ standby
C. AWS Snowball Edge
D. Amazon Redshift
Answer: A. RDS read replica
Explanation: Read replicas are read-only copies that use asynchronous replication and are designed to improve read performance.
Question 3
A company needs a highly scalable, fully managed NoSQL database for key-value application data. Which AWS service should it use?
A. Amazon RDS
B. Amazon Redshift
C. Amazon DynamoDB
D. Amazon Aurora
Answer: C. Amazon DynamoDB
Explanation: DynamoDB is a managed NoSQL database designed for scalable key-value and document workloads.
Question 4
A workload requires microsecond-level cached reads from Amazon DynamoDB. Which service is most appropriate?
A. Amazon ElastiCache for Memcached
B. Amazon DAX
C. Amazon Redshift
D. Amazon RDS read replicas
Answer: B. Amazon DAX
Explanation: DAX is an in-memory caching service designed specifically for DynamoDB and latency-sensitive, high-read workloads.
Question 5
A company needs a managed data warehouse for petabyte-scale business intelligence queries and reporting. Which service should it choose?
A. Amazon Redshift
B. Amazon DynamoDB
C. Amazon Aurora
D. Amazon ElastiCache
Answer: A. Amazon Redshift
Explanation: Redshift is a column-based, petabyte-scale data warehouse designed for analytical and OLAP workloads.
Question 6
A company wants to move a database from its data center to AWS while keeping the source database operational during most of the migration. Which service should it use?
A. AWS DataSync
B. AWS Database Migration Service
C. Amazon S3 Transfer Acceleration
D. AWS Snowmobile
Answer: B. AWS Database Migration Service
Explanation: AWS DMS replicates existing and ongoing database changes, allowing migration with minimal downtime.
Question 7
A company needs to convert the schema of an Oracle database so it can be used by a different database engine in AWS. Which tool should it use?
A. AWS DMS
B. AWS DataSync
C. AWS Schema Conversion Tool
D. Amazon Redshift Spectrum
Answer: C. AWS Schema Conversion Tool
Explanation: AWS SCT converts database schemas and code between different database engines. DMS is used to move the data.
Question 8
A company needs to transfer several petabytes of data to AWS using a physical device that provides storage and compute capabilities at a remote location. Which service is appropriate?
A. AWS Snowcone
B. AWS Snowball Edge
C. AWS Snowmobile
D. AWS DataSync
Answer: B. AWS Snowball Edge
Explanation: Snowball Edge supports terabytes to petabytes of data transfer and includes storage and compute capabilities. Snowmobile is intended for much larger petabyte-to-exabyte transfers.
Question 9
An organization needs to transfer millions of files from on-premises storage to Amazon S3 over a Direct Connect connection. Which service should it use?
A. AWS DataSync
B. AWS DMS
C. Amazon Redshift
D. Amazon DAX
Answer: A. AWS DataSync
Explanation: DataSync is designed for fast, automated online transfers between on-premises storage and services such as S3, EFS, and FSx.
Question 10
A company needs a managed cache that supports Redis and can store user session state for an application. Which service should it choose?
A. Amazon DynamoDB
B. Amazon Redshift
C. Amazon ElastiCache
D. AWS Snowball Edge
Answer: C. Amazon ElastiCache
Explanation: ElastiCache is a managed in-memory cache supporting Redis and Memcached. It can improve read performance and store session state.