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 StreamsとAmazon Kinesis Data Firehoseがよく出てくる。
この2つが比べられやすいので忘れちゃってたが、Amazon Kinesis Video Streamsというサービスも有る。 こいつは特に動画のストリーミングに特化したサービス。 VideoChatツールを作るときに使えたりするんだろうか……?
Amazon Kinesis Data Streams
アプリケーションやサービスのログや、クリックデータなどを受け取って、データレイクに送りつけることができる。 その際にAWS LambdaやAmazon Kinesis Data Analyticsと連携して、データを同時に分析することもできる。 フルマネージドのサーバレスサービス。 リアルタイム性を重視する場合はだいたいこっち。
Amazon Kinesis Data Firehose
Amazon S3やAmazon Redshiftなどにストリーミングデータを配信するためのサービス。フルマネージド。 Amazon Kinesis Data Streamで集めたストリームデータを、Firehoseがうまいこと配信してくれる役目? (Data Streamはデータを集めるためのもの、Data Firehoseは集めたデータを配るためのもの)