かなり前から「リアルタイム」という言葉が使われていますが、当初はバッチ処理でなければリアルタイムと呼ばれていたかもしれません。しかしリアルタイムの感覚はますます厳しくなり、今や数時間も遅延があればリアルタイムとは呼ばれないかもしれません。許されるのは数分、数秒の遅延でしょうか。
さて次はAmazon Web Service(AWS)のAmazon Kinesis(以下、Kinesis)です。こちらは2013年11月にアメリカでローンチしたサービスです。7月17日からついに東京リージョンでも利用可能となりました。アマゾン データ サービス ジャパンが同日から開催したAWS Summit Tokyoの2日目にはKinesisの開発マネージャを勤める堀 剛氏(写真)が解説しました(ちなみにAWSの中で好きなサービスはRedShiftだそうです)。
Kinesisとは洪水のように押し寄せてくるような大量のストリーミングデータをリアルタイムで処理するサービスです。1時間当たり数十万のソースから数百TBのデータを収集し処理できるとされています。Kinesisでは用途ごとにストリームを作成し、ストリームは複数のAZ(Availability Zone)にて複数のシャードで処理されます。スループットはシャードで調整します。
AWS CLIならデータ入力は「put-record」、取得は「get-records」コマンドを使います。実際にはKinesisクライアントライブラリ(リンク)やKinesisコネクタライブラリ(リンク)などのツールを用いるのが便利です。堀氏は「KCLがいろいろとやってくれるので開発者はビジネスロジックに集中できます」と話していました。
堀氏によると、コツとしてはKinesisに全てのデータを1回入力し、必要に応じて新しいアプリを追加していく、つまり「まずは作る。ダメそうならすぐやめる。また作る」。アジャイルに進めていくことが拡張性のあるアプリが作れるのだそうです。まずはやってみないと。
Copyright © ITmedia, Inc. All Rights Reserved.