クラウド特捜部

「re:Invent 2013」で発表されたAmazon Web Servicesの新サービスを振り返る (ストリーミングデータのリアルタイム処理を行うAmazon Kinesis)

ストリーミングデータのリアルタイム処理を行うAmazon Kinesis

Amazon Kinesisは、リアルタイムのビッグデータ処理に特化したサービス

 Twitterでは、大量のデータ(ツイート)が生成されている。Hadoopを利用したビッグデータ解析などでは、保存されているツイートをある時点で処理しているが、今現在のデータがリアルタイムで処理されているわけではない。しかし、刻々と状況が変化する現在の環境では、なるべくリアルタイム、あるいはニア・リアルタイムでデータを処理したいというニーズがある。

 そこで開発されたのが、リアルタイムに発生する膨大なデータを受信し、処理する機能を提供するAmazon Kinesisだ。このサービスでは、今までのクラウドではなかった新しいプラットフォームデザインを採用することで、毎時数MBから最大数TBのデータ処理が行えるようになったという。

 Amazon Kinesisでは、これだけの大量データを取りこぼさずに確実に処理するため、Shard(シャード)という特殊なパイプラインが用意されている。

 また、Redshift、Dynamo DB、Amazon S3などAWSのほかのサービスと連携できるので、バックエンドの処理は既存のAWSのサービスを使いつつ、Kinesisでリアルタイムにデータを取り込み、ある程度の処理をするといった仕組みも構築できるという。

ビッグデータに関するニーズは高まっている。さらに、リアルタイムにビッグデータを処理するニーズが出てきている
Amazon Kinesisの全体像。中央のAmazon KinesisがデータをStreamとして処理する。そのときに、Shardというバケットを用意することで、大量のデータが来てもデータロスを防いでいる。さらにデータが多くなれば、Shardを増やしていけばいい
AWSのほかのサービスと連携しているため、バックエンドの処理がAWS上で簡単に行える

 AWSでは、Kinesisの応用範囲として、金融市場の取引所などにおけるリアルタイムの監査、オンライン広告のKPIをリアルタイムに生成するサービスなどを念頭に置いている。

 AWS re:Invent 2013で行われたKinesisのデモでは、リアルタイムにTwitterのツイートを取り込んで、人気のキーワードのトップ10を表示していた。Hadoopなどを使って近い時点のデータを集計する、といったことはよく行われるようになったが、このデモでは現在のデータを処理しているため、どのキーワードに注目が集まっているかを、リアルタイムに知ることができる。

ベータ版のサービスを、金融取引所、オンライン広告事業者などのユーザーが利用している

(山本 雅史)