해결 프로그램 선택
해결 프로그램을 선택할 때는 응용 프로그램에서 충돌 해결의 중요성을 고려하고 우선 순위를 기반으로 하는 기본 충돌 해결 프로그램을 사용할 수 있는지 또는 아티클 해결 프로그램을 사용해야 하는지 여부를 고려해야 합니다.
같은 파티션에 기록하는 여러 사용자가 없는 상황에서 데이터가 분할되고 복제 토폴로지가 상대적으로 간단한 경우에는(단일 게시자 및 소수의 구독자) 충돌이 드물게 발생하거나 아예 발생하지 않을 것입니다. 이러한 환경에서는 복잡한 충돌 해결 전략이 필요하지 않습니다. 따라서 충돌 해결에 기본 설정을 사용하는 전략과 클라이언트 구독자 및 최초 변경 내용을 적용하는 정책을 사용하는 것이 좋습니다. 토폴로지가 재게시 구독자를 사용하는 경우와 같이 복잡한 경우에는 서버 구독에 우선 순위를 지정하는 것이 더 적합할 수 있습니다.
비즈니스에 기본 해결 프로그램에서 제공하는 것 보다 더 세밀하게 조정된 솔루션이 필요한 경우에는 아티클 해결 프로그램을 사용하는 것이 좋습니다. 아티클 해결 프로그램을 사용할 때는 비즈니스 논리 처리기를 사용하는 것이 좋습니다. 자세한 내용은 병합 동기화 중 비즈니스 논리 실행을 참조하십시오.
따라서 기본 해결 프로그램을 사용할지 또는 아티클 해결 프로그램을 사용할지 여부는 데이터와 응용 프로그램의 비즈니스 논리 필요 사항을 기반으로 합니다. 예를 들어 다양한 작업 범주(지점장, 라인 관리자 및 판매 담당자)에 걸쳐 있는 여러 직원이 서로 다른 구독자에 있는 분할되지 않은 테이블 집합에 고객 순위 데이터를 입력하고 작업 범주에 의해 데이터의 우선 순위가 결정되는 경우를 고려해 봅시다. 이 경우 충돌 발생 시 변경 내용을 적용할 항목을 결정하는 데 아티클의 작업 범주 데이터를 사용하는 아티클 해결 프로그램을 작성할 수 있습니다.
충돌이 자주 발생할 것으로 예측되면 충돌 해결 전략을 구현할 때 다음과 같은 매우 중요한 사항을 고려하십시오.
충돌 해결 문제 | 권장 |
---|---|
서로 다른 사용자 범주에 다른 우선 순위 값이 필요합니다. |
|
최초 변경 내용을 적용하는 충돌 솔루션이 필요합니다. |
기본 해결 프로그램을 사용하고 클라이언트 구독을 만듭니다. |
같은 열에 충돌하는 변경 내용을 적용하지 않는 한 여러 사용자가 같은 데이터 행을 변경할 수 있도록 허용합니다. |
기본 해결 프로그램 또는 열 수준 추적을 설정한 아티클 해결 프로그램을 사용합니다. |
행 값의 여러 변경 내용을 충돌로 플래그 지정합니다. |
기본 해결 프로그램 또는 행 수준 추적을 설정한 아티클 해결 프로그램을 사용합니다. |
논리적 레코드 값의 여러 변경 내용을 충돌로 플래그 지정합니다. |
논리적 레코드 수준 추적을 설정한 기본 해결 프로그램을 사용합니다. 논리적 레코드 기능은 사용자 지정 해결 프로그램 또는 비즈니스 논리 처리기를 지원하지 않습니다. |
충돌 결과 데이터가 원본 충돌 데이터와 달라야 합니다. |
새 값을 계산하는 아티클 해결 프로그램을 사용합니다. |
참고 항목
개념
병합 복제의 충돌 감지 및 해결 방법
논리적 레코드에서 충돌 감지 및 해결
고급 병합 복제 충돌 감지 및 해결
데이터 재게시