AWS DEA-C01 対策 Kinesis Data Streams vs Kinesis Data Firehose
Amazon Kinesis Data StreamsとKinesis Data Firehoseの違いを理解し、リアルタイム処理vs配信・変換、管理オーバーヘッド、コストなどの要件に応じて適切なサービスを選択するための完全ガイド。実践的な問題を通じて使い分けのポイントを解説します。
この記事のポイント
- 1Kinesis Data StreamsとKinesis Data Firehoseの基本的な違いを理解する
- 2リアルタイム処理、データ配信、管理オーバーヘッドの要件に基づき、適切なサービスを選択できるようになる
- 3実践的な問題を通じて、両サービスの使い分けを具体的に習得する
目次
Kinesis Data Streams vs Kinesis Data Firehose
Amazon Kinesis Data Streams(KDS)とAmazon Kinesis Data Firehose(KDF)は、どちらもストリーミングデータを処理するAWSサービスですが、その用途と設計思想は根本的に異なります。
KDSはリアルタイムデータ処理とカスタムアプリケーション開発に特化しているのに対し、KDFはデータの配信・変換と最小限の管理オーバーヘッドに重点を置いています。この違いを理解することが、適切なサービス選択の鍵となります。
3つの重要な違い
KDSとKDFのどちらを選ぶべきか判断する際に、特に重要となる3つの比較ポイントを解説します。
指定されたサービス/設定が見つかりません: kinesisDataStreams, kinesisDataFirehose
最小限の管理オーバーヘッドでデータをS3やRedshiftに配信・保存したい場合はKinesis Data Firehoseを、リアルタイム処理やカスタムアプリケーションが必要な場合はKinesis Data Streamsを選択するのが基本原則です。
データ変換機能とは、ストリーミングデータを配信先に送る前にフォーマット変更やフィルタリングを行う機能です。Kinesis Data Firehoseでは、Lambda関数を使用して自動的にデータを変換してから配信先(S3、Redshift等)に送ることができます。一方、Kinesis Data Streamsでは、データ変換はカスタムアプリケーション側で実装する必要があり、より柔軟性がありますが実装工数が増加します。
実践問題で確認
これらの違いが、実際の試験でどのように問われるかを確認しましょう。要件の中から、どちらのサービスが最適かを判断するキーワードを見つけるトレーニングになります。
AWS認定データエンジニア - アソシエイト
練習問題
AWS認定データエンジニア - アソシエイト
練習問題
AWS認定データエンジニア - アソシエイト
練習問題
まとめ
KDSとKDFの選択は、アプリケーションの要件と管理オーバーヘッドの許容範囲に大きく依存します。シンプルなデータ配信・保存であればKDF、リアルタイム処理やカスタムアプリケーションが必要な場合はKDSが適しています。
データ配信・保存: S3、
リアルタイム処理: Lambda、
理解度チェック
管理オーバーヘッドを最小限に抑えたい場合、どちらのサービスを検討すべきか?
データをS3やRedshiftに直接配信したい場合、どちらが適しているか?
リアルタイムでカスタム処理を行いたい場合の選択肢は?