レプリケーションの実装の概要
レプリケーションを実装するプロセスは、レプリケーションの種類と選択したオプションによって異なりますが、一般的に、レプリケーションは次の段階で構成されています。
- レプリケーションとパブリッシュするデータの構成
- サブスクリプションの作成と初期化
- データの同期
ここでは、各手順に関する情報と、さらに詳細な説明へのリンクを示します。レプリケーションの構成に必要な手順の他に、次の内容についても理解することが重要です。
- 実装。詳細については、「レプリケーション実装に関する注意点」を参照してください。
- セキュリティ。詳細については、「レプリケーションのセキュリティに関する注意点」を参照してください。
- パフォーマンス。詳細については、「レプリケーション パフォーマンスの向上」を参照してください。
- バックアップと復元。詳細については、「レプリケートされたデータベースのバックアップと復元」を参照してください。
レプリケーションを構成したら、「レプリケーション管理の推奨事項」で説明する管理上の推奨事項に従ってください。
レプリケーションとパブリッシュするデータの構成
レプリケーションの展開は、パブリッシャとディストリビュータを構成するところから始まります。ディストリビュータはトランザクション レプリケーションで主要な役割を果たしますが、エージェントの履歴やエラーの報告および監視にのみ使用されるマージ レプリケーションおよびスナップショット レプリケーションではその役割が制限されます。マージ レプリケーションとスナップショット レプリケーションでは、通常、パブリッシャと同じコンピュータで実行されているディストリビュータを使用しますが、トランザクション レプリケーションでは、特にパブリッシャが高いスループットの OLTP システムである場合はリモート ディストリビュータを使用する場合があります。ディストリビュータとパブリッシャの構成の詳細については、「ディストリビューションの構成」を参照してください。
パブリッシャとディストリビュータが構成された後は、データ、データのサブセット、およびデータベース オブジェクトに基づいてパブリケーションを作成できます。パブリケーションを作成する場合は、次の内容を決定します。
- レプリケートするデータとデータベース オブジェクト
- 使用するレプリケーションの種類と、レプリケーション オプション (フィルタを含む)
- スナップショット ファイルの保存場所と初期同期を実行するタイミング (初期データセットを手動で配信しない場合)
- パブリケーションに設定するその他のプロパティ
パブリケーションの作成の詳細については、「データとデータベース オブジェクトのパブリッシュ」を参照してください。
レプリケーションの種類およびパブリケーションの構成時に選択したオプションによっては、サブスクライバは初期データセットが配信された後にデータを変更し、その変更をパブリッシャに反映できる場合があります。その後、パブリッシャは変更を他のサブスクライバに反映できます。次のレプリケーションの種類では、サブスクライバはレプリケートされたデータを変更し、これらの変更をパブリッシャに反映できます。
- マージ レプリケーション。詳細については、「マージ レプリケーションの概要」を参照してください。
- 更新可能なサブスクリプションを使用するトランザクション レプリケーション。詳細については、「トランザクション レプリケーションの更新可能なサブスクリプション」を参照してください。
- ピア ツー ピア トランザクション レプリケーション。詳細については、「ピア ツー ピア トランザクション レプリケーション」を参照してください。
- 双方向トランザクション レプリケーション。詳細については、「双方向トランザクション レプリケーション」を参照してください。
サブスクリプションの作成と初期化
パブリケーションを作成したら、サブスクリプションを作成して、追加のオプションを構成できます。詳細については、「パブリケーションのサブスクライブ」を参照してください。
スナップショット レプリケーション、トランザクション レプリケーション、またはマージ レプリケーションのどれを選択した場合でも、既定では、レプリケーションによってパブリケーション スキーマとデータの初期スナップショットが作成され、そのスナップショットは、指定したスナップショット フォルダの場所に保存されます。サブスクリプションが作成された後に、パブリケーションを作成するときに指定したスケジュールに基づいて初期スナップショットが適用されます。サブスクライバが初期データセットを既に持っている場合や、スナップショットを手動で適用する場合は、1 つ以上のスナップショット手順を省略できます。詳細については、「サブスクリプションの初期化」を参照してください。
データの同期
同期とは、初期データセットがサブスクライバで適用された後に、パブリッシャとサブスクライバの間でデータが反映される処理のことです。スナップショット レプリケーションの場合の同期とは、サブスクライバでスナップショットを再適用して、サブスクリプション データベースのスキーマおよびデータがパブリケーション データベースと一貫性を持つようにすることを意味します。トランザクション レプリケーションの場合、同期とはパブリッシャとサブスクライバの間で (サブスクリプションを更新する場合はサブスクライバからパブリッシャへ) 行われるデータの変更 (挿入、更新、削除など) の配信を意味します。マージ レプリケーションの場合、同期は、複数のサイトで行われたデータの変更がマージされ、競合は検出および回避され、最終的にデータがすべてのサイトで同じ値に集約されることを意味します。同期の詳細については、「データの同期」を参照してください。