最近またまた更新が滞っている。今度は一体なんだ?!というと、MySQLユーザコンファレンス2008というイベントの準備をしているからだ。
MySQLユーザコンファレンス2008 10月30日、31日開催。
http://jp.sun.com/company/events/mysql/セッションでしゃべる予定であり、そのための準備をしこしことしているわけである。
どれ、ひとついつも変なテンションでなんかしゃべってるオトコの顔でも見物しに行こうなどと思った方MySQLの最新情報に興味がある方はぜひ来場して欲しい。上記のURLから事前登録すれば無料である。
次期バージョンのMySQL Cluster 6.4には
ndbmtdというプログラムが含まれる予定である。ndbdはおなじみのプログラムであるが、ndbmtdとは一体何者だ?!というかmtって何?!と思われることだろう。
ndbmtdのmtとはズバリ、
マルチスレッドである。つまりndbmtdとはマルチスレッド版ndbdなのだ。
えっ?!ndbdってシングルスレッドプログラムだったの??って思ったね、そこの貴方!!
実はそうなんです。シングルスレッドだったんです。
手元の仮想マシン上のUbuntuにOurDeltaをインストールしてみた。インストール方法は
OurDeltaのホームページにも掲載されているが、以下に日本語で紹介したい。
1. apt用の公開鍵を更新する。
shell> wget -q http://ourdelta.org/deb/ourdelta.gpg -O- | > sudo apt-key add -
2. OurDelta用のリポジトリを/etc/apt/sources.listに追加する
deb http://ourdelta.org/deb hardy ourdelta
または
deb http://ourdelta.org/deb hardy ourdelta-sail
※いずれか一方にしないとダメだヨ!
3. リポジトリ更新
shell> apt-get update
4. パッケージ追加
shell> apt-get install mysql-server
shell> apt-get install mysql-server-5.0
shell> apt-get install mysql-common-5.0
shell> apt-get install libmysqlclient15off
shell> apt-get install mysql-client-5.0
shell> apt-get install libmysqlclient15-dev
以上、とても簡単である。が、オリジナルのMySQL 5.0のパッケージ名を
ガッツリ上書きしてしまうのはいかがなものか。。。
基本的にMySQLに対してパッチをあてただけなので、使い方等は同じである。興味のある人はぜひ
人柱になってみよう!
OurDeltaというプロジェクトが発足した。
http://ourdelta.org/
OurDeltaはMySQLに携わっているサードパーティ企業(連合)が主催しているプロジェクトであり、その主たる配布物はMySQLのブランチ(機能拡張版)で、MySQLコミュニティの間では
話題沸騰中のプロジェクトである。OurDeltaの初版はMySQL 5.0.67に対して、PerconaのパッチとSphyinxストレージエンジン(全文検索改良版)を搭載したもで、それほど大胆な改造が行われているわけではない。なので、ブランチというと大げさかも知れないが、GPL版のMySQLを元にしたプロジェクト(派生ソフトウェア)の名前である。
先日のDevMeetingで見てきたものの中で、最も興味深いのは
MySQL Clusterのオンラインノード追加であろう。DevMeetingではJonasができあがっているところまでデモをしてくれたのだが、まったくもって素晴らしい。彼のブログ(下記)に詳細が載っているが、あえてここでも紹介したいと思う。
http://jonasoreland.blogspot.com/2008/08/status-of-createdrop-nodegroup.html
これまでMySQL Clusterを使わない、もしくは避けてきたユーザが口を揃えて言うセリフは
「だってデータノードを動的に増やせないでしょ?!」であった。しかし、近い将来にリリースされるバージョンでは、オンラインノード追加という機能が追加される予定である。これは平たく言うとオンラインでデータノードを追加する機能である。
(そのまんまやんけ!)今のバージョン(6.3.x)では動的にデータノードを追加することは出来ないのだが、もうすぐすれば
もう「データノードを動的に増やせないから」なんて決して言わせはしない!!のである。
現在のバージョンのMySQLでは、UTF-8を完全にはサポートしていない。
というと、そのことを知らなかった人は驚くかも知れない。UTF-8は1文字あたり1〜4バイトのサイズを消費する可変長文字コードなのだが、MySQLのUTF-8では4バイトを消費するようにマッピングされている文字を格納したり、取り扱ったりすることが出来ないのだ。(厳密にいうとUTF-8では6バイトまで定義できることになっているが、文字の割り当ては4バイト目までである。)MySQL 5.xまでで対応しているのは、3バイトにマッピングされた文字までである。
Solaris 10がリリースされてから随分経つが、目玉機能の一つであるSMFがあまり利用されてないように思う。理由は恐らく次のようなことからだろう。
- ドキュメントが乏しい(または難解である)
- XMLを編集しなければならないのが煩わしい
- 既存の仕組み(init.d)でも別に問題がない
しかしSMFは使いこなせば非常に有用なツールである。最も便利だと思うのは、プロセスが停止してしまった時に自動的に再起動してくれる点だ。世の中のすべてのプログラムにはバグがあり、バグによりプロセスが停止することは世の常である。従って、システム管理者たるものプロセスをすぐさま再起動するような仕組みを設けていなければならない。
既存の仕組みではそのようなことをシステムレベルで実装することができず、従って独自のプロセス監視方法などを導入する必要があった。しかしSMFを使えばその仕組みを比較的簡単に実装することができる。SMFはOpenSolarisでも利用可能であり、SMFにサービスを対応させる価値は大いにあるだろう。
DevMeetingで感じたことなのだが、MySQLの開発者にあまり若い人は居ない。日本では
「プログラマ35歳定年説」などという俗説がまことしやかに囁かれているが、
逆に35歳以下のプログラマを見つける方が難しいという様相である。かのJim Starkey氏などは60歳の手前であるが、今でも現役でプログラムをガンガン書いている。
(正直言って驚異的ですらある。。。)
Brian AkerがDevMeetingで実際に使ったスライドをブログで公開している。
http://krow.livejournal.com/614430.html分かりやすくDrizzleを紹介してくれているので興味のある方は是非見て頂きたい。DrizzleとMySQLの違いや、プロジェクトを立ち上げるに至った動機、そして開発の指針などが説明されている。
ただし英語なのでそこは我慢するべし!!日本ではあまり注目されていない感があるDrizzleであるが、MySQLの開発者達は普段のフラストレーション
(MySQLサーバの最大の開発目標は安定性であり、よく言えば実験的な要素がないので刺激に欠けるのかも?)のせいか、かなりの多くの開発者達がDrizzleに
お熱である。そこで講演を終えたBrianがひとこと。
Drizzleで遊ぶ前にまずは自分の仕事をこなすべし!!
しばらくBlogの更新を怠っていたが、実はこのほどラトビアのリガというところへ出張していたのである。ラトビアなんていう国(おそらくほとんどの日本人が知らないであろう・・・)へ何をしに行ったのか?というと、
MySQL Developer Meeting 2008(略してDevMeeting。だたデブミーティングではない。)という恒例行事に参加してきたのである。その様子は
GiuseppeさんのPOSTを見て頂きたい。MySQLは元々スウェーデンの会社だったので開発者はヨーロッパ人が多い。なので彼らにとって便利な場所をチョイスすることになるわけであるが、日本人の俺にとっては大変な場所である。コペンハーゲン経由の便で片道で丸一日ほど必要であった。エコノミークラスでの長時間のフライトは疲れた!!