Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

TechBlog

[MSSQL/SQL Server] 복제(Replication) 본문

Study/DB

[MSSQL/SQL Server] 복제(Replication)

jiazzang 2025. 2. 1. 20:54

1. 복제란?

복제(Replication)

한 데이터베이스에서 다른 데이터베이스로 데이터와 데이터베이스 개체를 복사 및 배포한 다음, 데이터베이스 간에 동기화를 수행하여 일관성을 유지하는 일련의 기술로, 고가용성을 높이기 위한 방법

 

복제의 구성

  • 게시자: 다른 서버에 동기화될 데이터가 포함된 원본 데이터베이스를 유지하는 서버
  • 배포자: 게시자가 제공하는 게시를 가져와 구독자에게 배포하는 역할을 맡은 서버
  • 구독자: 복제된 데이터를 전송 받는 서버

구독 방식

  • 밀어넣기(Push): 배포자가 구독자의 요청과 관계 없이 게시자의 변경 내용을 구독자로 전달하는 방식
  • 끌어오기(Pull): 구독자가 게시자의 변경 내용을 직접 요청하는 방식

 

2. 복제 유형

  • 스냅샷 복제
  • 트랜잭션 복제
  • 병합 복제

1) 스냅샷 복제

  • 복제를 구성하면, 게시 전체를 구독자에게 보내서 동기화한다.
  • 특정 시간에 나타나는 그대로 데이터를 배포하고, 데이터의 변경 내용을 모니터링하지 않는다.
  • 스냅샷 복제는 단독으로 사용할 수 있지만, 일반적으로 트랜잭션 게시나 병합 게시에 대한 초기 스냅샷을 구독자에게 전달할 때 사용된다.
  • 데이터가 자주 변경되진 않지만, 한 번에 변경되는 데이터 양이 많은 환경에서 적합하다.

2) 트랜잭션 복제

  • 처음에 스냅샷 복제로 데이터를 동기화한 후, 데이터나 스키마의 변경 내용을 구독자에게 전달하여 동기화한다.
  • 데이터 변경 내용은 게시자에서 발생한 것과 같은 순서 및 트랜잭션으로 구독자에게 전달되므로, 게시 내에서 트랜잭션 일관성이 보장된다.
  • DML 작업이 빈번하게 일어나며 게시와 구독이 거의 실시간으로 동기화되어 일관성을 유지해야 할 때 적합하다.

3) 병합 복제

  • 여러 사이트에서 작업한 내용이 취합되어 하나의 일관된 데이터로 동기화된다.