2

クライアントデータベースとサーバーデータベースの同期を維持する必要があるシステムを設計しています。1つの中央サーバー(20のテーブルを持つSQL Server 2008)と約30のクライアント(SQLServerまたはSQLServer CE)があります。クライアントは20個のテーブルすべてを必要としませんが、10個が適切な推測です。これは本質的に医療システムであり、最大1200人の患者を処理するため、巨大なシステムではありません。システムは、インターネットが常に利用できるとは限らない非常に遠隔地に配備される予定なので、DB同期テクノロジーが必要です。インターネットが利用可能になると、クライアントDBはサーバーと同期されます。利用可能なテクノロジについて読んだ後、私はMicrosoftSyncを使用する傾向があります。

私の質問は、MicrosoftSyncFrameworkの接続速度要件に関するものです。クライアントは非常に遠隔地に配置されます。インターネットは短期間利用可能であり、インターネットの速度は非常に遅くなります(ダウンロードが最大20KB /秒になるとしましょう)。

この種のインターネット速度での同期フレームワークのパフォーマンスが心配です。さまざまな接続速度値での同期の推定時間についてのアイデアを得ることができるベンチマークはありますか?インターネットの速度がこれほど遅い場合(たとえば、20KB /秒)にSyncFrameworkを使用するのは理にかなっていますか。低速は同期を完了するのにかかる時間の点でのみ影響しますか、それとも他の欠点もありますか?

DB同期テクノロジの経験はありません。私がこのようなことをするのはこれが初めてです。私が何か大きなことを見逃している場合、またはこれがこの種のシナリオに進む正しい方法ではない場合は、あなたの考えやアイデアを自由に共有してください。

ありがとう、

4

2 に答える 2

1

タスクに Sync Framework を使用しても問題ありません。同期の期間は、サーバーとの間でアップロード/ダウンロードする必要がある変更の数によって決まります。あなたの場合、同期全体が完了するまでにかかる接続を保証できない場合は、同期フレームワークのバッチ処理を使用して、同期を小さなチャンクに分割する必要があります。

これを出発点として使用できます: http://blogs.msdn.com/b/sync/archive/2010/09/24/how-to-sync-large-sql-server-databases-to-sql- azure.aspx

同期トランザクションの実行にかかる時間をテストするには、テスト シナリオをセットアップしてから、同期フレームワークのトレース コンポーネントを有効にして同期プロセスをトレースします: http://msdn.microsoft.com/en-us/library/ cc807160.aspx

于 2013-03-15T22:36:01.567 に答える
0

パフォーマンスに影響を与えるのは変更の数だけでなく、サイズも同様です。10行の変更では、各行を5kにすることも、1MBのblobを含めることもできます。

バッチ処理とは、メモリデータキャッシュサイズの設定を意味する場合、変更の適用もバッチ処理せず、ネットワークを介した変更の送信をバッチ処理します。

sync fxは他のデータベースアプリと同じように、ロック、同時実行性などを考慮する必要があります...

ビジー状態のシステムでは、ロックが解除されるのを待たなければならない場合、同期に時間がかかります。

于 2013-03-16T06:22:24.213 に答える