web-dev-qa-db-ja.com

トランザクションレプリケーションの問題

SQL Server 2012とトランザクションレプリケーションを使用するアーキテクチャについて議論しています。アイデアは、レポートアクティビティをセカンダリサーバーにオフロードし、レポートサーバーに履歴データを保持することにより、レプリケートされたものを含めたり除外したりできるようにすることです。

いくつかの質問:

  1. トランザクションレプリケーションは、データを移動するときにプライマリサーバーに負荷をかけますか(私の一般用語の使用を許しません)。
  2. サブスクライバーサーバーがダウンしても、プライマリは引き続き機能しますか

ありがとう!

4
user23025

データを移動するときに、トランザクションレプリケーションでプライマリサーバーに負荷がかかりますか(私の一般的な用語の使用を許してください)。

パブリッシャーに影響がありますが、トランザクションレプリケーションスキーマの設定方法によっては非常に小さくなる場合があります。問題になる可能性のある1つの大きな問題は、ローカルディストリビューターがある場合、特にプッシュ構成で複数のサブスクライバーにレプリケートされる大量のパブリケーションを処理している場合です。その場合、サーバーへの影響を軽減する1つの方法は、リモートディストリビューターを用意することです。

また、トランザクションレプリケーションを使用した設計により、ログリーダーエージェントはパブリッシャーのトランザクションログを読み取ります。結果のデータの代わりにストアドプロシージャの実行を複製するなど、この影響を減らすための多くの戦略があります。

2.サブスクライバーサーバーがダウンしても、プライマリは引き続き機能しますか?

はい、発行者は引き続き機能します。複製を取得するコマンドはキューに入れられます。保持が設定されている期間とサブスクライバーが切断されている期間によっては、サブスクリプションを再初期化する必要がある場合があります。

私はこれをお勧めします TechNetリファレンス:トランザクションレプリケーションパフォーマンスの向上 。そのドキュメントには、考慮すべきいくつかの優れた戦略があります。

5
Thomas Stringer

1。トランザクションレプリケーションでは、データを移動するときにプライマリサーバーに負荷がかかりますか(私の一般的な用語の使用を許してください)。

それが依存する多くの要因-

  1. パブリッシャーサーバーとなるプライマリサーバーのアクティビティ。また、同じサーバーまたは異なるサーバー上のディストリビューションエージェントが重要な場合は、パブリッシャーサーバーによって公開された記事のトランザクションを配信するという重労働を行うことになります。
  2. パブリッシャーの地理的な場所-2つのリージョン間の接続の制限によるサブスクライバーサーバー(地理的に分散している場合)。

  3. 公開する記事の数とデータ量について。何らかの理由でアーティクルのサブスクリプションが期限切れになる場合は、スナップショットによってサブスクライバーを再初期化する必要があり、データの量がそれに影響することに注意してください。 必要なものだけを複製します。データベース全体を複製しないでください。

パブリッシャーによって大量のトランザクションが生成されるため、サブスクライバーが同じ地域や同じデータセンターでもデータを数時間遅らせるのを見てきました。

簡潔に言うと、サブスクライバーサーバーで遅延が発生し、パブリッシャーサーバーでのアクティビティの量、およびディストリビューションデータベースが同じサーバー上にあるか別のサーバー上にあるかに応じて、パブリッシャーで一部または重いアクティビティが発生します(プライマリ-レプリケーションの正確な用語ではありません)サーバー。

2。サブスクライバーサーバーがダウンしても、プライマリは引き続き機能します

はい、サブスクライバーがダウンしても、プライマリに影響はありません。ただし、レプリケーションジョブが失敗し、セットアップした有効期限ポリシーによっては、スナップショットを使用してサブスクライバーを再初期化する場合があります。

4
Kin Shah