eijiコメントはこの投稿ではオフになっています。KinesisKinesisは、大量のデータを受け付けて配信先に順序通りに配信するバッファ機構である。Kinesisを利用することで高速かつ継続的にデータの取り込みと集約を行うことが可能であり、ログデータやセンサーデータなどの継続的に入力されるストリームの処理に適している。Kinesisにデータが入力されて取得できるようになるまでは1秒未満である。瞬時に処理を実行することが可能である。RDS等にデータ入力するのと比べ、より信頼性が高く安価なシステム構築が可能である。時間のみアクセス可能(オプションを使用すれば、最大168時間までアクセス可能)である。Application)をEC2上で動作させることで、加工や抽出・他のデータベースへの転送を行うことができる。DynamoDB上に制御テーブルを用意して、現在のチェックポイントを記録する。このため複数のプログラムを同時に実行させて、重複することなく並列でデータ処理を行うことが可能である。Application名は一意である必要があり、DynamoDBの制御名にも利用される。「シャード」は、Kinesis上のデータ処理経路を、「プロデューサ」はKinesisへのデータの入力部分を、「コンシューマ」はKinesisからのデータ取得部分(役割)を指す。Ohtaniレコードの順序シャードイテレータは、シャード単位でデータを取得する。データの取得方法に関しては以下の4つが規定されている。シャードの一番新しいデータから取得レコードを取得(GetRecords)する際には、レコード毎に付与されたシーケンス番号がキーとなる。シーケンス番号は、シャード単位で管理されており、レコードを入力(PutRecords)した際にシャードごとにインクリメントされる。したがって、シーケンス番号順に取得するということは、すなわち各シャードに入力されたレコードを時系列順に取得するということと等しい。Libraryが、複数のシャードから同時にレコードを取得した場合などは、複数シャードのレコードが混在して取得されることから、取得データが時系列順に並ぶとは限らない。シャードへのデータ入力処理は並列で実施されるために、シャードへレコードが同時に入力された場合には、シーケンス番号が意図した通りにインクリメントされるとは限らない。レコード入力の際に、シャード内で厳密にシーケンス番号をインクリメントさせる場合には、SequenceNumberForOrderingパラメータを付与して、レコードの入力を行う。時系列順に厳密にレコードを取得する必要がある場合には、プロデューサごとに毎回同じパーティションキーを使用し、かつSequenceNumberForOrderingパラメータを付与した上でレコードの入力を行う。これによって同一のプロデューサからのレコードは、同一のシャードに入力される。Libraryを用意することで、複数シャードのレコードを混在させることなく、レコードを取得・処理することが可能となる。各プロデューサごとに同じパーティションキーを使用する手法は、シャードごとにレコード量の偏りを生じる可能性もあるので注意が必要である。(1)アーカイブ2020年2月2020年1月2019年12月2019年11月2019年10月2019年9月2019年8月2019年4月2019年3月2019年2月2019年1月2018年12月2018年11月2018年4月2017年4月2016年12月2016年11月2016年10月2016年8月2016年5月2016年4月2016年3月2016年1月2015年12月2015年11月2015年10月2015年9月2015年5月2015年4月2015年2月2012年5月2012年4月2011年6月メタ情報ログイン投稿フィードコメントフィードWordPress.org。