レプリケーションのパブリッシング モデルの概要
レプリケーションでは、出版業界にたとえて、レプリケーション トポロジ内のコンポーネントを表しています。このコンポーネントには、パブリッシャ、ディストリビュータ、サブスクライバ、パブリケーション、アーティクル、サブスクリプションがあります。雑誌を例にとって考えると、MicrosoftSQL Server のレプリケーションを理解しやすくなります。
雑誌のパブリッシャ (出版社) は、1 つ以上のパブリケーション (出版物) を発行します。
パブリケーションにはアーティクル (記事) が含まれています。
パブリッシャは、雑誌を直接または、ディストリビュータ (流通業者) を使用して配布します。
サブスクライバ (購読者) は、サブスクライブする (定期購読する) パブリケーションを受け取ります。
雑誌にたとえると、レプリケーションを理解する上で役に立ちますが、SQL Server のレプリケーションには、この例で表されない機能 (特に、サブスクライバが更新を行ったり、パブリッシャがパブリケーション内のアーティクルに増分変更を送信する機能など) もあるので注意が必要です。
レプリケーション トポロジは、サーバーとデータのコピー間のリレーションシップを定義し、サーバー間のデータ フローを決定する論理を明白にします。パブリッシャとサブスクライバの間でデータのコピーや移動を行ういくつかのレプリケーション処理 (エージェント) があります。次の図は、レプリケーションに関係するコンポーネントと処理の概要を表しています。
パブリッシャ
パブリッシャは、レプリケーションを介して他の場所でデータを使用できるようにするデータベース インスタンスです。パブリッシャは、1 つ以上のパブリケーションを持つことができ、各パブリケーションに、論理的に関連するレプリケート対象のオブジェクトとデータのセットが定義されています。
ディストリビュータ
ディストリビュータは、1 つ以上のパブリッシャに関連付けられたレプリケーション固有のデータの保存場所として機能するデータベース インスタンスです。各パブリッシャは、ディストリビュータの単一のデータベース (ディストリビューション データベース) と関連付けられます。ディストリビューション データベースには、レプリケーション状態データ、パブリケーションに関するメタデータが保存され、場合によっては、パブリッシャからサブスクライバへ移動するデータのキューとしても機能します。多くの場合、単一のデータベース サーバー インスタンスが、パブリッシャとディストリビュータ両方の役割を果たします。これを、ローカル ディストリビュータと呼びます。パブリッシャとディストリビュータが別のデータベース サーバー インスタンス上で構成される場合、このディストリビュータをリモート ディストリビュータと呼びます。
サブスクライバ
サブスクライバは、レプリケートされたデータを受信するデータベース インスタンスです。サブスクライバは、複数のパブリッシャおよびパブリケーションからデータを受信できます。選択したレプリケーションの種類に応じて、サブスクライバはパブリッシャにデータの変更を戻したり、データを他のサブスクライバに再パブリッシュしたりできます。
アーティクル
アーティクルは、パブリケーションに含まれている 1 つのデータベース オブジェクトを表します。パブリケーションには、テーブル、ビュー、ストアド プロシージャ、その他のオブジェクトなどさまざまな種類のアーティクルを含めることができます。テーブルがアーティクルとしてパブリッシュされている場合は、フィルタを使用してサブスクライバに送信するデータの列と行を制限することができます。
パブリケーション
パブリケーションは、1 つのデータベースからの 1 つ以上のアーティクルの集合です。複数のアーティクルを 1 つのパブリケーションにグループ化すると、1 つの単位としてレプリケートされる論理的に関連するデータベース オブジェクトとデータのセットを簡単に指定できます。
サブスクリプション
サブスクリプションは、サブスクライバに配信されるパブリケーションのコピーの要求です。サブスクリプションでは、どのパブリケーションをいつ、どこで受信するのかが定義されます。サブスクリプションには、プッシュとプルの 2 つの種類があります。プッシュ サブスクリプションとプル サブスクリプションの詳細については、「パブリケーションのサブスクライブ」を参照してください。