無限ノック › DEA 練習問題一覧 › 問題DEA データの取り込みと変換
あるオンライン決済サービス会社は、不正検知システムを構築しています。要件として、同一カードで2分間のスライディングウィンドウ内に異なる5か国以上での決済が確認された場合にリアルタイムアラートを発する必要があります。決済データはAmazon Kinesis Data Streamsに継続的に流れています。この複雑なイベントパターン検出とウィンドウ集計をサブ秒レイテンシで実現するために最も適したAWSサービスはどれですか?
A AWS Glue ストリーミングETLジョブ(Apache Spark Structured Streaming使用)
AWS Glue ストリーミングETLはApache Spark Structured Streamingのマイクロバッチ処理を採用しており、秒単位のレイテンシが発生する。サブ秒レイテンシの要件を満たせず、複雑なイベントパターン検出の実装もFlinkより煩雑になる。
B Amazon Managed Service for Apache Flink
✓ 正解
Apache Flinkネイティブのスライディングウィンドウ関数とCEPライブラリを持つフルマネージドサービス。Kinesis Data Streamsとのネイティブ統合により、カード別のステートフル集計とサブ秒レイテンシのリアルタイムアラートを実現できる。
C Amazon Data Firehoseのバッファリング間隔を60秒に設定し、Lambda変換でパターン検出する
Amazon Data Firehoseは最低60秒のバッファリングが必要であり、リアルタイムアラートの要件に根本的に適合しない。バッファリング中に発生した不正パターンを即時検出することはできず、サブ秒レイテンシの実現も不可能。
D AWS Lambda関数をKinesis Data Streamsのトリガーとして設定し、Amazon ElastiCacheに状態を保持してウィンドウ集計を行う
AWS Lambda + ElastiCacheでもウィンドウ集計は実装できるが、スライディングウィンドウ管理・カード別パーティション・障害時の状態復旧をすべてカスタム実装する必要があり、開発・運用コストが著しく増大する。
解説 Amazon Managed Service for Apache Flinkは、Apache Flinkをベースとしたフルマネージドのストリーム処理サービスです。スライディングウィンドウ・タンブリングウィンドウなどの時間窓関数と複雑なイベントパターン検出(CEP)をネイティブサポートし、ミリ秒〜サブ秒レイテンシでのリアルタイム処理が可能です。Kinesis Data Streamsとのネイティブ統合があり、Flink SQLまたはJava/Python APIでウィンドウ集計とステートフルなカード別集計を宣言的に記述できます。
選択肢AのAWS Glue ストリーミングETLはマイクロバッチモデルのため秒単位のレイテンシが発生しサブ秒要件を満たせず、複雑なCEPパターンの実装もFlinkより困難。
選択肢CのAmazon Data Firehoseは最低60秒のバッファリングが必要なためリアルタイムアラートには根本的に不適切。
選択肢DのAWS Lambda + ElastiCacheはウィンドウ管理・パーティション分割・障害時の状態復旧をすべてカスタム実装する必要があり、開発・運用コストが大幅に増大する。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →