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