RDA(Remote Data Access) 및 병합 복제 비교

SQL Server Compact 응용 프로그램에서 RDA(Remote Data Access) 사용 또는 복제 사용 여부는 스마트 장치 응용 프로그램의 용도, 기능, 규모, 요구 사항에 따라 달라집니다. 각 연결 데이터 솔루션은 각각의 장점과 단점을 갖고 있습니다.

RDA와 복제는 모두 무선 전송에 적합합니다. 압축은 전송 데이터의 크기를 줄이기 위해 사용됩니다. 전송 시 암호화를 사용하여 민감한 사용자 데이터를 보호할 수 있습니다.

기능 비교

기능

복제

RDA

추적된 데이터 변경 내용 교환

서버와 클라이언트 간에 변경 내용을 복제합니다.

열 수준 추적 - 변경된 열 데이터만 전송함으로써 전송되는 데이터 크기를 줄입니다.

행 수준 추적 - 전체 행이 전송됩니다.

클라이언트의 변경 내용을 서버로 밀어 넣습니다. 서버의 변경 내용을 받으려면 클라이언트 데이터를 모두 업데이트해야 합니다.

행 수준 추적 - 전체 행이 전송됩니다.

데이터를 전파할 수 있는 테이블 수

게시에 정의된 개수의 복수 테이블

RDA 메서드당 테이블 한 개

전파할 수 있는 테이블 유형

각기 다른 유형의 테이블로 데이터 흐름을 제어합니다.

게시(서버)의 테이블을 추가 또는 삭제하면 클라이언트상의 구독이 다시 초기화되지 않은 상태에서 해당 변경 내용이 자동으로 복제됩니다.

해당 없음

서버의 테이블을 추가 또는 삭제하면 해당 변경 내용이 클라이언트에 자동으로 복제되지 않습니다.

제약 조건 및 인덱스

참조 무결성 제약 조건과 인덱스가 서버에서 자동으로 복제됩니다.

참조 무결성 제약 조건이 복제되지 않으며 인덱스는 선택적으로 복제됩니다. 별도의 스키마 정의가 클라이언트에 정의되어야 합니다.

충돌

다른 사용자에 의해 데이터가 변경되었지만 오류로 인해 이러한 사항이 행에 적용되지 않았을 경우 충돌이 발생합니다.

서버의 충돌 해결 및 관리

기본 제공 충돌 해결 프로그램과 사용자 지정 충돌 해결 프로그램이 지원됩니다.

오류로 인해 변경 내용이 적용되지 않은 행에서만 충돌이 발생합니다. RDA는 다른 사용자에 의한 데이터 변경 여부를 감지하지 못합니다.

충돌은 관리되지 않으나 클라이언트의 오류 테이블에 보고될 수 있습니다.

충돌 해결 프로그램이 없습니다.

스키마 변경

스키마 변경(예: 열 추가/삭제, 제약 조건 추가/삭제, 열 정의 변경)은 복제할 수 있습니다.

스키마 변경은 허용되지 않습니다. 스키마가 변경될 경우 클라이언트는 클라이언트에서 테이블을 삭제하고 모든 데이터를 서버에서 다시 끌어와야 합니다. 스키마 변경에 따라 밀어넣기가 실패할 수 있습니다.

ID 열

ID 범위를 수동 및 자동으로 처리합니다. BigInt 및 Int 열이 지원됩니다.

ID 범위를 수동으로 처리합니다. BigInt 및 Int 열이 지원됩니다.

데이터/스키마 정의

데이터 및 스키마는 게시가 구성될 때 서버에서 정의되며 구독이 생성될 때 클라이언트에서 자동으로 정의됩니다.

서버에서 클라이언트로 데이터를 끌어올 때 클라이언트에서 데이터 및 스키마가 정의됩니다.

도구(UI)

구독을 만들고 관리하는 광범위한 도구와 복수의 구독 관리, 성능 점검, 시간 동기화 등의 기능을 제공하는 모니터링 도구가 제공됩니다.

지원되는 도구가 없습니다.

서버 침입

복제 관리를 위해 서버 데이터베이스로 테이블 및 열이 추가되었습니다.

서버의 데이터베이스가 변경되지 않았습니다.

중요

디자인 제한 때문에 이후 릴리스에서는 RDA(Remote Data Access)가 제거될 예정입니다. 따라서 현재 RDA를 사용하고 있는 경우에는 Microsoft Synchronization Services for ADO.NET으로 전환해야 하며, 새 응용 프로그램에 RDA를 사용하려는 경우에는 병합 복제나 Sync Services를 대신 사용해야 합니다. Sync Services는 현재 데스크톱 및 모바일 장치 모두에서 사용할 수 있습니다.