大部分のテーブルにint主キー(自動インクリメント)がある既存のデータベースがあります。私たちは今で接続し、同期データ(アップロード/ダウンロードデータ)の主キーを持つInt主キーとGUIDの自動インクリメントの列
が自動インクリメントされることに、他のクライアントを中央ストアとして、このDBを使用してできるようにする必要のある位置に今ある
キー私は主キーの衝突の問題があることを知っている。
私は、GUIDなどのグローバルテーブルを同期テーブルに追加できると考えていました。その後、
と、このGUIDを検索する論理カスタムシンクを作成/クライアント
を比較すると、右のアイデアのように、この音をしていますか?中央データベースでほとんど変更できない(プライマリキーが変更されない)同期フレームワークを実装するためのその他の提案
一般に、自動インクリメントキーは衝突しません。実際、(SQLのほとんどの定義に 'Unique'という制約が含まれているので)どうすればそれが起こるのかよく分かりません。ただし、重複したキーのエラーが発生する可能性があります。なぜ、外部ベンダーにあなたの内部鍵が何であるかを指示させるのですか?完成したレコードを受け取り、自分でキーを生成します。キーが不足している場合は、列のサイズを長くしてください。あなたは新しいGUID列を生成することができますが、とにかくGUIDをまだ生成している可能性が高いので、違いは何ですか? –
それは、データのサブセットのコピーとレコードを追加する機能を備えたモバイルデバイスなどの接続されていない環境にあるためです。レコードを追加または更新する場合は、レコードを照合する手段が必要です。マッチングと同期のプロセスにGUIDを使用することを考える理由 – TheTiger
私はまだどこかで一致したプロセスを必要としていますが、「彼らからの完了したレコードを受け入れてください」というところを見ます。つまり、クライアントにレコードの何かを返す必要があります。私は1,000人の潜在的なクライアントがすべて自分のサブセットに挿入し、中央のDBにサイクリングしています(同時に中央データベースにも直接挿入が行われています) – TheTiger