MySQL 5.1 リファレンスマニュアル :: 5 レプリケーション :: 5.3 レプリケーション ソリューション :: 5.3.4 異なるデータベースから異なるスレーブへのレプリケーション
« 5.3.3 スケールアウトのレプリケーション

5.3.5 レプリケーション パフォーマンスの改善 »
Section Navigation      [Toggle]
  • 5.3 レプリケーション ソリューション
  • 5.3.1 バックアップのレプリケーション
  • 5.3.2 ストレージ エンジンが異なるマスタとスレーブのレプリケーション
  • 5.3.3 スケールアウトのレプリケーション
  • 5.3.4 異なるデータベースから異なるスレーブへのレプリケーション
  • 5.3.5 レプリケーション パフォーマンスの改善
  • 5.3.6 フェイルオーバでのマスタ切り替え
  • 5.3.7 SSLを使用するレプリケーションの設定

5.3.4. 異なるデータベースから異なるスレーブへのレプリケーション

単一のマスタで異なるデータベースを異なるスレーブに複製する場合には、たとえば、異なる販売データを別の部署へ配布すときにはデータ分析の負荷を低減することになります。このレイアウトは 図 5.7. 「別々の DB を複数のホストに複製するレプリケーション概略図」 を参照してください。

図 5.7. 別々の DB を複数のホストに複製するレプリケーション概略図

別々の DB
          を複数のホストに複製するレプリケーション概略図

マスタとスレーブを普通に構成し、セパーレションを行い、replicate-wild-do-table コンフィギュレーションをそれぞれのスレーブに使用して、それぞれのスレーブが処理するバイナリ ログ ステートメントを制限します。

たとえば、図 5.7. 「別々の DB を複数のホストに複製するレプリケーション概略図」 で示すようにセぱレーションをサポートするには、START SLAVEを使用して複製を可能にする前に、次のようにそれぞれのスレーブを構成します。

  • MySQL Slave 1 には、次のコンフィギュレーション オプションが必要。

    replicate-wild-do-table=sales.%
    replicate-wild-do-table=finance.%
  • MySQL Slave 2 には、次のコンフィギュレーション オプションが必要。

    replicate-wild-do-table=support.%
  • MySQL Slave 3 には、次のコンフィギュレーション オプションが必要。

    replicate-wild-do-table=service.%

レプリケーションを開始する前にスレーブ’と同期しなければならないデータがある場合は、いくつかのオプションがあります。

  • それぞれのスレーブとすべてのデータを同期化し、不要なデータベースまたはテーブル、あるいはその両方を削除する。

  • それぞれのデータベース用に別々のダンプ ファイルを作成するために、mysqldump を使用し、それぞれのスレーブに適切なダンプ ファイルをロードする。

  • 生データ ファイル ダンプを使用し、それぞれのスレーブで必要とする指定ファイルとデータベースを入れる。これは、innodb_file_per_table オプションを使用すると、InnoDB でも機能します。

このコンフィギュレーションのスレーブは、マスタからのバイナリ ログ全体へ転送しますが、構成したデータベースとテーブルに適用する範囲のバイナリ ログのイベントだけを実行します。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates