SaveMyCert
Log in
5 of 5 free questions left today·for 30 a day
DEA-C01 · Domain 2

Data Store Management practice questions

Data Store Management is worth 26% of the DEA-C01 exam — the 2nd-heaviest of the 4 domains. Choosing and configuring data stores, cataloging data, managing data lifecycle, and designing data models with schema evolution. Official weighting 26%. 6 fully worked examples are further down this page, answers included.

Exam weight
26%
the 2nd-heaviest of the 4 domains
Questions
80
across 4 topics
Free, no account
5/day
sign up free to remove the cap
Explanations
Every option
right and wrong

Build a practice session

5 free questions left today.

Domains

How many?

Mode

Ready when you are

10 fresh questions drawn across 1 of 4 domains, in Learn mode.

Focused review

Every question you answer incorrectly, and every question you flag while practising, is saved here automatically. Finish a session and you can come back to re-drill just those.

6 sample Data Store Management questions, fully explained

Questions from the DEA-C01 bank mapped to domain 2, with the answer key and the reasoning behind every option. None of them repeat the examples on the main DEA-C01 practice page.

Question 1Data Store Management

A data engineering team runs an Amazon Redshift cluster on older DC2 nodes. Storage is nearly full, but CPU utilization is low. The team wants to grow storage capacity without paying for proportional compute, and it wants Redshift to manage moving less-frequently accessed data to Amazon S3-backed storage automatically. What should the team do?

Choose one.

  • a
    Migrate the cluster to RA3 nodes with Redshift Managed Storage Correct

    RA3 nodes decouple compute from storage: Redshift Managed Storage automatically tiers data between high-performance local SSD cache and Amazon S3, so storage scales independently of the compute you pay for.

  • b
    Add more DC2 nodes to the cluster

    Adding DC2 nodes increases storage and compute together because DC2 storage is fixed to each node's local SSD, forcing the team to pay for compute it does not need.

  • c
    Enable concurrency scaling on the cluster

    Concurrency scaling adds transient compute capacity for query bursts; it does nothing to expand the cluster's storage capacity.

  • d
    Unload all historical data to Amazon S3 and delete it from the cluster

    Unloading data removes it from native Redshift tables, so queries would need external tables or reloading; it is a manual workaround rather than the managed compute-storage separation the team is asking for.

The concept

Amazon Redshift RA3 node types use Redshift Managed Storage (RMS), which separates compute from storage. Data is durably stored in S3-backed managed storage and cached on local SSDs, so you size the cluster for compute and pay for storage based on usage.

Why that’s the answer

The team's problem is a compute-storage imbalance: full disks with idle CPU. On DC2 nodes, storage is bound to node-local SSDs, so the only way to grow storage is to add nodes and their compute cost. RA3 with Redshift Managed Storage removes that coupling — managed storage grows automatically, hot blocks stay in the local SSD cache, and colder blocks live in S3-backed storage without any manual data movement. This directly satisfies both requirements: independent storage growth and automatic tiering.

How to reason it out
  1. Recognize the symptom: storage-bound cluster with low CPU means compute and storage needs have diverged.
  2. Recall that DC2 nodes couple storage to node count while RA3 nodes use Redshift Managed Storage backed by S3.
  3. Migrate to RA3 (via elastic resize, snapshot restore, or classic resize) so storage scales independently and tiering is automatic.

Exam tip: RA3 nodes with Redshift Managed Storage decouple compute from storage and tier data to S3 automatically.

Choosing an AWS Data Store: Redshift, DynamoDB, Aurora, S3, and MemoryDB — the lesson that teaches this.

Question 2Data Store Management

A startup runs analytics workloads that are idle most of the day but spike unpredictably when analysts explore new datasets. The team does not want to size, manage, or pay for an always-on Amazon Redshift cluster, and it wants to be billed only for the compute the queries actually consume. Which option meets these requirements?

Choose one.

  • a
    A provisioned Redshift cluster with reserved nodes

    Reserved nodes lower the price of an always-on cluster but still charge continuously whether or not queries run, which wastes money on a mostly idle workload.

  • b
    A provisioned Redshift cluster with concurrency scaling enabled

    Concurrency scaling adds burst capacity on top of a base cluster that must still run and be paid for continuously, so it does not eliminate idle-time cost or cluster management.

  • c
    Amazon EMR with a long-running Spark cluster

    A long-running EMR cluster requires the team to manage and pay for instances around the clock, which is the opposite of the pay-per-use, no-management requirement.

  • d
    Amazon Redshift Serverless Correct

    Redshift Serverless automatically provisions and scales warehouse capacity, measured in Redshift Processing Units (RPUs), and bills only for the compute used while queries run — ideal for intermittent, unpredictable workloads.

The concept

Amazon Redshift Serverless removes cluster management: it measures capacity in Redshift Processing Units (RPUs), scales automatically with demand, and charges only while workloads run, making it suited to intermittent or unpredictable analytics.

Why that’s the answer

The requirements are (1) no cluster sizing or management and (2) pay only for compute consumed. Redshift Serverless meets both: there is no cluster to provision, capacity scales up when queries arrive and down to zero cost when idle. Reserved nodes and concurrency scaling both presuppose a provisioned, always-billing base cluster, and a long-running EMR cluster adds even more operational burden. Serverless is the only choice where an idle workload costs nothing for compute.

How to reason it out
  1. Identify the workload pattern: idle most of the time with unpredictable bursts.
  2. Map the billing requirement: pay-per-use compute means no always-on provisioned cluster.
  3. Choose Redshift Serverless, which auto-scales RPU capacity and bills only for compute used during query execution.

Exam tip: For intermittent, unpredictable analytics with no cluster management, choose Amazon Redshift Serverless.

Choosing an AWS Data Store: Redshift, DynamoDB, Aurora, S3, and MemoryDB — the lesson that teaches this.

Question 3Data Store Management

A Redshift data model has a 2 TB fact table that is frequently joined to a 5 GB customer dimension table on customer_id. Queries are slowed by large amounts of data being redistributed between nodes at query time. How should a data engineer set the distribution styles to minimize data movement during these joins?

Choose one.

  • a
    Use EVEN distribution for both tables

    EVEN distribution spreads rows round-robin with no regard to the join key, so matching rows land on different nodes and the join forces large-scale data shuffling at query time.

  • b
    Use KEY distribution on customer_id for the fact table and ALL distribution for the dimension table Correct

    KEY distribution co-locates fact rows with the same customer_id on the same slice, and ALL distribution places a full copy of the small dimension on every node, so the join needs no runtime redistribution.

  • c
    Use ALL distribution for the fact table and KEY distribution for the dimension table

    ALL distribution copies the full table to every node, which is prohibitively expensive for a 2 TB fact table in both storage and load time; ALL is intended for small, slowly changing dimensions.

  • d
    Use AUTO distribution and add a sort key on customer_id to both tables

    Sort keys control the physical order of rows within a node to speed range-filtered scans; they do not control which node rows live on, so they cannot eliminate cross-node redistribution during joins.

The concept

Redshift distribution styles determine which compute node slice stores each row. Joins are fastest when matching rows are already on the same slice: KEY distribution co-locates rows sharing a join column, and ALL distribution replicates small tables to every node.

Why that’s the answer

The bottleneck is runtime redistribution (broadcast or shuffle) during the fact-dimension join. Distributing the large fact table by the join column customer_id means all rows for a given customer live on one slice. Replicating the small 5 GB dimension with ALL distribution guarantees every node already holds the dimension rows it needs. Together these make the join fully local. Reversing the styles would replicate 2 TB everywhere, EVEN ignores the join key entirely, and sort keys address scan pruning rather than row placement.

How to reason it out
  1. Diagnose the slowdown: data redistribution during joins means joined rows are not co-located.
  2. Distribute the large fact table with DISTSTYLE KEY on the join column customer_id.
  3. Set the small dimension table to DISTSTYLE ALL so every node holds a full copy and the join runs locally.

Exam tip: Co-locate joins in Redshift: KEY-distribute the big table on the join column and ALL-distribute small dimensions.

Choosing an AWS Data Store: Redshift, DynamoDB, Aurora, S3, and MemoryDB — the lesson that teaches this.

Question 4Data Store Management

Analysts query a large Amazon Redshift events table almost exclusively with WHERE clauses that filter on a date range, such as the last 7 or 30 days. Full-table scans are making these queries slow. Which table design change will most directly reduce the amount of data scanned?

Choose one.

  • a
    Change the table to ALL distribution

    ALL distribution replicates the table to every node, which multiplies storage and helps joins with small tables; it does not reduce how much data a range-filtered scan must read.

  • b
    Create a secondary B-tree index on the date column

    Amazon Redshift does not use secondary B-tree indexes; it relies on sort keys and zone maps for scan pruning, so this option is not available in Redshift.

  • c
    Define the event date column as the table's sort key Correct

    A sort key on the date column stores rows in date order, letting Redshift use zone maps to skip the vast majority of disk blocks that fall outside the queried date range.

  • d
    Distribute the table with KEY distribution on the date column

    KEY distribution on a date column decides node placement and would create hot spots for recent dates; it does not order rows within slices, so scans still read blocks across the full date range.

The concept

Redshift sort keys physically order rows on disk. Each block stores min/max metadata (zone maps), so range predicates on the sort key let the engine skip blocks whose ranges cannot match, dramatically reducing scanned data.

Why that’s the answer

The dominant query pattern is a range filter on event date. Sorting the table by that column clusters each date's rows into contiguous blocks; a query for the last 7 days then reads only the blocks whose zone-map ranges overlap those dates instead of scanning the whole table. Distribution styles govern which node holds a row, not the order within it, so neither ALL nor KEY distribution prunes scans — and Redshift has no user-defined B-tree secondary indexes at all.

How to reason it out
  1. Identify the dominant predicate: range filters on the event date column.
  2. Recall that sort keys plus zone maps allow Redshift to skip blocks outside the filtered range.
  3. Define the date column as the sort key (a compound sort key with date first) so recent-date queries scan only relevant blocks.

Exam tip: Sort keys plus zone maps are how Redshift prunes range scans — sort on the column you filter by most.

Choosing an AWS Data Store: Redshift, DynamoDB, Aurora, S3, and MemoryDB — the lesson that teaches this.

Question 5Data Store Management

A company keeps 500 TB of historical clickstream data in Apache Parquet format in Amazon S3, cataloged in the AWS Glue Data Catalog. Analysts using an Amazon Redshift cluster occasionally need to join this S3 data with warehouse tables, but loading 500 TB into Redshift is too costly. What is the most cost-effective way to query the S3 data directly from Redshift?

Choose one.

  • a
    Use Amazon Redshift federated queries to the S3 bucket

    Federated queries connect Redshift to live operational databases such as Amazon RDS and Aurora (PostgreSQL and MySQL), not to files in S3; querying S3 in place is Spectrum's job.

  • b
    Run the COPY command to load the Parquet files into Redshift before each analysis

    COPY ingests the data into cluster storage, which is exactly the costly 500 TB load the company wants to avoid for occasional queries.

  • c
    Create a materialized view in Redshift over the S3 files

    A materialized view precomputes and stores query results from existing accessible sources; it is not by itself the mechanism that exposes S3 files to Redshift — Spectrum external tables must exist first.

  • d
    Use Amazon Redshift Spectrum with an external schema that references the Glue Data Catalog Correct

    Redshift Spectrum queries data in place in S3 through external tables defined in the Glue Data Catalog, letting Redshift SQL join exabyte-scale S3 data with local tables without loading it.

The concept

Amazon Redshift Spectrum extends Redshift SQL to data stored in Amazon S3. You define an external schema pointing at the AWS Glue Data Catalog, and Spectrum's fleet scans the S3 files, so data is queried in place and joined with local warehouse tables.

Why that’s the answer

The requirements are: keep the 500 TB in S3, query it from Redshift occasionally, and avoid load cost. Spectrum matches each requirement — the Parquet data stays in S3, external tables come straight from the existing Glue Catalog entries, and you pay for the data scanned rather than for permanently expanded cluster storage. Federated queries target operational databases, not S3; COPY performs the very load being avoided; and materialized views summarize data Redshift can already reach rather than providing S3 access themselves.

How to reason it out
  1. Confirm the data should stay in S3 and is already cataloged in the Glue Data Catalog.
  2. Create an external schema in Redshift that references the Glue database, exposing the S3 tables as external tables.
  3. Write standard SQL that joins the external (Spectrum) tables with local Redshift tables; Spectrum scans only the S3 data each query needs.

Exam tip: Redshift Spectrum queries S3 data in place via Glue Catalog external schemas; federated queries are for RDS and Aurora.

Choosing an AWS Data Store: Redshift, DynamoDB, Aurora, S3, and MemoryDB — the lesson that teaches this.

Question 6Data Store Management

A reporting team using Amazon Redshift needs to enrich warehouse data with up-to-the-minute order status from the production Amazon Aurora PostgreSQL database. The team wants to query the live operational data with Redshift SQL and avoid building an ETL pipeline for it. Which Redshift capability should they use?

Choose one.

  • a
    Amazon Redshift Spectrum

    Spectrum queries files stored in Amazon S3 through external tables; it cannot connect to a live Aurora PostgreSQL database.

  • b
    The UNLOAD command

    UNLOAD exports Redshift query results to S3; it moves data out of the warehouse and does nothing to read live data from Aurora.

  • c
    Federated queries Correct

    Redshift federated queries connect directly to Amazon RDS and Aurora (PostgreSQL and MySQL) databases, letting Redshift SQL read live operational rows and join them with warehouse tables without any ETL.

  • d
    Scheduled COPY jobs from Aurora snapshots exported to S3

    Snapshot exports plus COPY create a batch pipeline whose data is stale by hours — exactly the ETL and latency the team is trying to avoid.

The concept

Amazon Redshift federated queries let the warehouse issue queries against live operational data in Amazon RDS for PostgreSQL/MySQL and Aurora PostgreSQL/MySQL by defining an external schema over a secured connection, pushing eligible predicates down to the source database.

Why that’s the answer

The requirement is real-time access to operational Aurora data from Redshift SQL without ETL. Federated queries do precisely this: create an external schema referencing the Aurora database (credentials in AWS Secrets Manager), then join its live tables with warehouse tables in one query. Spectrum's scope is S3 files, UNLOAD moves data in the wrong direction, and snapshot-based batch loading reintroduces both ETL and staleness.

How to reason it out
  1. Store the Aurora credentials in AWS Secrets Manager and ensure network connectivity from the Redshift cluster to the Aurora instance.
  2. Create an external schema in Redshift using CREATE EXTERNAL SCHEMA ... FROM POSTGRES pointing at the Aurora database.
  3. Query and join the external operational tables with local warehouse tables in standard Redshift SQL; predicates are pushed down to Aurora where possible.

Exam tip: Use federated queries for live RDS/Aurora data from Redshift; use Spectrum for data in S3.

Choosing an AWS Data Store: Redshift, DynamoDB, Aurora, S3, and MemoryDB — the lesson that teaches this.

What DEA-C01 domain 2 tests, topic by topic

The official exam guide breaks Data Store Management into 4 topics. The question bank follows the same split, so a weak topic shows up as a cluster of misses you can go back and read.

Published DEA-C01 practice questions per topic in Data Store Management
TopicWhat it coversQuestions
Choose a data storeOfficial DEA-C01 task statement (guide v1.1). Selecting and configuring storage for cost, performance, and access patterns (Amazon Redshift, EMR, AWS Lake Formation, Amazon RDS, DynamoDB, Kinesis Data Streams, Amazon MSK); applying storage to use cases (HNSW indexing with Aurora PostgreSQL, Amazon MemoryDB for fast key/value); migration tools (AWS Transfer Family); remote access (Redshift federated queries, materialized views, Redshift Spectrum); managing locks; open table formats (Apache Iceberg); vector index types (HNSW, IVF).20
Understand data cataloging systemsOfficial DEA-C01 task statement. Using data catalogs to consume data at source; building and referencing a technical data catalog (AWS Glue Data Catalog, Apache Hive metastore); discovering schemas and using Glue crawlers; synchronizing partitions with a catalog; creating source/target connections; creating and managing business data catalogs (Amazon SageMaker Catalog).20
Manage the lifecycle of dataOfficial DEA-C01 task statement. Load and unload operations between Amazon S3 and Amazon Redshift; managing S3 Lifecycle policies to change storage tier and to expire data by age; S3 versioning and DynamoDB TTL; deleting data to meet business and legal requirements; protecting data with appropriate resiliency and availability.20
Design data models and schema evolutionOfficial DEA-C01 task statement (guide v1.1). Designing schemas for Amazon Redshift, DynamoDB, and Lake Formation; addressing changes to data characteristics; schema conversion (AWS DMS Schema Conversion); establishing data lineage (Amazon SageMaker ML Lineage Tracking, SageMaker Catalog); indexing, partitioning, compression, and optimization; vectorization concepts (Amazon Bedrock knowledge base).20
Total80

Revise Data Store Management before you drill it

Other DEA-C01 domains

Data Store Management: your questions

Data Store Management is domain 2 of the DEA-C01 exam guide and carries 26% of the scored content — the 2nd-heaviest of the 4 domains. On a 65-question paper that works out to roughly 17 questions, though AWS does not publish an exact per-domain count and individual exam forms vary.

Source

The domain weight and topic list on this page come from the official DEA-C01 exam guide.