Analytics

Amazon Kinesis

リアルタイムストリーミングデータの取り込み・配信サービス群。AIP-C01ではRAGコーパスやチャットログをほぼリアルタイムでベクトルストアや分析基盤に流し込む脇役として出ます。

  • C|周辺
  • D1 FM統合・データ・コンプラ
  • D2 実装と統合

ひとことで言うと

Kinesis Data Streamsはリアルタイムのデータストリームを取り込んで自分でアプリが読み出す仕組み、Amazon Data Firehose(旧Kinesis Data Firehose)は取り込んだストリームをS3・OpenSearch Service・Redshiftなどへ自動配信する仕組みです。

要するに、ベルトコンベアです。Data Streamsは「流れてくる荷物を自分で取り出す」コンベア、Firehoseは「荷物を自動で倉庫まで運んでくれる」コンベア。RAGの文脈では、更新され続ける文書やイベントログをこのコンベアに乗せて、ベクトルストアや分析基盤まで運びます。

何に使うか

用途使い方関連ドメイン
Kinesis Data Streamsチャットのやり取りやクリックストリームなど、put-to-getの遅延が1秒未満で欲しいリアルタイムアプリの入力D1, D2
Amazon Data FirehoseストリームをバッファリングしながらS3(Knowledge Basesのデータソースになるバケット)やOpenSearch Serviceへ自動配信。既存のKinesis Data Streamを読み込んで下流に流すこともできるD1, D2

試験でどう問われるか

主役では出ません。 D1.3・D2.3で「継続的に更新される文書やイベントをRAGコーパスやKnowledge Baseに反映したい」というシナリオの中で、取り込みの入り口として選択肢に混ざります。

問われ方正解に寄る条件引っかけ
ストリームをS3に自動配信したいだけコンシューマアプリを書きたくない → Amazon Data FirehoseKinesis Data Streams(自分でコンシューマを書いて読み出す前提なので手間が増える)

取り違えやすいもの

迷う相手切り分けの一言
Amazon MSKKinesisはフルマネージドで運用の手間が最小。MSKはApache Kafka互換で、既存のKafkaエコシステム(コネクタ・ツール)をそのまま使いたいときに選ぶ
SQSSQSはメッセージキュー(1メッセージ=1回消費が基本)。Kinesisは複数コンシューマが同じストリームを並行して読める点が違う

想起チェック

Q1. 「ストリームをS3に自動配信したいだけで、自分でコンシューマアプリを書きたくない」ときに選ぶのは?

Amazon Data Firehoseです。Kinesis Data Streamsは自分でコンシューマを書いて読み出す前提ですが、Firehoseはバッファリングしながら宛先(S3・OpenSearch等)へ自動配信します。

出典(AWS公式)