クラウド対応のスケーラブルなMySQLデータベース、米Xeroundが発表
「MySQL for the Cloud」。スケーラブルでつねに稼働し続けるというデータベースサービスを米Xeroundが発表し、プライベートベータとして一部に公開を始めています。
プレスリリースの中で同社はこのこのサービスの特徴を次のように表しています。
Xeround’s unique patented technology brings a new approach to data management in the cloud, aiming at providing the best of both worlds – the transactional and query capabilities of relational databases with the simplicity and scalability of NoSQL data stores.
Xeroundのユニークな特許取得済みの技術は、クラウドでのデータ管理に新しいアプローチをもたらす。それは、リレーショナルデータベースのトランザクションとクエリの能力を、NoSQLのシンプルさとスケーラビリティで実現するのだ。
現在このサービスはプライベートベータとして登録した一部のユーザーに対して、同社のクラウド上でのサービス(Database as a Service)、あるいはAmazonクラウド上で実行可能な仮想アプライアンスとして提供されています。
MySQLの独自ストレージエンジン
同社Webサイトの解説によると、XeroundはMySQLのストレージエンジンアーキテクチャの上に構築されており、すでにMySQLを利用しているアプリケーションに対してはコードの書き換えなしでそのままデーターベースが置き換えられるとのこと。
Xeroundに対してはSQL以外の命令やLDAPでもアクセス可能。内部構造は、アクセスノード(Access Node)とデータノード(Data Node)の2層になっており、アクセスノードが自動的にデータを複数のデータノードに分散して書き込むことで、可用性を実現。
また、負荷が増大した場合には負荷の種類に応じてアクセスノードやデータノードを追加していくことでスケーラブルなシステムを実現していると説明されています。
この説明を見るかぎり、MySQLに対して自動的にShardingを行うことがスケーラビリティと可用性のポイントとなっているようです。ただし冒頭で紹介したように「特許取得済みの技術」と彼らが語っているので、このアーキテクチャの上でさらに彼ら独自の工夫をしているのでしょう。
クラウドでのリレーショナルデータベースの巻き返し
MySQLでShardingによるスケーラビリティを実現するものには、国産のストレージエンジンであるSpiderがあります。Spiderについては、ブログ漢(オトコ)のコンピュータ道のエントリ「快適スケールアウト生活への第一歩。SPIDERストレージエンジンを使ってみよう!」に詳しく解説がされていますが、このエントリの図は上記のXeroundのアーキテクチャ図そっくりです。
また、Twitterが独自に開発した分散フレームワークの「Gizzard」もデータベースに対してShardingを実現するソフトウェアです。Publickeyの記事「Twitterが分散フレームワーク「Gizzard」公開! Scalaで書かれたShardingを実現するミドルウェア」で紹介していますが、この記事の中の図も、同じくXeroundのアーキテクチャ図そっくり。どちらもShardingしているので当然といえば当然ですが。
こうしてみると、Shardingでスケーラビリティと可用性を実現するアーキテクチャは、特にXeroundがユニークなものであるというわけではなく、どちらかといえばオーソドックスなアーキテクチャだといえそうです。
そしてXeround以外にも、リレーショナルデータベースをスケーラブルなクラウド対応にできると主張するベンダは存在します。Publickeyでは今年の4月にFathomDBというベンチャーを紹介しました。
また、データベース研究者の大御所として知られるマイケル・ストーンブレイカー氏も、NoSQLを超える速度とスケーラビリティを持つ「VoltDB」を開発しています。
クラウド対応のスケーラブルなデータベースといえばCassandraのようなNoSQLデータベースに注目が集まっていますが、リレーショナルデータベースの巻き返しにも注目です。