センサーデータをリアルタイムに収集する仕組みをつくる
池澤さん、先ほどAmazon Kinesisにアクセスする許可を設定しましたけど、Amazon Kinesisがどんなサービスか知ってますか?
はい、センサーデータをリアルタイムに処理するんですよね。
そういった用途では、フロントにデータを受け付けるためのサーバーを大量に用意する必要があるんですが、Amazon Kinesisを使うことでその役割が果たされています。
実際には、Amazon Kinesis自体が何かの処理を行うわけではありません。「大量のバケツを並べて、そこにリアルタイムでデータを流し込んであげる」イメージなのがAmazon Kinesisです。なので、設定はものすごく簡単です。
スマホフレーフレー言語応援アプリでは、スマホが振られたときの加速度センサーのデータを取得するために使います。
一般的にはAmazon Kinesisって、どういう用途で使われるんですか?
センサーデータみたいに、小さなサイズのデータをあちこちから大量に収集するタイプの処理と、相性が良いですね。あとはログかな。Webのログの収集などにもよく使われますよ。
Amazon Kinesisのストリームを作成する
先ほど西谷さんが説明しましたが、Amazon Kinesisは、ストリームと1つ以上のシャードで構成されてます。ここでは、ストリームを作成します。
マネージメントコンソールの「Analytics」で「Kinesis」を選択して、[Create Stream]をクリックしてください。
クリックしました。
[Stream Name]にストリーム名を入力します。ここでは先ほどIAMロールを設定した際に指定したストリーム名を入力します。次に、[Number of Shards]にシャードの数を入力します。今回は1でよいと思うので、「1」と入力して下の青い領域を見てください。
これは各シャードのキャパシティです。さっき、[Number of Shards]にシャードの数として「1」を入力しました。シャードは、1秒間の読み込みトランザクション数は最大5件、1秒間に読み込まれる合計データ量は最大2MBと1秒間に書き込まれるレコード数は最大1,000件、1秒間に書き込まれる合計データ量は最大1MBをサポートできます。
これって、毎秒1,000回データを書き込むことができるってことですよね。
そのとおりです。シャードの数を10にしてみると、そのままキャパシティも10倍になります。このように、Amazon Kinesisでは簡単にキャパシティを調整できます。
あとは[Create]をクリックすると、ストリームが作成されます。
参加したい方、ご興味のある方はデベロッパーカンファレンスのWebサイトへ!