MySQL レプリケーション [マスター/スレーブ構成]

MySQL 標準の機能として、非同期型のマスター/スレーブ型のレプリケーションがございます。様々な用途に応用が利くので大変人気の高い機能の一つです。
レプリケーションを利用すると、以下のようなレイアウトのシステムを構築することが可能です。
- データをリモートサイトに転送(ディザスタリカバリ等に利用)
- データのフルバックアップを取得(マスターサーバの負荷軽減と手順の簡素化)
- スタンバイサーバ(マスターサーバがクラッシュした際に切り替える。ただし、データの転送は非同期なので、マスターがクラッシュした場合にはデータが少し失われる可能性があります。)
- 参照系クエリの負荷分散スレーブを多数用意することで、参照系のクエリを、ロードバランサーを用いて負荷分散させる。
レプリケーションは非同期ですがほとんどタイムラグはありません。従って、各スレーブの内容はほぼ同じなので、どのスレーブを参照しても、ほぼ同じデータを取得できます。
基本構成
- MySQL DB(M:マスター)は常時処理を行うデータベースである。
- MySQL DB(S:スレーブ)は MySQL DB(M)のレプリケーション(複製)として機能する。
- MySQL DB(S)はバックアップや参照系として構築する場合が一般的に多い。
障害発生時の切り替わり
- MySQL DB(S1)に障害が発生
⇒ MySQL DB(S2)へ再接続 - MySQL DB(M)に障害が発生した場合、復旧するには手動で MySQL DB(S1 又は S2)を切り替えることになるので、復旧に数時間かかる場合もある。
拡張構成
- MySQL DB(S3、S4・・・)を拡張させていく(複数台構築)
- MySQL DB の台数を増やすことで参照処理能力向上が図れる。
MySQL レプリケーションでの構成のメリット
- MySQL 標準機能を使用するため、手軽かつ安価で構築可能
- 参照系の負荷分散やバックアップ用途に有効
MySQL レプリケーションでの構成のデメリット
- 更新系、参照系を分けて運用する場合にはアプリケーションの改変が必要である。
- MySQL レプリケーションは非同期のため、MySQL DB(M)とMySQL DB(S)間でデータ遅延が伴う。
- MySQL DB(M)障害時は大幅なダウンタイムが発生する。
お問い合わせ
ご興味のある法人様、お見積をご希望の方は、下記までご連絡下さい。






