AWSにRedisのサポートが加わる; スケーラブルなデータストアではMicrosoftも頑張っているが…

Amazon Web ServicesにRedisのサポートが加わった。Redisはインメモリのキー-ヴァリューストアで、優れたキャッシング技術と複数のデータタイプのサポートでデベロッパに人気がある。このニュースはAWSのユーザにとっては重要だが、しかしAzureが昨日、独自のデータストアを発表したばかりだから新鮮さには欠ける。

RedisはAmazon ElastiCacheに組み込まれ、もう一つのキャッシングエンジンであるMemcachedと併存することになる。

Redisではデータがディスクに残るから、単なるキャッシュではなくデータベース的にも使える。つまりRedisのデータはマシンをリスタートしても消されていない。そのキー-ヴァリューストアは、たとえばキー-ヴァリューペアを指定してデータオブジェクトを呼び出せる。StackExchangeの説明を借りると、キーはたとえば「色」、ヴァリュー(値)はたとえば「赤」だ。キーはさらに、ユーザに結びついている。キーを指定して、データオブジェクトを取り出す。データベースをクェリするときはユニークなキーを指定して該当オブジェクトのあるノードから結果を取得する。

Redisはとくに、そのスピードとスケーラビリティで注目されている。分散インフラとの相性がよくて、AWSにはうってつけだ。その開発に参加しているデベロッパの一人が、Stack Overflowでこう言っている:

スケーラビリティのたいへん良いデータストアを複数のプロセスや複数のアプリケーション、あるいは複数のサーバで共有したいなら、Redisが最高だ。そのプロセス間通信は最強だ。クロスプラットホームやクロスサーバ、あるいはクロスアプリケーションで高速に通信できるから、非常の多くのユースケースにとって、理想的なチョイスだ。またそのスピードは、キャッシングレイヤとしてすばらしい。

対照的にWindows Azureのチームは、自力で機能の増強を続けている。AWSと互角な選択肢であることを、強調したいのだ。Windows Azureの開発を指揮しているScott Guthrieは、このサービスのアップデートに関して長い記事を書くことで有名だ。昨日(米国時間9/3)彼は、新たな分散キャッシュサービスについて詳細な紹介記事を書いた。

Windows Azureのアプリケーションはどれも、自分専用のサービスを使える。Guthrieのブログ記事によると、それらのアプリケーションは“WindowsやLinuxの仮想マシンでホストされているもの、Windows AzureのWebサイトやWindows Azureのクラウドサービスとして展開されているものなど、さまざまだ。Windows Azure Mobile Servicesも将来は使えるようになる”、という。Windows Azureのサービスは各アプリケーション個々にサービスしたり、あるいは単一のキャッシュサービスを複数のアプリケーションに共有させたりする。

とはいえ、現実はどうか。Gartner Researchは最近、各クラウドサービスを評価し比較するグラフを描くとき、AWSがずば抜けて高いところへ行ってしまうため、作図をやり直さなければならなかった。つまり、AWSはあまりにもダントツであり、しかもその状況は今後当分は続きそうだ。

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