Symmetricds - 충돌 해결
-
23-12-2019 - |
문제
하나의 중앙 노드 및 Symmetricds를 사용하는 많은 클라이언트에 대해 다중 마스터 양방향 동기화를 구현하려고합니다. 클라이언트는 중앙 노드 (Star Topology)에서만 통신합니다. 기본 키의 충돌을 다루는 데 문제가 있습니다.
예를 들어 데이터베이스에는 열 ID, 이름, ... 중앙 DB에서 테이블 "사람"이 포함되어 있습니다.
- aaa
- bbb
- CCC
- aaa
- bbb
- CCC
- DDD
- aaa
- bbb
- CCC
- Eee
- aaa
- bbb
- CCC
- DDD
- Eee 모든 데이터베이스에서
첫 번째 클라이언트 초기로드를 연결하고 다운로드하여 동일한 db가 있습니다. 두 번째 클라이언트는 동일합니다.
이제 첫 번째 및 두 번째 클라이언트는 로컬 DB에서 새 행을 생성합니다. 첫째 :
두 번째 :
그들은 동기화를 시도하지만 4. 행에 충돌이 있습니다. 행. 이러한 충돌은 Symmetricds에서 쉽게 감지 할 수 있지만 이제는 삽입 될 때까지 증분 키를 통해 해결하고 변경 사항을 다시 보내고 싶습니다 ... 따라서 결과는 다음과 같습니다 :
. 어떻게 할 수 있니? 고맙습니다.
해결책
멀티 마스터 양방향 시나리오를 다룰 때 자동 증가 PK를 사용하는 것이 좋지 않은 경우
표준 연습은 고객 간의 충돌을 피하기 위해 PK에 대한 GUID를 만드는 것입니다.
자세한 내용은 다음 사이트를 참조하십시오.
제휴하지 않습니다 StackOverflow