Drizzle BoF

あまり良く理解しないで参加したセッションなのですが、
今回の MySQL ユーザコンファレンス 2008 に行って良かったと思えるセッションでした。
MySQL 創始者、MySQL 技術ディレクタ、mixi の中の人 ... と豪華メンバがプレゼン。

Drizzle はウェブアプリケーションやクラウド向けの MySQL 軽量化版です。

以下 BoF 時のメモ。

  • マルチコア・アーキテクチャへの対応
  • マイクロカーネル設計
  • UDF、ビュー、ストアドプロシージャ、ストレージエンジンは全てプラグインで
  • 内部 ACL 廃止 !! LDAP や PAM を利用すること
  • Blob の統一
  • InnoDB をデフォルトに適応。Google がメンテしてる InnoDB を採用。既存の InnoDB より 25 % くらい早い
  • ビューの代わりにコールバックを入れる
  • UUID/IPv4(6)/SERIAL というフィールドを用意
  • ソースコード量は 315560 、短いから勉強しやすいよね by Brian
  • Drizzle は Buildbot でメンテ
  • 26 の プラットフォームで確認
  • もちろんオープンソース
  • 新しい機能の追加は全てプラグインで提供される
  • とにかく現場の意見を聞いて作成する
  • Windows 版は作らない Solaris / Linux 全般 / Mac のみ
  • Google の Protocol Buffers を使ってレプリケーションを行う
  • SQL の他に REST を使ってアクセスできる
  • GearMan + Drizzle というのもありかな
  • Heap は ebay が作ったのを使ってる、どのエンジンよりも早い
  • 文字コードは UTF8 !!! 4 byte を採用する
  • 3byte までとかないわー by brian
  • 最終的にはデータベースを知らなくてもデータベースが動くというのが目標
  • アップデートも簡単にする予定
  • Drizzle -> MySQL はデータをダンプしてインポートでいける
  • Python のプラガブルインターフェスも出来る予定
  • どんな用途でも行けるように作る
  • MySQL 6.0 のようなオンラインバックアップを「まったく別のコードで」実装予定

以下 Mac でコンパイルして動かしてみました(後でまとめます)

$ /usr/local/drizzle/bin/drizzle
Welcome to the Drizzle client..  Commands end with ; or \g.
Your Drizzle connection id is 3
Server version: 7.0.0 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

drizzle>>