문제

회사는 내가 일하는 설정 데이터베이스의(최대 아래 1Tb)다른 서버에서-2,미국에서 2 에서 유럽입니다.

우리는 전체 peer-to-peer 복제 데이터베이스당 4 개의 노드-그래서 그들이 할 수 있는 모든 트랜잭션(삽입 업데이트//삭제)및 모든 데이터가 있는 다른 노드들이 모인(변수 내의 대기 시간을 최악의 연결이에 평균 30~40 초).

최대 데이터베이스를 수행하는 데이터에서 2008 년 초를 오늘입니다.이 모든 데이터는 더 복제 Reporting 노드는 모든 데이터를 보유.

내가 제거해야에서 데이터 트랜잭션 노드,2013 년까지 제거하고,드라이브는 공간에 적자에 트랜잭션 노드,따라서 역사적인 데이터를 사용할 수 있에서 보고 노드입니다.

는 가장 좋은 방법은 무엇입니까?데이터 상대적으로 관리하는것은 잘 분할(월-에 의해 파티션,그리고 다음으로 연간은 별도의 파일/그룹).그러나 거기에는 문제되지 않을 수 있는 파티션을 삭제합하는 동안에 관여하는 복제와 독서에 파티션 스위칭-이 허용되지 않는다.(스위칭 파티션이 전제 조건 점 18)

으로 전체 생산 환경 난을 피하려고 노력하는 것에 영향을 미칠 것이 복제 포함하여 재동기화(하는 많은 양의 데이터 동기화,원거리).

누군가에게 좋은 제안에 대한 이 작업을 수행하는 방법?

도움이 되었습니까?

해결책

그래서,어떤 대답을 여기에서 있지만,특정 금액을 논의 생각,내가 계획으로 몇 개월 전에.

나는 이 대답은 간결한 이 포럼(수 있습니다 동의하지 않는다), 도 누군가를 원조하기 위하여 필요가 있는 유사한 작업을 수행,미래에 질문을 주시기 바랍니다면 나는 아무것도를 놓치-지 방법이 있습니다.

그래서,주요 관심사는 제거하지 않고 데이터에 큰 영향을 미치는 생산에서 트래픽을 노리는 복제에서.가장 쉬운 방법은 분리하는 노드 당신이 원하는 일에 제거,데이터에서는 노드하는 동안 모든 다른 사람이 영향을(를 포함하여 보고 노드).

작업을 수행하는 가장 좋은 방법이(기억할 수 없습니다 드 파티션 및/대부분의 작업은 복제되며 따라서 생성량의 트래픽의 큰 금액을 행 변화),새로 만들려면 SP 및 설정 출판이 하나 있습니다.따라서 사용할 수 있는 모든 노드가 있습니다.중요한 비트를 설정하는 복제는 복제행 SP-지 않은 결과(예:에 복제 EXEC Sp_delete 호출하지 않 삭제 어디 ID=1,삭제 어디 ID=2 줄 수준의 변경).이 설정에서 오른쪽 클릭하고 새로운 출판물(설정하기 전에 다른 노드에서의 토폴로지)>속성>기사를 클릭>SP_Delete 설정하기>문서 속성 버튼>속성을 설정의 강조 표시된 저장된 절차를 문서>복제선=의 실행 저장된 절차입니다.완 P2P 토폴로지를 사용해야 합니다.

하지만 MHSQLDBA 할 수 있습 말하는 것을 별도로 삭제 행에 있는 모든 노드를 통해 SP.-이런 이유로 당신은 설정 SP 만 삭제:

는 경우@@SERVERNAME='현재 서버에 영향을 주려고 합'

그것을 따라하는 삭제 절차입니다.

따라서,이 EXEC 통화에서 픽업 서버(s)는 당신을 원하지 않을 수행하는 삭제,그것은 무시됩로@@Servername 것 같지 않은 서버 당신이 선택됩니다.

생각할 수 있습니다-그냥을 만들 SP 에서만 서버에서 관심이 있고 실행하는가?-이 때문에 이 경우,복제식 변화로 그들이 어떻게 영향을 미치는 문서(테이블)행을 복제하고 실제 변화를 복제해야 합니 SP 도록 지정할 수 있습 EXEC 의 SP 복제보다는 결과 변경합니다.

이것은 제안된 순서의 이벤트에 내 의견/경력:

  1. 을 만들 SP 삭제를 사용하는 코드를 지정합니다 실행하여 삭제 코드는 경우@@SERVERNAME=원하는 서버
  2. 신규 간행물을 복제하는 이 1SP 으로 복제=의 실행 저장된 절차에서 문서 속성
  3. 실행 SP 에서 원하는 서버와 행복하지 않은 데리고 전체로 부동산의 수천에 복제 삭제 명령

포인트의 참고:

  1. 이것은 여전히 힘든 작업입니다.이 방법을 사용하여 당신이 감소 효과는 모든 서버에서 당신은하게 작업을 수행할 수 있습니다.당신이 감소하지 않은 워크로드,당신을 위해서는 사실이 더 있습니다-당신이해야 할 것이를 실행하는 동일한 SP 에서는 각 노드(과하는 경우선 변경하여 서버를 대상으로),효과적으로 증가 작업을 당신이 해야 할 의해 서버의 수 있습니다.그것은 대규모 안전하고 당신의 미치는 영향을 최소화 해야에서 모든 다른 노드들(나는 염치없는 당신이 실패한 트래픽에서 노드 작업에서든 물론!)
  2. 이 방법을 사용하여 만든 간에 불합치가 있는 경우,노드가-당신은 정말 필요가 있는지 확인하는 데이터 제거하지 않을 변경할 수 있습니다 전에 끝 동일한 작업을 수행하는 모든 노드가 필요로 하는 작업.는 경우 행 삭제 1 에서 노드가 내에서 변경된 재산의 나머지는 당신이 끝날 거라고 일관성 오류가 있습니다.
  3. 가능성이 있을 넣어의 정상적인 복제를 예상 SLA 의에 의해 뒤에는 시간이 걸리는 삭제에 노드 당신이 작업(을 읽어에 처리하는 삭제)-그러므로 당신이 알고 있어야 하는 작업이 완료되면,당신은 없는 노드에서까지 정상적인 복제를 잡히 백업 후 삭제 작업의 잠금을 발표했다.를 복제하는 경우 높은 대기 시간을 줄 내가 심각하게 제안을 사용하여 풀 에이전트 대신에요 그것은 엄청난 차이입니다.

아마 더 나은 방법으로의 데이터 이동 거리에 SP 보를 사용하여 삭제-어쩌면 이동하는 다른 테이블에 관여하지 않습니다 복제한 다음 떨어지고 새로운 테이블 또는 반대의 경우,유지하려는 데이터가 보다 적은 금액을 삭제하고,데이터 이동을 유지하려면 새로운 테이블 드롭 오래된 중 하나는 그의 이름을 변경 새로운 테이블이있는 많은 조언이 이러한 관점에서-난 작업 환경에서 그 싸움을 쉽게 삭제에 대한 이상을 촉진하는 개념이 일부 인원이 이해하지 않을 것이다,그래서 나는 설명하는 고통스럽지만 기본적인 방법입니다.

면책 조항:위의 모든 것은 위험합니다.는 경우 급하게 이루 적절한 조치가 없으면 살펴볼 수 있 심각하게 혼란에 복제 토폴로지,귀사의 데이터 그리고 아마도 당신의 고용입니다.하시기 바랍 위의 방법과 자신의 개발 battleplan-성 테스트 환경을 증명하는 개념,시험 및 재시험,이용하지 않는 작업에 가볍게 바릅니다.으로 충분히 고려사항을 달성하는 작업을-하지만 그것은 가치가 없는 일 금요일 오후에 몇 후 점심 시간이 있습니다.그것은 권리,그것은 한 번(을 위해 실제 테스트 할 수 있는 만큼),제대로 않습니다.

나는 희망이 다른 사람을 도움이 됩니다.-추가하는 이 같은 무엇인가를 검색하면 나는 원하는 이 대답:

삭제에서 많은 양의 데이터는 Peer-to-Peer 복제 토폴로지

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 dba.stackexchange
scroll top