😸

AWS認定DAS勉強:KinesisClientLibrary(KCL) vs KinesisConnectorLibrary

2022/04/29に公開

初めに

Kinesis Client Library(KCL) と Kinesis Connector Libraryの違いが覚えられない。
Kinesis Consumer SDKはプログラミングするときに言語内で使うやつだから区別はつく。

Kinesis Client LibraryはKinesis Consumer Libraryとも呼ぶらしい。

検索した結果は 「Kinesis Consumer Library」が2530件。「Kinesis Client Library」が18400件なので、自分の中ではKinesis Client Libraryに統一する。

結論

基本的に、Kinesis Client(Consumer) Libraryを使うと覚えればよさそう。 Kinesis Connector Libraryは古くてこれからはもう使わない。

client library(KCL)

  • java用のライブラリとして開発された。現在はGolang Python Ruby Node .NETなどでも使える。
  • Kinesis Producer Libraryで作られたデータを読む。KCLには集約をほどいて読み取る仕組みがあるからだ。
  • 複数のシャードを共有することができる。
  • チェックポイント機能があり、進捗に合わせてやり直せる。チェックポインティングにはDynamoDBを使っている。(dynamoDBのキャパシティに注意)

connector library

  • より古いjava LibraryでKCLを使っている。
  • EC2上で動く必要がある
  • S3,DynamoDB,RedShift,Elasticsearch等にデータを配置することができる
  • Kinesis Firehoseに似ている。違いはFIrehoseはS3とRedshiftに直接配置できる、DynamoDBやElasticsearchに配置するにはlambdaを経由する必要がある。古い仕組みであり、Filrehoseとlambdaに置き換えられようとしている。

最後に

言葉が似てるし、いっぱいサービス出てくるから覚えられねー。

Discussion