LoginSignup
1
0

More than 5 years have passed since last update.

Amazon Kinesis Data Stream用語

Posted at

Amazon Kinesis Data Streamsについて

アーキテクチャ

Producers > Amazon Kinesis Stream > Consumers > AWSサービス
https://docs.aws.amazon.com/ja_jp/streams/latest/dev/key-concepts.html

用語

Kinesis Data Stream

  • データレコードの順序付けられたシーケンス
  • ストリーム内の各レコードにはシーケンス番号が割り当てられる
  • データレコードはシャードに分配される

データレコード

  • Kinesis data streamに保存されるデータの単位
  • シーケンス番号、パーティションキー、データBLOB(変更不可のバイトシーケンス)から構成
  • データBLOBは最大1MB

保存期間

プロデューサー

  • レコードをAmazon Kinesis Data Streamに入れる存在
    • 例:ストリームにログを送信するWEBサーバ

コンシューマ

  • レコードをAmazon Kinesis Data Streamから取り出して処理する存在
  • Amazon Kinesis Data Streams Applicationsと呼ばれる

Amazon Kinesis Data Streams Applications

  • ストリームのコンシューマで一般的には複数のEC2で実行される
    • Kinesis Client LibraryかKinesis Data Streams API を使用して開発可能
    • さまざまなAWSサービスに出力可能
      • S3
      • DynamoDB
      • Redshift
      • EMR
      • Amazon Kinesis Firehose
    • ストリームは1つでOK
  • 複数のAmazon Kinesis Data Streams Applicationが同時かつ独立してストリームからデータをつかえる

Amazon Kinesis Data Streams application 名

  • アプリケーションを識別
  • AWSアカウントとリージョンで一意の名前が必要
  • DynamoDBでは制御テーブル名として使われる
  • CloudWatchでは名前空間メトリックとして使われる

Shard(シャード)

  • ストリームは複数のシャードで構成される
  • データレコードのグループ
  • 各シャードが容量の1単位
    • 各シャードの読み取りについて
      • 最大 5トランザクション/秒
      • 最大 2MB/秒
    • 各シャードの書き込みについて
      • 最大 1000レコード/秒
      • 最大 1MB/秒
  • シャードの増減は可能

パーティションキー

  • データをシャード単位でグループ化するために使用される
  • データレコードを複数のシャードに配分するときパーディションキーを使用する
  • パーディションキーは最大256バイト超のUnicode
  • MD5ハッシュ関数を使用してパーディションキーを128バイトの整数値にマッピング
  • 関連づけられたデータレコードをシャードにマッピングする
  • ストリームにデータを入力するアプリによって指定される

シーケンス番号

  • 各データレコードはシャード内で一意のシーケンス番号を持つ
  • シーケンス番号はデータのインデックスとしては使用できない
  • 一連のデータを区別するにはパーティションキーを使用するかデータセットごとに個別のストリームを作る。

サーバサイド暗号化

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0