떨어지는 역사적인 파티션이 더 이상 필요 없는 동안에 복제 P2P
문제
회사는 내가 일하는 설정 데이터베이스의(최대 아래 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 복제보다는 결과 변경합니다.
이것은 제안된 순서의 이벤트에 내 의견/경력:
- 을 만들 SP 삭제를 사용하는 코드를 지정합니다 실행하여 삭제 코드는 경우@@SERVERNAME=원하는 서버
- 신규 간행물을 복제하는 이 1SP 으로 복제=의 실행 저장된 절차에서 문서 속성
- 실행 SP 에서 원하는 서버와 행복하지 않은 데리고 전체로 부동산의 수천에 복제 삭제 명령
포인트의 참고:
- 이것은 여전히 힘든 작업입니다.이 방법을 사용하여 당신이 감소 효과는 모든 서버에서 당신은하게 작업을 수행할 수 있습니다.당신이 감소하지 않은 워크로드,당신을 위해서는 사실이 더 있습니다-당신이해야 할 것이를 실행하는 동일한 SP 에서는 각 노드(과하는 경우선 변경하여 서버를 대상으로),효과적으로 증가 작업을 당신이 해야 할 의해 서버의 수 있습니다.그것은 대규모 안전하고 당신의 미치는 영향을 최소화 해야에서 모든 다른 노드들(나는 염치없는 당신이 실패한 트래픽에서 노드 작업에서든 물론!)
- 이 방법을 사용하여 만든 간에 불합치가 있는 경우,노드가-당신은 정말 필요가 있는지 확인하는 데이터 제거하지 않을 변경할 수 있습니다 전에 끝 동일한 작업을 수행하는 모든 노드가 필요로 하는 작업.는 경우 행 삭제 1 에서 노드가 내에서 변경된 재산의 나머지는 당신이 끝날 거라고 일관성 오류가 있습니다.
- 가능성이 있을 넣어의 정상적인 복제를 예상 SLA 의에 의해 뒤에는 시간이 걸리는 삭제에 노드 당신이 작업(을 읽어에 처리하는 삭제)-그러므로 당신이 알고 있어야 하는 작업이 완료되면,당신은 없는 노드에서까지 정상적인 복제를 잡히 백업 후 삭제 작업의 잠금을 발표했다.를 복제하는 경우 높은 대기 시간을 줄 내가 심각하게 제안을 사용하여 풀 에이전트 대신에요 그것은 엄청난 차이입니다.
아마 더 나은 방법으로의 데이터 이동 거리에 SP 보를 사용하여 삭제-어쩌면 이동하는 다른 테이블에 관여하지 않습니다 복제한 다음 떨어지고 새로운 테이블 또는 반대의 경우,유지하려는 데이터가 보다 적은 금액을 삭제하고,데이터 이동을 유지하려면 새로운 테이블 드롭 오래된 중 하나는 그의 이름을 변경 새로운 테이블이있는 많은 조언이 이러한 관점에서-난 작업 환경에서 그 싸움을 쉽게 삭제에 대한 이상을 촉진하는 개념이 일부 인원이 이해하지 않을 것이다,그래서 나는 설명하는 고통스럽지만 기본적인 방법입니다.
면책 조항:위의 모든 것은 위험합니다.는 경우 급하게 이루 적절한 조치가 없으면 살펴볼 수 있 심각하게 혼란에 복제 토폴로지,귀사의 데이터 그리고 아마도 당신의 고용입니다.하시기 바랍 위의 방법과 자신의 개발 battleplan-성 테스트 환경을 증명하는 개념,시험 및 재시험,이용하지 않는 작업에 가볍게 바릅니다.으로 충분히 고려사항을 달성하는 작업을-하지만 그것은 가치가 없는 일 금요일 오후에 몇 후 점심 시간이 있습니다.그것은 권리,그것은 한 번(을 위해 실제 테스트 할 수 있는 만큼),제대로 않습니다.
나는 희망이 다른 사람을 도움이 됩니다.-추가하는 이 같은 무엇인가를 검색하면 나는 원하는 이 대답:
삭제에서 많은 양의 데이터는 Peer-to-Peer 복제 토폴로지