「クラウドでパケ死」。

 5月中旬、こんな言葉がTwitterで発信された。米Amazon Web Servicesのクラウドサービス「Amazon EC2」と「Amazon EBS」を使ったことろ、わずか5日ほどで利用料が25万円を超えてしまったのだという。ご本人のTwitterをたどると、原因は容量が30テラバイトの巨大な仮想ストレージを3台も借りてしまったことにあるようだ。このストレージに、データベースソフト「Cassandra」を使って1兆件を超えるレコードを登録したのだという。

 Cassandraとは、米Facebook社が自社のサービス基盤向けに開発したデータベースソフトである。現在はOSSとして公開され、Apache Software Foundationが開発を進めている。特徴は、複数のノードにデータを分散管理できることで、ノードを追加するだけで容易に処理性能を高められる仕組みになっている。筆者も実際に使ってみたが、操作は新たにノードを起動するだけで済む。後は、先に起動しておいたノードが追加されたノードを自動で認識し、クラスターと呼ぶ同一グループの分散環境に付け加えてくれる。

 使い勝手の良さを実感すると、次に興味を抱くのが「一体どこまで処理性能を伸ばせるのだろうか」という性能の限界点である。図らずもこれに答えてくれたのが、冒頭のTwitterで発信されていた話だ。Cassandraが備える容易な拡張性が招いた悲劇は、その一方で「レコードが1兆件を超えようともレイテインシーは低下しない」というCassandraが秘める潜在能力の高さを実証したのである。圧倒的なスケールの大きさに、データベースのエンジニアでなくても衝撃を受けるのではないだろうか。

 Cassandraと同様な特徴を持つデータベースソフトは、ほかにもたくさんある。米Google社が開発した「BigTable」、Amazonの「Dynamo」、ベンチャー企業のえとらぼが開発した「kumofs」、楽天の「ROMA」、ミクシィの「Tokyo Cabinet」などだ。これらのデータベースソフトは、現在の主流であるリレーショナルデータベース管理ソフト(RDBMS)が備えるSQLコマンドを利用しない。RDBMSとは異なるテクノロジーを使っているという意味で「NoSQL」と呼ばれている。

関心は情報収集から実運用に向き始めた

 4月上旬の当コラムでもNoSQLの話題を取り上げた。そのころのNoSQLを取り巻く動きは、情報収集の段階といった印象だった。それからわずか2カ月ほどの間に、実際の導入検討を見据えた取り組みが一段と進んでいる。さらに、市販製品に組み込まれて販売されるケースも出てきた。

 米Yahoo社の研究開発機関であるYahoo! Researchは2010年5月、「Benchmarking Cloud Serving System with YCSB」という論文を発表した。内容は、リソースを動的に追加していくことで処理性能を高めたり、耐障害性を高めたりすることのできるNoSQLを対象に、性能指標となるベンチマークを提供するものである。同機関が公開している「YCSB」(Yahoo! Cloud Serving Benchmark)を使い、読み書きの処理性能やスケールアウトで拡張したときのパフォーマンスを測定するための手法がまとめてある。

 YCSBは同一条件の下でのベンチマークを測定するものだが、NoSQLのパフォーマンスは対象となるデータの特性にも大きく左右される。例えば、1件当たりのデータ量は小さいが全レコード件数が膨大になるデータの管理を得意とするNoSQLもあれば、1件当たりのデータ量は大きいが全レコード件数はそれほどでもないデータの扱いを得意とするNoSQLもある。こうしたデータ特性の違いを反映した上で各種NoSQLを評価すべきとの声が出るなど、具体的なシステムを想定した議論が交わされる機会が増えている。

 NoSQLのデータベースを内蔵する製品も登場した。ぷらっとホームが5月27日に発表した「CloudStation dSS」は、同社が独自に開発したNoSQLを実装している。ぷらっとホームが想定する用途は、動画配信システムや大容量ファイルのバックアップシステムである。実装したNoSQLも、こうした用途のデータ特性に対して最も高いパフォーマンスを発揮できるように開発を進めたという。

 NoSQLには様々な可能性がある。筆者の知る限りではログデータの管理などに使われた例などがあるが、ぷらっとホームの取り組みは、NoSQLの用途が新たな領域に広がる可能性を示唆する動きと言えるだろう。そのスピードは想像以上に速いというのが筆者の印象だ。これからNoSQLを知りたいという読者のために、日経Linuxの7月号では「Cassandra入門」を掲載した。実際にパソコンにインストールして、その使い勝手を実感していただきたい。