製品&サポートサービス

MySQLレプリケーション

MySQLは標準の機能として、非同期型のマスター/スレーブ型のレプリケーションを備えています。様々な用途に応用が利くので大変人気の高い機能の一つです。

レプリケーションを利用すると、以下のようなレイアウトのシステムを構築することが可能です。

  1. データをリモートサイトに転送(ディザスタリカバリ等に利用)
  2. データのフルバックアップを取得(マスターサーバの負荷軽減と手順の簡素化)
  3. スタンバイサーバ(マスターサーバがクラッシュした際に切り替える。ただし、データの転送は非同期なので、マスターがクラッシュした場合にはデータが少し失われる可能性があります。)
  4. 参照系クエリの負荷分散スレーブを多数用意することで、参照系のクエリを、ロードバランサーを用いて負荷分散させる。

レプリケーションは非同期ですがほとんどタイムラグはありません。各スレーブの内容はほぼ同じなので、どのスレーブを参照しても、ほぼ同じデータを取得できます。

メリット デメリット
  1. MySQL標準機能を使用するため、手軽かつ安価で構築可能
  2. 参照系の負荷分散やバックアップ用途に有効
  1. 更新系、参照系を分けて運用する場合にはアプリケーションの改変が必要
  2. MySQLレプリケーションは非同期のため、マスター/スレーブ間でデータ遅延が伴う。
  3. マスター障害時は大幅なダウンタイムが発生する。

MySQLレプリケーションの基本構成

MySQLレプリケーションの基本構成
  1. マスターは常時処理を行うデータベースである。
  2. スレーブはマスターのレプリケーション(複製)として機能する。
  3. スレーブはバックアップや参照系として構築する場合が一般的に多い。

MySQLレプリケーションの障害発生時の切り替わり

MySQLレプリケーションの障害発生時の切り替わり
  1. スレーブ1に障害が発生
    ⇒ スレーブ2へ再接続
  2. マスターに障害が発生した場合、復旧するには手動で スレーブ1または2を切り替えることになるので、復旧に数時間かかる場合もある。

MySQLレプリケーションの拡張構成

MySQLレプリケーションの拡張構成
  1. スレーブ1,2,3,4・・・・・を拡張させていく(複数台構築)
  2. MySQLデータベースの台数を増やすことで参照処理能力向上が図れる。

MySQLや関連ソリューションに関するお問い合わせ、お見積などがございましたら、ご連絡ください。

お問い合わせ各MySQL保守サービス見積依頼スマートスタイルOSSストア

ページトップへ