同期テクノロジの比較
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 をお勧めします。