プレイヤー行動イベントのリアルタイム取り込み
毎秒数十万件のイベントを継続的に取り込み、数秒以内に不正検知エンジンとダッシュボードの両方へ流したいと考えています。2 つのチームが独立したコンシューマーアプリケーションとして同じストリームを並行して読み取れる必要もあります。最も適した AWS サービスはどれですか。
解説を読む(正解: D)
大量のイベントを発生と同時に受け止め、複数の処理系にほぼリアルタイムで届けるにはストリーミングデータ基盤が必要になります。Amazon Kinesis Data Streams はまさにその役割を担うマネージドサービスで、シャードを増やすことで毎秒数十万件規模のレコードを取り込み、取り込んだデータはストリーム内に保持されるため、複数のコンシューマーアプリケーションがそれぞれ独立した読み取り位置で同じストリームを並行して処理できます。不正検知と運営ダッシュボードという 2 系統に同じイベントを流す要件にも合致するため、D が正解です。A の AWS Glue はサーバーレスの ETL サービスとデータカタログを提供するもので、主にバッチ的な抽出・変換・ロードとメタデータ管理に使われ、秒単位で連続するイベントの取り込み口ではありません。B の Amazon Athena は S3 に既に保存されたデータへ SQL クエリを実行するサービスであり、データを受け取って配るストリーム基盤の役割は持ちません。C の AWS Snowball は物理デバイスを郵送して大量データをオフラインで移送するサービスで、ネットワーク帯域が乏しい環境からの一括移行に使うものであり、リアルタイム処理とは全く用途が異なります。
ストリーミングデータのリアルタイム取り込み
動画配信サービスの再生イベントログを、発生から数秒以内に取り込みたいと考えています。推薦エンジンと監視ダッシュボードの 2 つのアプリケーションが、同じデータをそれぞれ独立した進捗で並行して読み取る必要があります。この用途に最も適した AWS サービスはどれですか。
解説を読む(正解: A)
Amazon Kinesis Data Streams は、大量のイベントデータをリアルタイムに取り込み、順序を保ったまま複数のコンシューマーアプリケーションへ届けられるマネージドのストリーミングサービスです。データはシャードという単位に分割して保持され、シャード数を増やすことで取り込みスループットを拡張できるため、毎秒数十万件規模のイベントにも対応できます。さらに同じストリームを複数のアプリケーションがそれぞれ独立した読み取り位置で消費できるので、推薦エンジンと監視ダッシュボードが同時に同じログを処理する構成が容易に組めます。設問は「発生から数秒以内」「複数アプリの並行読み取り」という要件なので A が正解です。B の Amazon Athena は、すでに Amazon S3 に置かれたデータに標準 SQL でクエリを実行するサーバーレスのクエリサービスであり、データを継続的に受け取り続ける取り込み層の役割は持たず、都度のクエリ実行という性質上リアルタイム配信には使えません。C の AWS Glue はデータカタログと ETL ジョブを提供するサービスで、主にバッチ指向の変換処理に用いられ、ストリームの受け口そのものにはなりません。D の Amazon QuickSight はダッシュボードを作成する BI サービスであり、可視化という最終段を担うもので、データの収集層ではありません。
ストリーミングデータのリアルタイム取り込み
工場の IoT センサーから毎秒数万件送信されるデータを、数秒以内にリアルタイムで処理したいと考えています。このストリーミングデータの取り込みに最も適した AWS サービスはどれですか。
解説を読む(正解: B)
Amazon Kinesis は、ストリーミングデータをリアルタイムに収集、処理、分析するためのサービス群です。その中の Amazon Kinesis Data Streams は、多数のプロデューサーから毎秒大量のレコードを継続的に受け取り、コンシューマーアプリケーションがほぼリアルタイム (数秒以内) にそのデータを読み取って処理できるようにするストリーム取り込みサービスです。IoT センサーやクリックストリーム、アプリケーションログのように、絶え間なく発生し即座の処理が求められるデータに適しています。したがって B が正解です。A の AWS Glue はサーバーレスの ETL サービスですが、基本的にはバッチ指向でジョブを定期実行するものであり、数秒以内という即時性の要件は満たせません。C の Amazon Athena は Amazon S3 上に既に保存されたデータへ SQL クエリを実行する対話型分析サービスであり、データを取り込む仕組みではないうえ、ファイルが S3 に書き込まれるまでの遅延が発生します。D の Amazon Redshift への COPY による一括ロードは、データウェアハウスへまとまった量のデータを定期投入する典型的なバッチ処理であり、ストリーミングのリアルタイム取り込みには適しません。