충돌 해결 방법이 명확하지 않은 핵심 데이터 동기화 솔루션을 채택하는 것에 대해 모호합니다. 불행히도 iCloud 및 Simperium과 같은 솔루션은 '충돌이 자동으로 처리됩니다.'라고 말하면서 그대로 남습니다. 종종 이것은 충분한 정보가 아닙니다.Simperium은 충돌을 어떻게 해결합니까?
구체적인 예를 들면, 엔티티 A와 B를 포함하고 그 사이에 일대일 관계가있는 앱이 있다고 가정 해 보겠습니다. 그 관계가 선택 사항이 아니라고 상상해보십시오.
저장소가 완전히 동기화되고 두 개의 관련 객체 A_0 및 B_0부터 device1이 B_1이라는 새 B 객체를 만들고 A_0을 B_1에 연결합니다. B_0을 삭제합니다.
동시에 장치 2도 B_0을 삭제하지만 B_2라는 새 개체를 만들고이를 A_0에 연결합니다.
이 상황이 어떻게 해결됩니까? 아마도 A_0은 타임 스탬프 순서에 따라 B_1 또는 B_2와 관련 될 것입니다.하지만 고아 개체는 어떻게 될까요? 삭제 되었습니까? 하나의 장치에서 전체 트랜잭션을 롤백합니까?
개체는 관계가 필요하기 때문에 격리되어 존재할 수 없습니다.