MySQLからフォークし、クラウド用に最適化したDrizzleがベータ版公開
MySQLを再デザインしてクラウドのような大規模分散環境に最適化し、モジュラー構造にした「Drizzle」。そのベータ版が公開されたとAdrian Otto氏のブログのエントリ「Drizzle is now BETA」で報告されています。
クラウド環境に最適化したデータベース
Drizzleの開発が始まったきっかけは、米クラウドベンダRackSpcaceのCTOが、MySQLの主要な開発者の1人であったBrian Aker氏に、「memcachedやGearmanを内部的に組み合わせて使える、スリムダウンしたMySQLを作ろうと思ったことはないのか?」と聞いたことだったそうです(@IT「Drizzleプロジェクトの目指すもの、その先を読む」から引用)。
DrizzleのWebサイトには、その主旨(Charter)とスコープが宣言されています。以下がその訳です。
主旨
- クラウドインフラストラクチャとWebアプリケーションに最適化したデータベース
- マルチCPUアーキテクチャ上の大規模並列処理に向けたデザイン
- 並列性とパフォーマンス向上のためのメモリを最適化
- オープンソース、オープンコミュニティ、オープンデザイン
スコープ
- モジュラー構造にデザインし直され、定義されたAPIによるプラグインを提供
- 使いやすく管理しやすいシンプルなデザイン
- 信頼性の高いACIDトランザクションの実現
クラウドのような大規模分散環境での並列処理に最適化したうえで、ACIDなトランザクションに対応することが最大の特徴。ストレージエンジンにはデフォルトでInnoDBが選択されるようですが、MySQL同様にほかのエンジンも選択可能。
いままでMySQLにさまざまな工夫を凝らしてクラウドに実装している企業は多いようですが、Drizzleはそうしたニーズに応えるものといえます。
実装としてはスコープの最初にあるモジュラー構造が目を引きます。プラグインで機能をあとから追加可能。
「Drizzle is now BETA」によるとベータ版は十分安定し、利用してもデータが壊れることはないだろうとのこと。
Your data is safe. Transactional engine by default and stable for over 2 years.
MySQLの代わりではない
mixi Engineers' Blogに2008年7月に投稿された「Introducing the Drizzle Project」では、DrizzleをMySQLの代わりではないと紹介しています。
一つ明確にしておかなければならないポイントは、DrizzleはMySQLの替わりになるプロダクトではありません。Drizzleのターゲットはとても限られた、RDBMSのカスタマイズを必要とする中~大規模なウェブアプリケーションです。
その理由として、Drizzleではmemcachedと同様に社内のデータセンターのようなセキュアな環境で使われることを前提としてアクセス制御機能を省略し、その代わりアクセス制御に伴うオーバーヘッドがなく高い性能を実現している設計になっていることを挙げています。
前述の@ITの記事によると、DrizzleからはACL(アクセス制御リスト)、ビュー、ストアドプロシージャ、Prepared Statements、クエリキャッシュ、トリガなどの機能が取り除かれているそうです。
Drizzleは今後、来年の2月に一般公開版(GA:General Availabirity)、5月には論理データベースに分割できるマルチテナント機能を備えた一般公開版が提供される予定です。
あわせて読みたい
JDK 7は2011年中旬に決定。ただしクロージャはなし。2012年にJDK 8
≪前の記事
インド、12億の全国民をバイオメトリクスでデータベース化。12桁のID発行へ。日本でも2013年までに国民ID導入の方針