AmazonのリアルタイムデータストリーミングサービスKinesisが公開ベータへ, 問題点も露呈

AmazonのリアルタイムデータストリーミングサービスAmazon Kinesisが、公開ベータに入った。デベロッパがこのサービスを利用すると、クラスタ群の面倒なお世話を自分ですることなく、単純にリアルタイムアプリケーションを構築展開できる。しかし、新しいタイプのリアルタイムアプリケーションプラットホームと喧伝されてはいるものの、11月に行われたAWSのRe:Inventカンファレンスでローンチして以来今日まで、いくつかの欠点も浮かび上がってきた。

AWSのKinesisは、毎秒何千ものデータストリームをストリーミングする。デベロッパは、データの量やデータソースの数を制限されず、必要に応じて自由にスケールアップ/ダウンができる。AmazonのCTO Werner VogelsはRe:Inventのステージで、このプラットホームは、多数/多種類のセンサがいろんなやり方で情報を送信しているようなところでのデータ処理で真価を発揮する、と述べた。彼は、センサを利用してデータを記録するアプリケーションは今後各方面で増えるだろう、と言った。たとえば建設現場では、Kinesisが送ってくるデータを見ながら、コンクリートを基礎に流し込むベストのタイミングを判断できるだろう。

Kinesisは複数の可利用性ゾーンに対応でき、またそれらの複製も可能なので、高い可利用性を提供できる。データを複数のストリームにシャーディングでき、一つの分割単位が毎秒1000回のライト(書き込み)トランザクションと最大20のリード(読み取り)トランザクションを扱える。

下のKinesis入門ビデオは、Dellのクラウド担当シニアディレクターBernard Goldenが先週作ったものだ。

AWSはKinesisを、Hadoopに代わるものと位置づけているが、Hadoopは主に、既存の大量データをバッチで処理するためのフレームワークだ。またHadoopとその周辺には多様な要素から成るエコシステムがあり、たとえばその一員であるYarnは、コンピューティングリソースをクラスタで管理し、リアルタイム処理にも対応するので、リアルタイムアプリケーションのベースになりえる。

またG Gordon Worley IIIはブログで、KinesisはTwitterがオープンソースしているデータ処理ツールStormに似ている、と言っている。〔記事: Amazon Kinesis compared to Storm〕

Kinesisを試用したWorleyは、Kinesisはエラスティックで、負荷に応じて自動的にスケールするからEC2のクラスタを自分で管理する負担がない、と言っている。Amazonの主張どおりなら、KinesisはStormのやや面倒なセットアップに比べて相当簡単に、クラスタの運用ができるだろう、と彼は書いている。

同じくWorleyは、AWSはHadoopのバッチ処理に比べて敷居は低いが、しかし全体的に見てKinesisは、複雑なデータストリームの統合化には向いていない、とも言っている。

しかしKinesisの欠点は、個々のKinesisアプリケーションが単一のプロシジャで成り立っているため、Stormにできるような複雑な処理は、複数のKinesisアプリケーションを互いに接続しないとできないことだ。ぼくには、この点が心配だ。

Kinesisは、データをストリーミングする点で、従来のデータ分析サービスに比べて新しいと言える。しかしAWSは必ずしもその始祖ではないし、またデータ分析分野のリーダーでもない。オープンソースのコミュニティには今でもさまざまなオプションが増えつづけており、それらは、AWSとそのプロプライエタリなインフラストラクチャに、十分代わりうるものだ。

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