レプリケーションのパブリッシング モデルの概要

適用対象: SQL ServerAzure SQL Managed Instance

レプリケーションでは、パブリッシャー (出版社)、ディストリビューター (流通業者)、サブスクライバー (購読者)、パブリケーション (出版物)、アーティクル (記事)、サブスクリプション (定期購読物) など、レプリケーション トポロジ内のコンポーネントを出版業界にたとえて表しています。 マガジンを例にとって考えると、Microsoft SQL Server レプリケーションを理解しやすくなります。

  • 雑誌のパブリッシャー (出版社) は、1 つ以上のパブリケーション (出版物) を発行します。

  • パブリケーションにはアーティクル (記事) が含まれています。

  • パブリッシャーは、雑誌を直接または、ディストリビューター (流通業者) を使用して配布します。

  • サブスクライバー (購読者) は、サブスクライブする (定期購読する) パブリケーションを受け取ります。

マガジンにたとえると、レプリケーションを理解する上で役に立ちますが、 SQL Server レプリケーションには、この例で表されない機能 (特に、サブスクライバーが更新を行ったり、パブリッシャーが出版物内のアーティクルに増分変更を送信する機能など) もあるので注意が必要です。

レプリケーション トポロジ は、サーバーとデータのコピー間のリレーションシップを定義し、サーバー間のデータ フローを決定する論理を明白にします。 パブリッシャーとサブスクライバーの間でデータのコピーや移動を行ういくつかのレプリケーション処理 ( エージェント) があります。 次の図は、レプリケーションに関係するコンポーネントと処理の概要を表しています。

Replication components and data flow

発行元

パブリッシャーは、レプリケーションを介して他の場所でデータを使用できるようにするデータベース インスタンスです。 パブリッシャーは、1 つ以上のパブリケーションを持つことができ、各パブリケーションに、論理的に関連するレプリケート対象のオブジェクトとデータのセットが定義されています。

ディストリビューター

ディストリビューターは、1 つ以上のパブリッシャーに関連付けられたレプリケーション固有のデータの保存場所として機能するデータベース インスタンスです。 各パブリッシャーは、ディストリビューターの単一のデータベース (ディストリビューション データベース) と関連付けられます。 ディストリビューション データベースには、レプリケーション状態データ、パブリケーションに関するメタデータが保存され、場合によっては、パブリッシャーからサブスクライバーへ移動するデータのキューとしても機能します。 多くの場合、単一のデータベース サーバー インスタンスが、パブリッシャーとディストリビューター両方の役割を果たします。 これを、 ローカル ディストリビューターと呼びます。 パブリッシャーとディストリビューターが別のデータベース サーバー インスタンス上で構成される場合、このディストリビューターを リモート ディストリビューターと呼びます。

[サブスクライバー]

サブスクライバーは、レプリケートされたデータを受信するデータベース インスタンスです。 サブスクライバーは、複数のパブリッシャーおよびパブリケーションからデータを受信できます。 選択したレプリケーションの種類に応じて、サブスクライバーはパブリッシャーにデータの変更を戻したり、データを他のサブスクライバーに再パブリッシュしたりできます。

記事

アーティクルは、パブリケーションに含まれている 1 つのデータベース オブジェクトを表します。 パブリケーションには、テーブル、ビュー、ストアド プロシージャ、その他のオブジェクトなどさまざまな種類のアーティクルを含めることができます。 テーブルがアーティクルとしてパブリッシュされている場合は、フィルターを使用してサブスクライバーに送信するデータの列と行を制限することができます。

Publication

パブリケーションは、1 つのデータベースからの 1 つ以上のアーティクルの集合です。 複数のアーティクルを 1 つのパブリケーションにグループ化すると、1 つの単位としてレプリケートされる論理的に関連するデータベース オブジェクトとデータのセットを簡単に指定できます。

サブスクリプション

サブスクリプションは、サブスクライバーに配信されるパブリケーションのコピーの要求です。 サブスクリプションでは、どのパブリケーションをいつ、どこで受信するのかが定義されます。 サブスクリプションには、プッシュとプルの 2 つの種類があります。 プッシュ サブスクリプションとプル サブスクリプションの詳細については、「パブリケーションのサブスクライブ」を参照してください。

参照

レプリケーション エージェントの概要
レプリケーションの種類
AlwaysOn 可用性グループ用のレプリケーションの構成 (SQL Server)
AlwaysOn パブリケーション データベースのメンテナンス (SQL Server)