物流会社は、全国の配送拠点から送られる荷物スキャンイベントをAmazon Kinesis Data Streamsでリアルタイムに受信しています。 以下の要件を実装する必要があります。 ・直近5分間の配送完了数を30秒ごとに集計するスライディングウィンドウ集計 ・特定の荷物が30分以上スキャンされていない場合にアラートを発火するパターン検出 ・SQLライクなクエリ言語でストリーム処理ロジックを記述したい この要件を満たす最も適切なAWSサービスはどれですか?
Amazon Managed Service for Apache Flink(旧Kinesis Data Analytics for Apache Flink)はKinesis Data Streamsと直接統合され、スライディング・タンブリングウィンドウやCEPをApache Flink SQLで実装できるサーバーレスのストリーム処理サービスです。30分間スキャンなしのタイムアウトパターン検出にはFlink CEPライブラリが最適です。 選択肢AのGlue Streaming ETLはSparkベースのマイクロバッチであり、秒単位のリアルタイム集計には遅延が生じます。 選択肢CのFirehose+Athenaはバッチ指向で、数分の遅延が発生し、リアルタイムアラートには不向きです。 選択肢DのLambda+ElastiCacheは状態管理を自前実装する必要があり、スケーラビリティと運用が複雑になります。