TechBlog
[MSSQL/SQL Server] 복제(Replication) 본문
1. 복제란?
복제(Replication)
한 데이터베이스에서 다른 데이터베이스로 데이터와 데이터베이스 개체를 복사 및 배포한 다음, 데이터베이스 간에 동기화를 수행하여 일관성을 유지하는 일련의 기술로, 고가용성을 높이기 위한 방법
복제의 구성
- 게시자: 다른 서버에 동기화될 데이터가 포함된 원본 데이터베이스를 유지하는 서버
- 배포자: 게시자가 제공하는 게시를 가져와 구독자에게 배포하는 역할을 맡은 서버
- 구독자: 복제된 데이터를 전송 받는 서버
구독 방식
- 밀어넣기(Push): 배포자가 구독자의 요청과 관계 없이 게시자의 변경 내용을 구독자로 전달하는 방식
- 끌어오기(Pull): 구독자가 게시자의 변경 내용을 직접 요청하는 방식
2. 복제 유형
- 스냅샷 복제
- 트랜잭션 복제
- 병합 복제
1) 스냅샷 복제
- 복제를 구성하면, 게시 전체를 구독자에게 보내서 동기화한다.
- 특정 시간에 나타나는 그대로 데이터를 배포하고, 데이터의 변경 내용을 모니터링하지 않는다.
- 스냅샷 복제는 단독으로 사용할 수 있지만, 일반적으로 트랜잭션 게시나 병합 게시에 대한 초기 스냅샷을 구독자에게 전달할 때 사용된다.
- 데이터가 자주 변경되진 않지만, 한 번에 변경되는 데이터 양이 많은 환경에서 적합하다.
2) 트랜잭션 복제
- 처음에 스냅샷 복제로 데이터를 동기화한 후, 데이터나 스키마의 변경 내용을 구독자에게 전달하여 동기화한다.
- 데이터 변경 내용은 게시자에서 발생한 것과 같은 순서 및 트랜잭션으로 구독자에게 전달되므로, 게시 내에서 트랜잭션 일관성이 보장된다.
- DML 작업이 빈번하게 일어나며 게시와 구독이 거의 실시간으로 동기화되어 일관성을 유지해야 할 때 적합하다.
3) 병합 복제
- 여러 사이트에서 작업한 내용이 취합되어 하나의 일관된 데이터로 동기화된다.
'Study > DB' 카테고리의 다른 글
[MSSQL/SQL Server] 트랜잭션 복제 생성 (0) | 2025.02.01 |
---|---|
[MSSQL/SQL Server] 파라미터 스니핑(Parameter Sniffing) (0) | 2024.12.01 |
[MSSQL/SQL Server] JOIN 종류 (0) | 2024.05.25 |
[MSSQL/SQL Server] 물리적 JOIN 방식 (0) | 2024.05.19 |
[MSSQL/SQL Server] 동적 쿼리 (0) | 2024.03.24 |