大量のデータストリームをリアルタイムで処理分析するAmazon Kinesisサービス

Amazonが提供を開始した新サービスKinesisは、データをリアルタイムでストリーミングするとともに、その際、毎秒何千ものデータストリームのデータ処理を行う。このサービスにより、リアルタイムアプリケーションのデベロッパは、複数のソースから大量のデータを取り入れることができ、データ処理量のスケールアップもダウンも自在に行える。

Kinesisは、複数の可利用性ゾーンにまたがって多数のストリームを作れる。ストリームには、それらに固有の容量とかレートの制約がない。入信データはすべて、複数の可利用性ゾーンにわたって複製される。一つのストリームに複数のライターとリーダーがあってよい。このサービスはデータを複数のストリームに分割*し、それぞれが1000回のライトトランザクションと最大20のリードトランザクションを処理する。〔*: shard, sharding, シャーディング, ひとつのデータ単位を複数のサーバ負荷として分割すること。〕

Kinesisの課金はデータ処理量とそのパッケージのされ方に応じて行われる。AWSのブログによると、PUTに関してはPUT操作100万回に対して0.028ドル、ストリーム分割は1分割1時間あたり0.015ドルとなる。ゲームのデータを1時間ぶん集めるとすると、一例として、分割に0.3ドル、PUTコール3600万回で1.01ドル、計1.31ドルになるだろう。

CTOのWerner Vogelsは、複数のセンサからのデータを記録するストリーミングを例に挙げている。たとえば建設現場では随所にセンサを配備し、それらのデータをたえずウォッチすることになる。たとえば環境条件を記録して、コンクリートを基礎に流し込むタイミングを決めるだろう。Amazon Kinesisを利用すると、そういったデータをリアルタイムで処理し、さまざまなアプリケーションへ送り込むことができるのだ。

彼が挙げている例でも、データはどんどんスケールしていくだろうから、それらを無事に取り入れて、毎秒々々処理分析する能力が必要だ。このように、今日および明日の世界は、データをどのように測定し、それらに対し何をどうアクションするかで定義されるのだ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))