Drizzleとクラウド

Yorozuyah.com - MySQL互換のRDBMS Drizzle

なんでも、技術統括のBrian Aker氏を筆頭に、MySQLのあまり使用されない機能を削ぎ落とし、軽量化するとか。
その他にも、弱点とされていたマルチコアCPU上での処理性能もより向上させるなど、本家MySQLよりも先進的なものになりそうです。

そもそも、MySQLは機能を絞り、処理性能向上を目標としていたはずので、ある意味原点回帰ということなのでしょうか。

Sun Microsystemsに買収後、薄れるかと思われたオープンソースソフトウェアとしての特徴がまた復活した気がします。


mixi Engineers’ Blog

Drizzleとは?
Drizzleとは必要のないものは一切存在しない、最低限でパフォーマンス重視な「MySQLよりシンプルで、軽く、安定して、高速な」 MySQLのforkです。マイクロカーネルアーキテクチャを採用したので、必要のないものは後付けできる構成です。こういった目標もあり、現在、Drizzleの開発チームはMySQLをドラスティックにリファクタリングしています。

MySQLの替わりではない
一つ明確にしておかなければならないポイントは、DrizzleはMySQLの替わりになるプロダクトではありません。Drizzleのターゲットはとても限られた、RDBMSのカスタマイズを必要とする中〜大規模なウェブアプリケーションです。

例えば、中〜大規模で使われるMySQLは、memcachedと同様、セキュアな環境で運用されると仮定されます。したがって、安全であるという割り切りで、ユーザ名とパスワードをシンプルに, “hoge”と”hoge”に設定したとします。この場合、運用者としてはユーザ名とパスワードに意味はありませんが、MySQLの内部では、適当なクレデンシャルでも、ACL関連のロックが適用され、パフォーマンスを影響する要素となります。また、Query Cacheに関しても、個人レベルのデータベースでは効果的ですが、アプリケーションの規模が少し大きくなると意味を成さないコンポーネントとなります。

中〜大規模なアプリケーションの開発者たちは、これらの機能をカスタマイズしたいと思ったり、実際に自社用にカスタマイズしています。こういうった人たちの仕事を楽にするためにDrizzleがあるのであって、一般的な場面で使うRDBMSとしては、MySQLが正しい選択だと思います。

マイクロカーネル アーキテクチャ
ウェブ業界で働く方で、最近のMySQLには使うことのない機能が多々あると感じる方は少なくないと思われます。Drizzleでは取り急ぎ、Stored Procedures, Triggers, Prepared Statements, Views, Query Cache, Event Scheduler, ACL, UNIX Socketをサーバから取り外しました。替わりに、私達はこれらのコンポーネントをプラガブルにするマイクロカーネルアーキテクチャを目指します。

マイクロカーネルなら、Query Cacheをmemcachedのプールで代用してデータベースサーバたちに共通のキャッシュを共有させる事も可能になります。

Drizzleが完成すると、デベロッパーはApacheの様に様々なプラグインを書いて、ある程度、「自分仕様」なRDBMSを構築することが可能になります。

と思ったらクラウド用のMySQLが - Privatekey

Brian "Krow" Aker's氏のブログでは、このDrizzleの(いまのところの)ゴールが紹介されています。

The goal right now is to target a certain class of applications/developers and see if this is useful. As an example:

1) Web based apps.
2) Cloud components.
3) Databases without business logic (aka stored procedures).
4) Multi-Core architecture.

Drizzleは、上記でも説明されているように、特定の目的に特化して開発が進んでいるようですが、もしかしたら、いまはまだ大型サーバと商用データベースの独壇場となっている大規模データベースに対して、クラウドクラウド対応DBMSが切り込む第一歩になるかもしれません。そうなれば、これはまた大きな商用ソフトウェアベンダーにとって"破壊的テクノロジー"の登場となりそうです。

英語の情報はこちらに:
Drizzle project to trim down MySQL | Prosumer News

Technorati Tags: , , ,