20110809 mysql casual talks vol2
- 19. binlogの 位置(SHOW SLAVE STATUS) IO thread: Master_Log_FileRead_Master_Log_Pos SQL thread : Relay_Master_Log_FileExec_Master_Log_Pos
- 21. IO thread の位置まで待つ MASTER_POS_WAIT(log_name,log_pos[,timeout]) この関数は、マスター / スレーブの同期化のコントロールに役立ちます。スレーブがマスターログで指定された位置まで読み取り、すべてのアップデートを適用するまでブロックします。戻り値は、指定の位置まで進むまでスレーブが待たなければいけないログ イベントの数です。この関数は、スレーブ SQL スレッドが開始されていない、スレーブのマスター情報が初期化されていない、引数が正しくない、またはエラーが発生、という場合は NULL を戻します。タイムアウトの時間を越えると -1 が戻されます。MASTER_POS_WAIT() の待機中にスレーブ SQL スレッドが停止すると、関数は NULL を戻します。スレーブが指定の位置を過ぎたら、関数はただちに戻しを行います。(以下略) http://dev.mysql.com/doc/refman/5.1/ja/miscellaneous-functions.html#function_master-pos-wait
- 28. まとめ n:1 レプリケーションは実現可能 遅延は必ず発生してしまう 集計に便利 実際にやってみると躓くことって結構ある ソースコードはgithubにあります(https://github.com/do-aki/SwitchMaster )