2

나는 각 기술에 대해 개별적으로 질문했으며 실제로는 적절한 대답을 찾지 못했습니다.복제 대 Sync Framework vs Service Broker

중앙 사무소에 SQL Server 2005 Enterprise를 실행하는 서버가 있습니다.이 서버에는 각 위치에서 로컬 복사본이 필요한 몇 가지 대형 (DSL이 제한적인 의미에서 큰) 데이터베이스가 있습니다. 현재 수십 곳이 있으며 온라인을 더 많이 가져올 필요가 있습니다. 이러한 데이터베이스를 동기화하는 데 필요한 총 위치 수는 향후 2 년 내에 수백 개가 될 것입니다.

우리는 각 위치에서 WAN 연결 문제를 극복하려고 노력하고 있습니다. 이것들은 DSL 라인이며 그 위치에서의 배선이 항상 최선은 아닙니다. 우리는 현재 매 시간마다 자주가는 일부 지역에 문제가 있습니다. 우리는 지역 전화 회사의 재선 및 지원을 통해 이러한 문제를 해결하기 위해 노력하고 있지만 주로 문제를 집중 조명합니다. 간혹 연결되는 것을 처리 할 수있는 양방향 동기화가 필요합니다.

우리는 잠시 동안 트랜잭션 복제를 시도했지만 시간이 많이 걸렸지 만 유지 보수가 너무 어려워서 가능한 설명이없는 임의의 오류가 자주 발생하여 구독을 다시 초기화해야했습니다. 위치가 한 번에 전체 스냅 샷을 가져올 수있을만큼 길게 연결된 것으로 가정 할 경우 4 시간 이상 소요). 우리는 처음부터 우리 자신의 솔루션을 구상 해 보았습니다 만, 우리가 필요로하는 규모와 신뢰성을 고려할 때 이것이 최고의 아이디어라고 생각하지 않습니다.

지금까지 Sync Framework와 다른 사람이 제안한대로 Service Broker를 살펴 보았습니다. Sync Framework가 더 적합하다고 생각되지만 Service Broker가 확장되고 더 안정적이라는 말을 들었습니다. Sync Framework 또는 Service Broker와 관련된 오버 헤드에 대한 경험적 데이터를 찾을 수 없으므로 두 점을 비교하는 것은 불가능합니다.

중앙 관리 서버와 원격 클라이언트 간의 양방향 동기화가 필요합니다.이 클라이언트는 자율적으로 실행될 수 있으며 우리의 개입이 필요한 장애 발생시 관리자에게보고 할 수 있습니다.

이 문제에 대한 가능한 많은 해결책이 있습니다. 모두 완전히 다른 기술을 포함하고 있으므로 이에 대한 새로운 시각이 필요합니다.

우리 상황에 맞는 최적의 솔루션은 무엇이라고 생각하십니까?

편집 : 분명히 SQL Server 2008로 업그레이드하면이 문제가 쉽게 해결됩니다. 그러나 우리는 저렴한 옵션을 먼저 시도하고 싶습니다.

답변

0

SQL Server 2008 업그레이드 경로를 살펴 보겠습니다. 네이티브 변경 추적 지원이이를 달성하는 가장 쉬운 방법 일 것 같습니다.

1

하드 데이터를 제공하지는 않지만 이전에 프로젝트에서 동기화 프레임 워크를 사용했습니다. 그것을 가진 나의 경험은 진짜로 나쁘다. LAN상의 비교적 작은 테이블을 동기화 할 때조차도 느리고 속도가 매우 높으며 오류 조건을 수동으로 처리하기 위해 많은 작업이 필요합니다 (WCF가 기본적으로 처리 할 수있는 것보다 더 큰 패킷을 생성 할 수 있습니다). 그리고 업데이트 만 분할 할 수 있습니다 사용자가 SyncAdapter를 직접 작성하지 않는 한 몇 가지 선택 데이터베이스 (클라이언트가 MS SQL Compact Edition을 사용해야 함)에서만 작동합니다.

전반적으로 많은 문제가 발생하여 문제에 취약하고 비효율적 인 해결 방법이 있습니다. 나는 그것을 추천하지 않을 것이다.

+0

답장을 보내 주셔서 감사합니다. 나는 v1의 동기화 프레임 워크에서 비슷한 문제를 들었지만 아직 v2는 없다. v2에는 이제 표준 SQL Server 인스턴스를 포함하는 SyncAdapters와 자체 어댑터를 만들기위한보다 추상화 된 클래스가 포함되어 있다고 생각합니다. – Matt

+0

우리는 v2를 사용했습니다. 기본적으로 지원되는 유일한 클라이언트 데이터베이스는 여전히 SQL CE입니다. 물론, 당신 자신의 어댑터를 작성하는 것은 로켓 과학이 아니기 때문에 이것은 아마도 프레임 워크의 문제 중 가장 적은 것이다. – jalf

+0

에 따라 u @ jalf 무엇이 C# 4.5에 대한 동기화 프레임 워크의 교체 것입니까? – Neel

1

한쪽에는 SQL express 2008 R1/R2를, 중앙 끝에는 multitenant db SQl 서버 엔터프라이즈와 동기화 프레임 워크를 사용할 수 있습니다.

http://www.rajneeshnoonia.com/blog/2012/03/n-tier-sync-framework/

클라이언트 (천)의 많은 수를 처리 할 수있을만큼 할 수 sould : 다음은 백엔드에서 데이터를 동기화 창에게 서비스를 쓸 수있는 보안 WCF channel.You 이상 n 계층 동기화를위한 샘플 응용 프로그램입니다.

관련 문제