AWS Kinesis
ざっと以下のサービスがある
①Kinesis Data Stream:ストリームデータを リアルタイムに処理
シャードという単位でデータを取り込み・処理でき、取り込み・処理後の配信では1つのシャードに対して複数のリソースを指定できる(同じデータに対して複数の処理を同時並行で実行可能)
②Kinesis Data Firehose:ストリームデータを 変換・配信
サーバのログ等をs3等のデータ保存サービスに流すことができる。流す際には容量圧迫を見越してデータを圧縮したり予めデータ加工して置いたりすることが可能。
S3にログをファイルとして出力することが可能であり、YYYY/MM/DD/TT:TTの粒度までオブジェクト構造を決めることができる
③Kinesis Data Analytics:ストリームデータを 分析
使ったことないので触ったらまた追記する・・・
アーキの例としては、
①データインプット対象 → Kinesis data stream → Lambda/kinesis data analytics/EC2等
③データインプット対象 → Kinesis data firehose
→ S3/Redshift等
2024/10/12追記
Kinesis Data StreamとKinesis Data Firehoseとの大きな違いとしては「リアルタイムに」処理できるか否か
Kinesis Data Stream :リアルタイムに処理可能
Kinesis Data Firehose:数分のラグが発生
ストリームデータ
システムログやゲーミングアプリのデータなどの連続して現れ続けるデータのことであり、この場合はパッチ処理などのある一定時間経過後にまとめて処理するのではなく、リアルタイムに処理を実行し続ける(ログを解析してダッシュボード化する・ゲームの情報をリアルタイムに更新しSNSでユーザに訴えかける等)ことが求められます。