Amazon Kinesis Data StreamsとAmazon Kinesis Data Firehoseの違い

AWS SAAの勉強をしています。 問題を解いていると、Amazon Kinesis Data StreamsとAmazon Kinesis Data Firehoseがよく出てくるのでメモ。

Amazon Kinesis とは?

クリックデータのような大量のデータのストリーミングをうまいこと処理するためのサービスっぽい。 Webページやアプリから送信したデータを一旦Amazon Kinesisで受け取って、処理したいEC2なりLambdaなりに流していく。 いきなりEC2とかに流すのが結構難しいので、それをAmazon提供のサービスでよしなにやりますよ、ということらしい。 aws.amazon.com

そのなかでも、特にデータの配信というところに目を向けると、Amazon Kinesis Data StreamsAmazon Kinesis Data Firehoseがよく出てくる。

この2つが比べられやすいので忘れちゃってたが、Amazon Kinesis Video Streamsというサービスも有る。 こいつは特に動画のストリーミングに特化したサービス。 VideoChatツールを作るときに使えたりするんだろうか……?

aws.amazon.com

Amazon Kinesis Data Streams

アプリケーションやサービスのログや、クリックデータなどを受け取って、データレイクに送りつけることができる。 その際にAWS LambdaやAmazon Kinesis Data Analyticsと連携して、データを同時に分析することもできる。 フルマネージドのサーバレスサービス。 リアルタイム性を重視する場合はだいたいこっち。

aws.amazon.com

Amazon Kinesis Data Firehose

Amazon S3Amazon Redshiftなどにストリーミングデータを配信するためのサービス。フルマネージド。 Amazon Kinesis Data Streamで集めたストリームデータを、Firehoseがうまいこと配信してくれる役目? (Data Streamはデータを集めるためのもの、Data Firehoseは集めたデータを配るためのもの)

aws.amazon.com