Q99 — AWS DEA-C01 第1章
第 99/100 問 | ← 第1章
銀行会社は、大量のトランザクションデータを収集するアプリケーションを使用しています。同社は、リアルタイム分析のためにAmazon Kinesis Data Streamsを使用しています。同社のアプリケーションは、PutRecordアクションを使用してデータをKinesis Data Streamsに送信します。 データエンジニアは、特定の時間帯にネットワーク障害が発生していることを観測しました。データエンジニアは、全体の処理パイプラインにおいて「正確に1回」の配信を構成したいと考えています。 この要件を満たすソリューションはどれですか?
- A. アプリケーションを設計し、各レコードにソース側で一意のIDを埋め込むことで、処理中に重複を除去できるようにします。 ✓
- B. Amazon Managed Service for Apache Flink(旧称:Amazon Kinesis Data Analytics)のデータ収集アプリケーションのチェックポイント設定を更新し、イベントの重複処理を回避します。
- C. データソースを設計し、イベントがKinesis Data Streamsに複数回取り込まれないようにします。
- D. Kinesis Data Streamsの使用を中止し、代わりにAmazon EMRを使用します。Amazon EMRでApache FlinkおよびApache Spark Streamingを使用します。
正解: A. アプリケーションを設計し、各レコードにソース側で一意のIDを埋め込むことで、処理中に重複を除去できるようにします。
解説
処理パイプライン全体における「正確に1回」の配信を保証するには、データ処理中に発生する可能性のある重複問題に対処する必要があります。選択肢Aは、各レコードに一意のIDを埋め込み、処理中に重複を除去することで、ネットワーク障害やその他の問題によりデータが重複送信された場合でも、重複排除処理によってデータの一意性を保証します。選択肢Bで言及されているチェックポイント設定の更新は、状態の復元には役立ちますが、重複データ処理の問題を直接解決しません。選択肢Cは、データがKinesis Data Streamsに複数回取り込まれることを防ぐ方法を提案していますが、これはデータ転送および処理プロセス上の問題であり、データソース側の制御では実現できません。選択肢Dは異なる技術スタックの採用を提案していますが、「正確に1回」の配信という要件を直接解決していません。したがって、選択肢Aが最も適切なソリューションです。