四コマぶち抜きで登場。キャラクタは微妙かも。
(ノ・・)ン。。。。。。(((●コロコロッ
OSC.DB2007に参加してきた。
前回も参加したのだが、
内容は前回とそれほど大きく差はないようで、
DBのアップデートのslowly加減を実感する。
特ににFirebirdは。
そう言えばSqliteの話は出ないが。。。
全体的に感じたのは、
過去の常識は全く無意味になった
ということ。
まぁ、前回のOSC.db 2006でもほぼ同様の感想は持ったが。
PostgreSQLよりMySQLは速い。
MySQLのMyISAMは速い。
PostgreSQLはupdateが遅い。
などの常識は全く通用しなくなっている。
[More:]
- ●PostgreSQL
PostgreSQLではバージョン8.2, 8.3の解説行われていた。
以後の8.4ではレプリケーションが実装されるかも?という話もあり、
仮にレプリケーションが実装されれば、
PostgreSQLの移行も考えている。
Slony-Iは結構しんどいし、
PG-Clusterは地獄をみるしと、
周りで良い反応がないが。
pgcluster-2やpg-pool2、Slony-Mとかはどうなんだろうか。
要検証。
- ●Firebird
Firebirdは導入場面になかなか巡り会えない。
私がWeb系アプリを主に取り扱っているからかもしれない。
PHPからFirebirdを使うとおかしな挙動を結構おこす。
PEAR DBで使うとsegmentation faultというのは一番困った。
PDO Firebirdはまだ一度も試していない。
(っていうかコンパイルに失敗する)
Firebirdのストアードプロシージャは圧倒的な速さなので、
使いたいのは山々なのだが。
けど、ローカル接続でストアード叩きじゃないと性能が出ないのでは、
ターボ用途ぐらいしか思いつかないが。
レプリケーションがあればもっと変わってくると思うけど。
- ●MySQL
MySQLのセッションではアップデートに関することは特別無かった。
セッションの内容は「日本語の取り扱いについて」。
私はMySQL4.1以降、文字化け問題に出会っていない。
MySQLをよく使っている人とは真逆かもしれないが、
以前の記事、
PHPの文字化けを本気で解決する
でも書いたように、
文字化けを回避するには入力元、入力先にの文字コードを明示的にしておく必要がある。
古いMySQLではlatin1になってもSJISやEUCが入ったりする。
この無秩序さが私にとってはフラストレーションだったのだ。
4.1以降[set names]statementを打ち込み、
入力側で明示的に文字コードを指定することで挙動が安定するようになったので、
それ以後文字化け問題は出ていない。
文字化け問題の趣旨は「MySQLの自動変換による文字の欠損」。
サーバーとクライアントの文字コードの差異で、
自動変換機能が発動する。
その時、変換マップにない文字コードが存在すると、
データが欠落するというものだった。
それも単に文字化けするならまだやりようもあるが、
変換マップにない文字以降の文字列が全部削除されてしまう。
確かに困ったものだ。
そこでそのあたりを解決するべく、
日本MySQLユーザ会のメンバーが開発したものがMoSQL(もえすきゅーる)。
どう贔屓目に見てもエイプリルフールのネタにしか見えないが、
実在する(というかOSC.dbまで引っ張った)から驚きだ。
ダウンロードページからは実物をダウンロードできる。
日本語問題もそうだが、
私が着目しているのは[senna標準装備]という点。
私の記憶ではsennaはMySQLにパッチを当てなければなら無かったはず。
MySQLはバイナリを使うのが一般的なのだが、
sennaを使うにはMySQLをソースビルドする必要がある。
MySQLのソースコンパイルは異常に時間が掛かる上に、
さらにパッチも当てなければならない。
つまり、アップデートの作業コストが高すぎる問題がある。
なので、sennaの導入は全く現実的ではないのだ。
その点をすべて解決してバイナリ提供してくれるのならば、
導入するメリットは大きい。
少なくともスレーブに一台入れて全文検索として利用するのは大いにアリだ。
基本MySQLの構成は(M: Master, S: Slaveとすると)
DB一台: M-InnoDB
DB二台: M-InnoDB S-MyISAM
DB三台: M-InnoDB M-InnoDB(Hot backup) S-MyISAM
DB四台: M-InnoDB M-InnoDB(Hot backup) S-MyISAM S-MyISAM
五台以降はS-MyISAMが増える。
といった構成になるはず。
そのslave一台にMoSQLを放り込んでFulltextIndexだけ張れば、
立派な全文検索エンジンが出来上がる。
(sennaはMyISAMのみなのでスレーブ利用しかできない。)
後付でも可能なのでなかなか面白い。
ちょっと実際に利用してみて、
検証してみたいところだ。
これ以外のセッションは・・・まぁいいか。