SAA学習-データベース-Kinesisの概要
今回のテーマ:Kinesisの概要
主要サービスの公式資料
Amazon Kinesis Data Streams : docs.aws.amazon.com
Amazon Kinesis Data Firehose: docs.aws.amazon.com
Amazon Kinesis Data Analytics: docs.aws.amazon.com
概要
Kinesisはストリームデータを収集・処理するためのフルマネージドサービスで主に3つのサービスで構成されます。
Amazon Kinesis Data Streams
ストリームデータを処理するアプリケーションを構築するサービスとなります。
概略図は以下のようになります。
ストリーミング処理はシャードという単位で分散させ実行するため高速処理が可能となります。
また、shardにインスタンスを割りあえてを行い処理を実行させます。
概略図は以下のようになります。
Kinesis Streamsのデータ提供側(プロデゥーサー)とデータ利用側(コンシューマー)に様々なサービスが利用可能となります。 概略図は以下のようになります。
Kinesis Streamsは以下の関連機能を活用しストリーミング処理アプリケーションを構築します。
サービス名 | 概要 |
---|---|
Amazon Kinesis Agent | Kinesisサービスにデータを収集し取り込むOSSのスタンドアロンJavaアプリケーション |
Amazon Kinesis Producer Library(KPL) | Kinesis Streamsにデータを送信するOSSの補助ライブラリ |
Fluent plugin for Amazon Kinesis | Kinesis StreamsとKinesis Firehoseにイベントを送信するOSSのFluentd出力プラグインでログ収集を実施する |
Amazon Kinesis Data Generator(KDG) | Kinesis Data Generator(KDG)を利用しKinesis StreamsまたはKinesis Firehoseにテストデータを送信する |
Amazon Kinesis Client Library(KCL) | KCLを利用しKinesisアプリケーションを作成する。OSSのクライアントライブラリで、EC2インスタンスなどにデプロイし利用する。 |
Amazon Kinesis Data Firehose
ストリームデータをS3やRedshiftなどへ簡単に配信します。
また、各種DBに配信・蓄積するための処理を実施し、Lambdaと連携するとETLとしても機能します。
概略図は以下のようになります。
Amazon Kinesis Data Analytics
ストリームデータを標準的なSQLクエリでリアルタイムに可視化・分析します。 概略図は以下のようになります。
今回のテーマは以上です。