SymmetricDS - 競合解決
-
23-12-2019 - |
質問
私は、1つの中央ノードとSymmetricDを使用している多くのクライアントに対してマルチマスター双方向同期を実装しようとしています。クライアントは中央ノード(スタートポロジ)だけでのみ通信しています。主キーの競合に対処することに問題があります。
例えばデータベースには、列ID、NAME、...が含まれている表の「Person」が含まれています。
- aaa
- bbb
- ccc
- aaa
- bbb
- ccc
- ddd
- aaa
- bbb
- ccc
- eee
- aaa
- bbb
- ccc
- ddd
- eee すべてのデータベースに
最初のクライアントは初期負荷を接続してダウンロードしますので、同じdBです。 2番目のクライアントは同じことをします。
今回と2番目のクライアントは、ローカルDBに新しい行を作成します。 最初:
第2:
彼らは同期を試みますが、4行目に競合があります。この競合はSymmetricDSで簡単に検出できますが、今度は挿入されるまでインクリメントキーで解決してからクライアントに変更を送りたいです。 その結果、結果は次のとおりです。
。どうやって行うことができますか?ありがとうございました。
解決
マルチマスターバイ方向シナリオを扱う場合、自動インクリメントPKを使用することをお勧めしません。
標準練習は、お客様の間の競合を避けるためにPKのGUIDを作成することです。
詳細については、次のサイトをご覧ください。
所属していません StackOverflow