4.3.2. Sample Questions - Domain 2: Design for New Solutions
Question 1:
A company is building a new real-time analytics platform. Data will be ingested from thousands of IoT devices, requiring high-throughput, low-latency writes, and the ability to perform complex analytical queries on the aggregated data. Which AWS database services should be used for this solution to meet both the ingestion and analytical requirements?
A) "Amazon RDS"
for ingestion and "Amazon Redshift"
for analytics
B) "Amazon DynamoDB"
for ingestion and "Amazon Redshift"
for analytics
C) "Amazon S3"
for ingestion and "Amazon Athena"
for analytics
D) "Amazon Kinesis Data Streams"
for ingestion and "Amazon Neptune"
for analytics
Correct Answer: B
Explanation:
- A)
"Amazon RDS"
for ingestion and"Amazon Redshift"
for analytics:"RDS"
(relational) is typically not designed for the extreme high-throughput, low-latency writes required by thousands of IoT devices. While"Redshift"
is good for analytics,"RDS"
is a bottleneck here. - B)
"Amazon DynamoDB"
for ingestion and"Amazon Redshift"
for analytics: "Amazon DynamoDB
" is a fully managed"NoSQL"
database service that provides single-digit millisecond performance at any scale, making it ideal for high-throughput, low-latency ingestion from many sources like IoT devices. "Amazon Redshift
" is a petabyte-scale data warehouse optimized for complex analytical queries ("OLAP"
). This combination perfectly fits the requirements for both real-time ingestion and large-scale analytics. This aligns with the First Principle of Purpose-Built Databases and Scalable Data Processing. - C)
"Amazon S3"
for ingestion and"Amazon Athena"
for analytics: While"S3"
can store ingested data and"Athena"
can query it,"S3"
itself isn't designed for low-latency writes for transactional ingestion from thousands of devices; it's an object store."Kinesis"
would be more appropriate for real-time ingestion before"S3"
. - D)
"Amazon Kinesis Data Streams"
for ingestion and"Amazon Neptune"
for analytics:"Kinesis Data Streams"
is excellent for high-throughput real-time ingestion. However,"Amazon Neptune"
is a graph database, suitable for highly connected data, not general complex analytical queries on aggregated data, which points to a data warehouse like"Redshift"
.
Question 2:
A financial application needs to store transaction records securely and immutably. It's critical that every change to a record is cryptographically verifiable, maintaining a complete and transparent history of all transactions that cannot be altered. Which AWS database service is designed specifically for this requirement?
A) "Amazon Aurora PostgreSQL"
B) "Amazon DynamoDB"
C) "Amazon Quantum Ledger Database (QLDB)"
D) "Amazon DocumentDB"
Correct Answer: C
Explanation:
- A)
"Amazon Aurora PostgreSQL"
:"Aurora PostgreSQL"
is a relational database. While it provides strong"ACID"
compliance and transaction logs, it does not inherently offer cryptographic verifiability or an immutable ledger for every change. - B)
"Amazon DynamoDB"
:"DynamoDB"
is a"NoSQL"
key-value/document database. It's highly scalable and performs well, but it's not a ledger database and doesn't provide cryptographic verifiability of all changes."DynamoDB Streams"
capture changes but don't guarantee immutability/verifiability in the same way. - C)
"Amazon Quantum Ledger Database (QLDB)"
: "Amazon QLDB
" is a fully managed ledger database that provides a transparent, immutable, and cryptographically verifiable transaction log owned by a central trusted authority. It's specifically designed for use cases where you need to maintain a complete and verifiable history of all application data changes. This directly addresses the requirement for secure, immutable, and cryptographically verifiable transaction records. This aligns with the First Principle of Immutable Data Integrity and Auditable Records. - D)
"Amazon DocumentDB"
:"DocumentDB"
is a"MongoDB"
-compatible document database. It's suitable for document workloads but does not provide the ledger capabilities or cryptographic verifiability that"QLDB"
offers.
Question 3:
A global application is experiencing high latency for users in different continents due to traffic traversing the public internet. The application uses a custom TCP-based protocol (not HTTP/S). The architect needs to improve performance and availability by routing user traffic over the AWS global network backbone to the optimal AWS endpoint, ensuring consistent latency for non-HTTP(S) traffic. Which AWS service should be used?
A) "Amazon CloudFront"
B) "Amazon Route 53"
C) "AWS Global Accelerator"
D) "AWS Direct Connect"
Correct Answer: C
Explanation:
- A)
"Amazon CloudFront"
:"CloudFront"
is a"Content Delivery Network (CDN)"
primarily designed for accelerating HTTP/S web content delivery. It does not support custom TCP protocols natively for general application traffic routing. - B)
"Amazon Route 53"
:"Route 53"
is a"DNS"
service. While it can direct users to different regions (e.g., via latency-based routing), it operates at the"DNS"
layer and does not route traffic over the AWS global network backbone or provide static"Anycast IP"
addresses for performance optimization beyond"DNS"
resolution. - C)
"AWS Global Accelerator"
: "AWS Global Accelerator
" is a networking service that improves the availability and performance of your applications with a static, fixed entry point ("Anycast IP"
addresses). It routes user traffic to optimal endpoints over the AWS global network backbone, bypassing public internet congestion. It supports both TCP and UDP protocols, making it ideal for non-HTTP(S) applications that require global performance and consistent routing. This directly addresses the requirements for improving performance, using the global network, and supporting custom TCP protocols. This aligns with the First Principle of Global Network Optimization and Any-Protocol Acceleration. - D)
"AWS Direct Connect"
:"Direct Connect"
provides a dedicated private connection between an on-premises data center and AWS. It's for hybrid cloud connectivity, not for routing end-user global internet traffic to an application in AWS.
Question 4:
A company is migrating a legacy application that relies heavily on a shared file system using the "POSIX"
standard. The application needs to run on multiple "EC2 instances"
simultaneously and access the same shared data. The architect needs a scalable, fully managed file storage solution in AWS that supports "POSIX"
file locking and can be accessed by multiple instances concurrently. Which AWS service is best suited for this requirement?
A) "Amazon S3"
B) "Amazon EBS"
C) "Amazon EFS"
D) "Amazon FSx for Windows File Server"
Correct Answer: C
Explanation:
- A)
"Amazon S3"
:"S3"
is object storage. It does not provide a hierarchical file system or support"POSIX"
file locking, and it's not designed for multiple"EC2 instances"
to access the same data simultaneously as a mounted file system. - B)
"Amazon EBS"
and"Multi-Attach"
:"EBS"
provides block storage volumes that can only be attached to a single"EC2 instance"
at a time (unless using"Multi-Attach"
, which has specific limitations for shared access without a cluster file system). It does not natively support shared file access across multiple instances with"POSIX"
semantics. - C)
"Amazon EFS"
: "Amazon Elastic File System (EFS)
" provides a simple, scalable, elastic, cloud-native"NFS"
file system. It supports the"POSIX"
standard, allowing multiple"EC2 instances"
(and on-premises servers via"Direct Connect"
/"VPN"
) to access the same file system concurrently. This directly addresses the requirements for a scalable, fully managed, shared"POSIX"
file system accessible by multiple instances. This aligns with the First Principle of Shared File System Elasticity and"POSIX"
Compliance. - D)
"Amazon FSx for Windows File Server"
:"FSx for Windows File Server"
provides a fully managed, highly reliable, and scalable file storage built on"Windows Server"
. While it is a shared file system, it's optimized for Windows-based applications using the"SMB"
protocol, not typically for"POSIX"
-compliant applications running on Linux"EC2 instances"
.
Question 5:
A high-traffic web application needs to improve its responsiveness and reduce the load on its primary "Amazon Aurora PostgreSQL"
database. The application has many read-heavy workloads, and some data is accessed very frequently. The architect wants to implement an in-memory caching solution that supports complex data structures like lists and hashes and offers high availability. Which AWS service should be recommended?
A) "Amazon DynamoDB Accelerator (DAX)"
B) "Amazon ElastiCache for Memcached"
C) "Amazon ElastiCache for Redis"
D) "Amazon CloudFront"
Correct Answer: C
Explanation:
- A)
"Amazon DynamoDB Accelerator (DAX)"
:"DAX"
is an in-memory cache specifically designed for "Amazon DynamoDB
". It will not work with an"Amazon Aurora PostgreSQL"
database. - B)
"Amazon ElastiCache for Memcached"
:"Memcached"
is an in-memory key-value store that is simple and performs well for basic object caching. However, it does not natively support complex data structures like lists and hashes or advanced features like persistence and replication for high availability as robustly as"Redis"
. - C)
"Amazon ElastiCache for Redis"
: "Amazon ElastiCache for Redis
" is a fully managed, in-memory data store that supports complex data structures (strings, hashes, lists, sets, sorted sets), pub/sub messaging, and provides options for high availability (replication groups with automatic failover) and persistence. This directly addresses the requirements for improving responsiveness, reducing database load, supporting complex data structures, and ensuring high availability for an in-memory cache. This aligns with the First Principle of Database Offloading and High-Performance Caching. - D)
"Amazon CloudFront"
:"CloudFront"
is a"CDN"
used for caching static and dynamic web content at edge locations worldwide. While it improves content delivery performance, it's not an in-memory caching solution for direct database query results or complex application-level data structures behind an application server.