Q27 — AWS DEA-C01 第1章
第 27/100 問 | ← 第1章
ある企業は、トランザクション型データレイクとしてAmazon S3を用いて半構造化データを保存しています。一部のデータファイルは小さいものの、他のデータファイルは数十テラバイトに達します。 データエンジニアは、データソースから変更されたデータを特定するための変更データキャプチャ(CDC)操作を実行する必要があります。データソースは毎日JSON形式の完全スナップショットを送信し、変更データをデータレイクに取り込みます。
- A. 前回のデータと現在のデータの差分を識別するAWS Lambda関数を作成します。Lambda関数を設定して、変更データをデータレイクに取り込みます。
- B. データをAmazon RDS for MySQLに取り込みます。AWS Database Migration Service(AWS DMS)を用いて、変更データをデータレイクに書き込みます。
- C. オープンソースのデータレイクフォーマットを用いて、データソースとS3データレイクをマージし、新規データを挿入し、既存データを更新します。 ✓
- D. Amazon Aurora MySQL DBインスタンス(Aurora Serverless)にデータを取り込みます。AWS Database Migration Service(AWS DMS)を用いて、変更データをデータレイクに書き込みます。
正解: C. オープンソースのデータレイクフォーマットを用いて、データソースとS3データレイクをマージし、新規データを挿入し、既存データを更新します。
解説
データファイルのサイズが非常にばらつき(小さいものから数十TBまで)があることを考慮すると、コスト効率がソリューション選択の鍵となります。選択肢Aでは、AWS Lambda関数を用いて変更を識別する方法ですが、大量データ処理時にはコストが高くなる可能性があります。選択肢BおよびDでは、まずデータをリレーショナルデータベース(RDSまたはAurora)に取り込み、その後AWS DMSで変更データをキャプチャするという手法を提案しています。これは構造化データには有効ですが、半構造化データにはコスト効率が最も高いとは言えません。選択肢Cでは、オープンソースのデータレイクフォーマットを用いてデータソースとS3データレイクを直接マージする方法を提案しており、追加のデータ取り込みや変換コストを回避できるため、最もコスト効率が高いソリューションです。したがって、正解はCです。