ちょっと硬派なコンピュータフリークのBlogです。

カスタム検索

2009-05-28

Semi Synchronous Replicationテストのお願い。

前回、MySQL 6.0は先日リリースされた6.0.11が最後のバージョンになるということについて書いたが、その記事の中で、MysQL 6.0の機能のうちで次のものはMySQL 5.4にも取り込まれるということを説明した。
  • サブクエリ最適化
  • BKA Join
  • SIGNAL/RESIGNAL
  • INFORMATION_SCHEMAの拡張
  • XML機能の拡張
  • DTrace Probes
また、次の機能は搭載されないことについても言及した。
しかし、MySQL 5.4はまだβであり正式リリースまでにはもうしばらく時間がある。今日、レプリケーションチームの開発をリードしているLars Thalmannと話をしていたとき

Semi-Synchronous Replicationを5.4に搭載しようかどうしようか迷っているんだけど、ユーザーからのフィードバックが欲しいんだよね。

という意味のことを言っていた。以前の投稿でも書いたが、Semi-Synchronous Replicationは最強のHA化手法なので、ぜひとも5.4には搭載して貰いたい。そこで、このブログを読んでくれている皆さんにお願いなのだが、MySQL 6.0最後のバージョンであるMySQL 6.0.11を使って、Sem-Synchronous Replicationの評価をして頂けないだろうか。

ぜひ欲しい!!
この機能がないとヤダ!!
Semi-Sync最高!!


という声をLarsに届けることができれば、MySQL 5.4にはSemi-Syncが搭載されることになるだろう。絶対コレは便利な機能なので、ぜひともご協力頂きたいところである。高価な共有ストレージなどを使わずに超高速なフェイルオーバーを実現するSemi-Synchronous ReplicationがMySQLに搭載されれば、きっと皆さんにもメリットがあるはずである。

フィードバックの方法は、MySQLのメーリングリストに登録してメールを送ってもらうことだが、メーリングリストは英語だし敷居が高いと思うので、この投稿にコメントをつけて頂けるとありがたい。

さて、Semi-Synchronous Replicationの使い方であるが、プラグインをインストールしなければならないので多少面倒臭い。詳しくはマニュアルを見て頂きたいが、概要は次の通り。


1. MySQL 6.0.11をインストールして、レプリケーションのセットアップをする。

2. ここからSemi-Syncプラグインのバイナリをダウンロードする。

ただし、現在用意されているのはLinux用だけなので注意。

3. バイナリをplugin_dirに展開する。

plugin_dirはSHOW GLOBAL VARIABLESで確認できる。

mysql> SHOW GLOBAL VARIABLES LIKE 'plugin_dir';


4. INSTALL PLUGINコマンドでプラグインをインストールする。

マスター上

mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'libsemisync_master.so';

スレーブ上

mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'libsemisync_slave.so';)


5. Semi-Synchronous Replicationを有効にする。

マスター上

mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1;

スレーブ上

mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1;


6. スレーブI/Oスレッドを再起動する。


mysql> STOP SLAVE IO_THREAD; START SLAVE IO_THREAD;


ちなみに、MySQL 6.0は現時点でも安定性はそれほど問題無い。ただし新機能を使わなければ。(特にFalcon。)MySQL 6.0は、我々日本人にとっては特に4バイトUTF-8のサポートが嬉しいバージョンなので、ぜひそちらの検証も兼ねてSemi-Sync Replicationの評価もして頂きたい。

1 コメント:

Nobutan さんのコメント...

DB2のHADRのような機能ですね。ミッションクリティカルな環境でMySQLを利用することに興味がわいてきました。

コメントを投稿