nerdexam
Amazon

DEA-C01 · Question #69

A company uses Amazon S3 to store semi-structured data in a transactional data lake. Some of the data files are small, but other data files are tens of terabytes. A data engineer must perform a…

The correct answer is C. Use an open source data lake format to merge the data source with the S3 data lake to insert the. To perform change data capture (CDC) from daily full JSON snapshots into an Amazon S3 transactional data lake most cost-effectively, using an open-source data lake format designed for merging and handling changed data is the optimal solution.

Data Ingestion and Transformation

Question

A company uses Amazon S3 to store semi-structured data in a transactional data lake. Some of the data files are small, but other data files are tens of terabytes. A data engineer must perform a change data capture (CDC) operation to identify changed data from the data source. The data source sends a full snapshot as a JSON file every day and ingests the changed data into the data lake. Which solution will capture the changed data MOST cost-effectively?

Options

  • ACreate an AWS Lambda function to identify the changes between the previous data and the
  • BIngest the data into Amazon RDS for MySQL. Use AWS Database Migration Service (AWS DMS)
  • CUse an open source data lake format to merge the data source with the S3 data lake to insert the
  • DIngest the data into an Amazon Aurora MySQL DB instance that runs Aurora Serverless. Use

How the community answered

(25 responses)
  • A
    12% (3)
  • B
    4% (1)
  • C
    80% (20)
  • D
    4% (1)

Why each option

To perform change data capture (CDC) from daily full JSON snapshots into an Amazon S3 transactional data lake most cost-effectively, using an open-source data lake format designed for merging and handling changed data is the optimal solution.

ACreate an AWS Lambda function to identify the changes between the previous data and the

Creating a custom AWS Lambda function to identify changes from daily full snapshots can become complex and expensive to develop and maintain, especially with large datasets, and might not be as optimized as specialized data lake formats for merge operations.

BIngest the data into Amazon RDS for MySQL. Use AWS Database Migration Service (AWS DMS)

Ingesting a full daily snapshot into Amazon RDS for MySQL is not a cost-effective solution for a data lake strategy, as relational databases are typically not optimized for storing large, raw analytical datasets, and AWS Database Migration Service (DMS) is primarily for database migration and replication, not for performing CDC directly on S3 data from flat files.

CUse an open source data lake format to merge the data source with the S3 data lake to insert theCorrect

Open-source data lake formats such as Apache Hudi, Delta Lake, or Apache Iceberg are specifically designed to provide ACID properties, upsert capabilities, and schema evolution directly on data stored in Amazon S3, enabling efficient and cost-effective change data capture from full snapshots into a transactional data lake.

DIngest the data into an Amazon Aurora MySQL DB instance that runs Aurora Serverless. Use

Ingesting a full daily snapshot into an Amazon Aurora MySQL DB instance that runs Aurora Serverless, followed by using AWS DMS, faces similar issues to option B, as it's an expensive and less suitable approach for managing a transactional data lake on S3 compared to specialized data lake formats.

Concept tested: Data lake formats for CDC on S3

Source: https://aws.amazon.com/blogs/big-data/building-a-data-lake-on-amazon-s3-with-apache-hudi-and-aws-glue/

Topics

#Change Data Capture#Data Lake Formats#Amazon S3#Cost Optimization

Community Discussion

No community discussion yet for this question.

Full DEA-C01 Practice