同期テクノロジの比較

Microsoft は、接続が断続的になる環境で実行されるアプリケーション用に設計されたいくつかのテクノロジを提供しています。最も重要なものは次のとおりです。

  • リモート データ アクセス (RDA)。SQL Server Compact 3.5 データベースと、SQL Server の別のエディションのデータベースを同期するために使用されます。
  • マージ レプリケーション。SQL Server のさまざまなエディションを同期するために使用されます。これには、SQL Server Compact 3.5 が含まれます。

注意

Synchronization Services の同期テクノロジと他の同期テクノロジを、クライアント データベースの 1 つのテーブルで同時に使用することはできません。

どのテクノロジが作成中のアプリケーションに適しているかを判断するには、主要な機能について示した次の表を参考にしてください。

  RDA マージ レプリケーション Synchronization Services

サービスを使用して同期

×

×

異種データベースのサポート

×

×

増分変更の追跡

×1

競合の検出と解決

×

クライアントでデータ ビューを簡単に作成

×

×

スキーマとデータの自動的な初期化

大きなデータ セットのサポート

クエリ プロセッサをローカルで使用可能

自動的なスキーマ変更の反映

×

×

自動的なデータのパーティション再分割

×

×

デバイスでの使用

1 RDA はアップロードでは増分変更をサポートしていますが、ダウンロードでは常にスナップショットのみが実行され、クライアントのデータ全体が更新されます。

Synchronization Services では、オフライン データセットなどの柔軟なプログラミング モデルや、マージ レプリケーションと同様の豊富な同期機能セットが提供されます。Synchronization Services の機能は RDA よりも優れています。

マージ レプリケーションはデータベース管理者向けで、SQL Server データベースを同期する機能を備えています。主要な機能はすぐに使用でき、ウィザード、ストアド プロシージャ、独自の API を使用して構成が可能です。Synchronization Services は開発者向けで、サーバー データベースやその他のデータ ソースを基にして、クライアントでデータ ビューを簡単に作成できます。Synchronization Services では、異種データベース、および WCF などのサービスを通した同期がサポートされています。アプリケーションで SQL Server 以外のデータベースと同期を実行する場合や、さまざまな通信経路またはサービスを通して同期を実行するためにアプリケーションをコンポーネント化する必要がある場合には、Synchronization Services を使用します。

アプリケーションによっては、どのテクノロジを使用するかを簡単に決定できる場合があります。SQL Server データベース以外のデータ ソースを同期する必要がある場合は、Synchronization Services が最適です。データベース管理者が、あまりプログラミングをすることなく同期を構成するには、マージ レプリケーションが適しています。最終的には、アプリケーションの要件を十分検討して、Synchronization Services API のテクノロジを使用することが適しているかを判断します。将来的に、スキーマやそのデータをデータベース間でレプリケートする以上のことを行う場合には、Synchronization Services をお勧めします。