Q3 — AWS SAA-C03 第8章

第 3/65 問 | ← 第8章

Q498. ある企業では、オンプレミスのデータソースからデータを取得するためにAmazon EC2インスタンスのフェleetが使用されています。データはJSON形式であり、取得レートは最大1 MB/sに達します。EC2インスタンスが再起動されると、その時点で転送中のデータ(in-flight data)が失われます。同社のデータサイエンスチームは、取得されたデータをニアリアルタイムでクエリしたいと考えています。 この要件を満たす、スケーラブルで最小限のデータ損失を実現するニアリアルタイムなデータクエリソリューションはどれですか?

正解: A. データをAmazon Kinesis Data Streamsにパブリッシュし、Kinesis Data Analyticsを使用してデータをクエリします。

解説

正解はAです。Amazon Kinesis Data Streamsは、高スループット(最大1 MB/s以上)のストリーミングデータを耐久性高く保持し、再起動や障害発生時にもin-flightデータの喪失を防ぎます(シャード単位で24時間デフォルト保持、最大7日間設定可能)。Kinesis Data Analyticsは、SQLやApache Flinkを用いてストリームデータをニアリアルタイムで処理・クエリできるため、データサイエンスチームの要件に最適です。一方、BはRedshiftへのロードに遅延(数分~数十分)が発生し、ニアリアルタイム性に劣ります。CはEC2インスタンスストアの使用により再起動時にデータが失われるため、データ損失を最小化できない点で不適切です。DはElastiCache for Redisは一時的なキャッシュであり、永続性が低く、再起動やクラスタ障害時にデータが失われる可能性が高く、またRedis自体は分析クエリ向けではなく、スケーラビリティと耐久性の観点から不適切です。