[데이터베이스] 리플리케이션 (Replication)이란?

James·2023년 7월 18일
1
post-thumbnail

Replication이란?


개념: DB를 복제해서 여러대의 DB서버에 저장하는 방식

  • 두 개의 이상의 DBMS 시스템을 Mater / Slave로 나눠서 동일한 데이터를 저장하는 방식이다.

데이터베이스 리플리케이션(Replication)은 실시간 복제본 데이터베이스 서버를 운용하는 것을 의미합니다. 기준이 되는 서버를 마스터 서버라 하고, 마스터 서버와 동일한 내용을 갖는 또 다른 서버를 ‘리플리카(Replica)’라 합니다.

서버에 read/write를 요청하다가 master서버가 이상이 생기면 안되기때문에 이를 복제하고 지속적으로 synchronization(동기화)를 해준다.
secondary 서버는 한대만 있는게 아니다. 여러대 있을 수 있다.


리플리케이션(Replication)의 목적

데이터베이스 리플리케이션은 기본적으로 데이터 안정성을 위함입니다.


Replication 장단점


리플리케이션(Replication)장점

  • 서버 부하 감소 : 주로 서버 요청에 read가 많은데 read 트래픽이 많을때 slave/secondary/replica 서버에 넘겨서 트래픽을 낮출 수 있다.
  • 고가용성과 장애 허용성: 데이터의 복제를 통해 여러 대의 서버에 데이터를 분산 저장함으로써 시스템의 고가용성을 확보할 수 있습니다. 주 서버에 장애가 발생하더라도 복제된 서버에서 데이터를 제공하므로 서비스의 지속성을 보장할 수 있다.
  • 장애 복구: 주 서버에 장애가 발생한 경우에도 복제된 서버를 사용하여 데이터를 제공할 수 있으므로, 장애 복구 및 복구 시간을 단축시킬 수 있다.

리플리케이션(Replication)단점

  • 복제 지연: 데이터의 복제 과정은 시간이 걸릴 수 있습니다. 따라서 주 서버에 변경이 발생한 후 복제된 서버까지 변경 사항이 전파되는 데 시간이 걸릴 수 있습니다. 이로 인해 복제된 서버에서 데이터의 최신 상태를 확인하는 데에는 지연이 발생할 수 있습니다.

  • 추가적인 리소스 요구: 리플리케이션을 구성하면 추가적인 리소스가 필요합니다. 각 복제 서버에는 별도의 하드웨어, 네트워크 대역폭, 디스크 공간 등이 필요합니다. 이는 초기 구축 및 운영 비용의 증가를 의미할 수 있습니다.

  • 복제 지역성과 일관성 충돌: 리플리케이션을 사용하여 데이터를 지리적으로 복제하는 경우, 지연 시간과 네트워크 대역폭 등의 이슈로 인해 복제된 서버 간에 데이터의 일관성 충돌이 발생할 수 있습니다. 동시에 여러 지역에서 동일한 데이터를 변경하는 경우에도 일관성 충돌이 발생할 수 있습니다.

  • 복제된 데이터의 보안과 개인정보 보호: 데이터의 복제로 인해 여러 복제본에 데이터가 저장되므로 보안과 개인정보 보호 측면에서 추가적인 주의가 필요합니다.


Reference & Additional Resources

profile
의미있는 성장의 태도, 긍정적인 사고를 지닌 Deveolper

2개의 댓글

comment-user-thumbnail
2023년 7월 18일

글 잘 봤습니다, 감사합니다.

1개의 답글