Data Engineer Associate · 26% of the exam

Data Store Management: free practice questions

5 sample questions from our 65-question bank for this domain — answers and explanations included. These are the same scenario-based style as the real AWS exam.

1. An analytics team needs to run complex multi-table JOIN queries on a 50 TB data warehouse hosted in Amazon Redshift. A central fact table, `orders`, contains 2 billion rows and is commonly joined to a `customers` dimension table containing 500,000 rows. Queries are slow because of data shuffling across slices. Which combination of distribution strategies will MOST reduce data movement? (Select TWO)

  • A. Apply KEY distribution on the `orders` table using the customer_id join column.✓ Correct
  • B. Apply ALL distribution on the `orders` fact table.
  • C. Apply ALL distribution on the `customers` dimension table.✓ Correct
  • D. Apply EVEN distribution on the `orders` table.
  • E. Apply KEY distribution on the `customers` table using the order_id column.
Explanation

Options A and C are correct. Applying KEY distribution on the large `orders` fact table using the customer_id join column co-locates matching rows from both tables on the same slice, eliminating network shuffling during joins. Applying ALL distribution on the small `customers` dimension table (500,000 rows) broadcasts a full copy to every slice, ensuring that the join can always be resolved locally. This KEY+ALL pattern is the standard Redshift best practice for large fact-to-small-dimension joins. Option B is wrong because applying ALL distribution to a 2-billion-row fact table would be extremely slow to maintain and consume enormous storage on every node. Option D is wrong because EVEN distribution spreads rows randomly, which does not co-locate join keys and does not eliminate shuffling. Option E is wrong because distributing `customers` on order_id makes no logical sense—customers do not have order_ids as a natural key—and would not co-locate the join.

2. An organization uses AWS Lake Formation governed tables to store sensitive customer data. A new business requirement mandates that any query accessing the `customers` table must be logged for auditing, and that the data science team should be able to read only rows where `region = 'US'`. Which Lake Formation features, used together, satisfy BOTH requirements?

  • A. Lake Formation row-level security (data filters) to restrict rows by region, and AWS CloudTrail data events enabled on the underlying S3 bucket for query auditing.
  • B. Lake Formation data filters to define a row filter expression `region = 'US'` and grant it to the data science team's role; CloudTrail automatically captures Lake Formation API calls including data access for governed tables.✓ Correct
  • C. Create a separate S3 prefix containing only US-region data, restrict S3 bucket policies to the data science team, and use S3 server access logging for auditing.
  • D. Use Amazon Macie to filter sensitive rows in real time and enable Amazon CloudWatch Logs for query auditing.
Explanation

Option B is correct. Lake Formation data filters (row-level and cell-level security) allow administrators to define a filter expression (e.g., `region = 'US'`) and associate it with a permission grant for a specific principal—the data science team will only ever see US rows when querying through Lake Formation-integrated engines. AWS CloudTrail automatically captures Lake Formation API calls and, for governed tables, records data access events, providing the required audit trail. This combination is the native, purpose-built Lake Formation solution. Option A is partially correct in concept but inaccurate: CloudTrail data events on S3 capture low-level S3 API calls (GetObject), not the logical SQL query context; Lake Formation's own audit logging via CloudTrail for governed tables is more meaningful for compliance. Option C is wrong because duplicating data creates consistency risks, S3 bucket policies do not enforce row-level security (a malicious user with S3 access could read all rows), and S3 server access logging captures HTTP requests, not SQL-level audit trails. Option D is wrong because Amazon Macie is a data security and privacy service that classifies sensitive data—it does not filter query results in real time—and CloudWatch Logs does not automatically capture Lake Formation data access events.

3. A startup is building a new application that stores IoT sensor readings from 100,000 devices. Each reading consists of `device_id`, `timestamp`, `temperature`, and `humidity`. The access pattern is: (1) write one reading per device every 10 seconds, and (2) query all readings for a specific device within a time range. The team expects the data volume to grow to hundreds of billions of rows. Which Amazon DynamoDB table design BEST supports these access patterns at scale?

  • A. Partition key: `device_id`, Sort key: `timestamp`. Query by partition key and use a sort key condition for time-range filtering.✓ Correct
  • B. Partition key: `timestamp`, Sort key: `device_id`. Query by timestamp to retrieve all devices in a time window.
  • C. Partition key: `device_id` only, with no sort key. Use DynamoDB Scan with FilterExpression for time-range queries.
  • D. Partition key: `reading_id` (UUID), with a GSI on `device_id`. Use the GSI to query readings per device.
Explanation

Option A is correct. Using `device_id` as the partition key distributes write traffic evenly across 100,000 devices (avoiding hot partitions), and using `timestamp` as the sort key allows efficient, index-native time-range queries (BETWEEN, >, <) within a device's partition using the Query API—no full table scans needed. This is the canonical DynamoDB design pattern for time-series device data. Option B is wrong because partitioning by `timestamp` would cause hot partition issues: all 100,000 devices writing every 10 seconds would concentrate writes into a very small set of partition key values (recent timestamps), creating severe throttling. Option C is wrong because using only `device_id` without a sort key stores only the latest item per device (DynamoDB requires a unique primary key), making it impossible to store multiple readings per device—or if using a workaround, a Scan with FilterExpression is an O(n) full-table operation that is extremely inefficient for hundreds of billions of rows. Option D is wrong because using a UUID as the partition key distributes items randomly, making it impossible to efficiently retrieve readings for a specific device without a GSI; the GSI on `device_id` would work, but GSIs do not support sort-key range queries on `timestamp` unless `timestamp` is the GSI sort key, making Option A a more direct and efficient design.

4. A financial services company runs a large Amazon Redshift cluster with hundreds of concurrent users. The team observes that short dashboard queries (typically 1–3 seconds) are frequently delayed because they queue behind long-running ETL jobs that consume all available WLM concurrency slots in the default queue. Dashboards require sub-5-second response times per SLA. ETL jobs can tolerate up to 30 minutes of additional delay. Which WLM configuration change BEST resolves the queuing problem while respecting both SLAs?

  • A. Enable automatic WLM and increase the `max_concurrency_scaling_clusters` parameter to allow Redshift to spin up additional transient clusters for the dashboard queries.
  • B. Switch to manual WLM, create a dedicated high-priority queue for dashboard queries with a concurrency of 5 and a query execution time limit of 10 seconds, and reduce the default queue's concurrency to leave resources available. Use query group labels or user group assignments to route dashboard users to the priority queue.
  • C. Switch to manual WLM and enable Short-Query Acceleration (SQA) with a maximum run time of 5 seconds so that Redshift automatically routes eligible dashboard queries to a dedicated SQA queue ahead of longer queries.✓ Correct
  • D. Increase the overall cluster node count (scale out) so that there are enough concurrency slots for both dashboard queries and ETL jobs to run simultaneously without queuing.
  • E. Configure a single WLM queue with a concurrency of 50 and set a query timeout of 300 seconds to prevent ETL jobs from holding slots indefinitely.
Explanation

Option C is correct. Short-Query Acceleration (SQA) is a Redshift WLM feature specifically designed for this scenario. When enabled, Redshift uses machine learning to predict query execution time and automatically routes short-running queries (below the configured maximum SQA run time) to a dedicated SQA queue that runs ahead of user-defined WLM queues. Setting the maximum SQA run time to 5 seconds ensures that dashboard queries meeting the SLA threshold are promoted ahead of long ETL jobs without requiring manual queue assignment or user group configuration, making it the most targeted and operationally simple solution. Option A is wrong because Concurrency Scaling adds transient cluster capacity for read queries experiencing high concurrency, but it does not prioritize short queries over long ones — dashboard queries would still queue behind ETL jobs within the main cluster before being routed to a scaling cluster, and the delay may persist. Option B is wrong in comparison to C because it requires manual operational overhead (user group or query group assignments, ongoing tuning of concurrency limits) and introduces risk of misconfiguration; SQA achieves the same outcome automatically and is the AWS-recommended approach for mixed short/long workloads. Option D is wrong because scaling out the cluster adds capacity but does not change the scheduling priority; short queries will still queue behind ETL jobs in the same WLM queue, failing the dashboard SLA. Option E is wrong because increasing concurrency to 50 in a single queue degrades per-query performance due to resource contention (Redshift recommends keeping total WLM concurrency low), and a query timeout only terminates queries rather than prioritizing short ones.

5. A company's Amazon Redshift cluster runs a mix of short ETL queries (< 5 seconds) and long-running executive dashboard queries (5–15 minutes). The ETL queries are frequently queued behind dashboard queries, delaying data pipeline SLAs. The cluster has 8 compute nodes. What is the most appropriate solution using Redshift Workload Management (WLM)?

  • A. Enable Redshift automatic WLM and create two query queues: one for ETL queries with higher priority and one for dashboard queries with lower priority✓ Correct
  • B. Increase the number of compute nodes to 16 to provide more parallel slots
  • C. Configure manual WLM with two separate queues, assign ETL queries to a short-query queue with higher concurrency slots, and dashboard queries to a separate queue with fewer slots
  • D. Move dashboard queries to Redshift Serverless to eliminate queue contention on the provisioned cluster
Explanation

Automatic WLM with priority settings is the recommended modern approach in Redshift. By assigning higher priority to ETL queries and lower priority to dashboard queries, Redshift automatically manages concurrency and memory allocation so ETL queries are no longer starved behind long-running dashboard queries. Option B (adding more nodes) increases overall throughput but does not address queue prioritization; ETL queries will still queue behind dashboard queries. Option C (manual WLM) was the legacy approach and can work, but it requires careful, manual slot and memory tuning. More importantly, the question asks for the 'most appropriate' solution, and AWS guidance recommends automatic WLM over manual WLM for new configurations. Option D (Redshift Serverless) is a valid architectural pattern but involves migrating workloads to a separate environment, which is a significant operational change and not the intended WLM solution.

60 more questions in this domain

Practice the full bank with instant grading, flashcards, and a timed mock exam.

Start practicing free