😸
AWS認定DAS勉強:KinesisClientLibrary(KCL) vs KinesisConnectorLibrary
初めに
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