レプリケーションのスケーラビリティとパフォーマンスに関する機能強化
レプリケーションのスケーラビリティとパフォーマンスに関する機能が強化された分野は、以下のとおりです。
- マージ エージェントとディストリビューション エージェントの並列処理
- フィルタを適用したマージ パブリケーションのための事前計算済みパーティション
- フィルタを適用したマージ パブリケーションのための新しいパーティション分割オプション
- マージ パブリケーションのための新しいサブスクライバ アップロード オプション
- マージ レプリケーションでの BLOB 配信の向上
スケーラビリティとパフォーマンスに関する機能強化
マージ エージェントとディストリビューション エージェントの並列処理
SQL Server 2005 には、マージ エージェントとディストリビューション エージェントでの並列処理を可能にする新しいパラメータが用意されています。
- マージ エージェントのパラメータは、-ParallelUploadDownload です。このパラメータを指定すると、マージ エージェントは、パブリッシャにアップロードされた変更とサブスクライバにダウンロードされた変更を並列的に処理します。この機能は、ネットワーク帯域幅の可用性が高い大容量の環境で便利です。詳細については、「レプリケーション マージ エージェント」を参照してください。
- ディストリビューション エージェントのパラメータは、-SubscriptionStreams です。このパラメータを指定すると、1 つのスレッドを使用する場合のトランザクション特性の多くを保持しながら、ディストリビューション エージェントごとの複数の接続で、変更のバッチをサブスクライバに対して並列的に適用できます。この新しいオプションによって、集計レプリケーションのスループットを大幅に向上できます。このパラメータの詳細については、「レプリケーション ディストリビューション エージェント」を参照してください。
これらのパラメータは、エージェント プロファイルで指定します。詳細については、「レプリケーション エージェント プロファイル」を参照してください。
フィルタを適用したマージ パブリケーションのための事前計算済みパーティション
事前計算済みパーティションは、パラメータ化されたフィルタ (旧バージョンの "動的フィルタ") を使用するマージ レプリケーションのパフォーマンスを最適化するための新しい機能です。フィルタを適用した新しいパブリケーションについては、このオプションが既定で有効になります。事前計算済みパーティションを使用する場合には、フィルタに関していくつかの制限がありますが、その制限事項を満たしていれば、パフォーマンスを大幅に改善できます。詳細については、「事前計算済みパーティションによるパラメータ化されたフィルタのパフォーマンス最適化」を参照してください。
フィルタを適用したマージ パブリケーションのための新しいパーティション分割オプション
パラメータ化されたフィルタで作成するパーティションの種類を指定できるようになりました。この指定によって、マージ レプリケーションのパフォーマンスを最適化できます。たとえば、データのパーティションを 1 つのサブスクライバにレプリケートし、そのサブスクライバがパーティションを更新するように指定できます (マージ レプリケーションの一般的なケースです)。そのように指定すれば、レプリケーションによって追跡して処理するメタデータの量が少なくなるので、最適なパフォーマンスが得られます。詳細については、「パラメータ化された行フィルタ」を参照してください。
マージ パブリケーションのための新しいサブスクライバ アップロード オプション
サブスクライバ側の変更をパブリッシャにアップロードするかどうかを指定できるようになりました。多くのアプリケーションの場合、ある種のテーブル (製品データを格納するテーブルなど) は、パブリッシャ側でのみ変更を加えるようにする必要があります。したがって、その種のアーティクルを "ダウンロード専用" と指定すれば、パフォーマンスを改善できます。詳細については、「ダウンロード専用アーティクルを使用したマージ レプリケーションのパフォーマンス最適化」と、「sp_addmergearticle (Transact-SQL)」の @subscriber_upload_options パラメータの説明を参照してください。
マージ レプリケーションでの BLOB 配信の向上
巨大な BLOB 列のメモリ使用を改善するために、BLOB データの処理と配信の機能が強化されました。巨大な BLOB 列のメモリ使用を最適化するには、sp_addmergearticle (Transact-SQL) の @stream_blob_columns パラメータに TRUE の値を指定します。