
데이터베이스 복제(Replication)란?CS 지식/데이터베이스 기본 다지기2024. 11. 17. 17:53
Table of Contents
반응형
마스터/스탠바이 복제
마스터(Master) 서버:
- 데이터베이스의 원본 데이터를 보유하고 있으며, 모든 쓰기(INSERT, UPDATE, DELETE) 작업이 이 서버에서 이루어집니다.
- 클라이언트는 일반적으로 마스터 서버에 데이터를 변경하기 위한 요청을 보냅니다.
스탠바이(Standby) 서버:
- 마스터 서버로부터 데이터를 복제하여 보유하며, 읽기 작업을 수행하거나 장애 발생 시 마스터 역할로 승격(failover)될 수 있습니다.
- 보통 두 가지 유형으로 나뉩니다:
- 핫 스탠바이(Hot Standby): 거의 실시간으로 마스터와 동기화되며, 필요 시 빠르게 마스터로 전환할 수 있습니다.
- 콜드 스탠바이(Cold Standby): 복제는 이루어지지만, 활성화까지 시간이 더 걸릴 수 있습니다.
다중 마스터 복제
다중 마스터 복제(Multi-Master Replication)는 여러 개의 마스터 서버가 서로 데이터를 동기화하는 복제 방식으로,
모든 마스터 서버가 쓰기와 읽기 작업을 모두 수행할 수 있는 데이터베이스 구조입니다. 이 방식은 각 마스터 서버가 독립적으로 데이터를 업데이트할 수 있게 함으로써, 분산된 여러 지점에서의 쓰기 작업을 지원하고, 시스템의 고가용성 및 확장성을 증가시키는 장점이 있습니다.
다만, 데이터 동기화의 구현의 어려움과 복잡성때문에 대부분은 단일 마스터 노드를 유지하는 방법을 사용합니다.
복잡성 증가: 여러 마스터 서버 간에 데이터를 동기화하고 충돌을 해결하는 것은 단일 마스터 복제보다 훨씬 복잡합니다. 특히, 네트워크 문제가 발생하거나 여러 서버에서 동시에 같은 데이터를 수정할 때 충돌 관리가 까다로울 수 있습니다.
동기식 vs 비동기식 복제
동기식 복제(Synchronous Replication):
- 마스터에서 트랜잭션이 발생할 때, 스탠바이 서버가 이 트랜잭션을 수신하고, 스탠바이에서 성공적으로 기록된 후에야 마스터에서 완료 처리가 됩니다.
- 이로 인해 데이터의 일관성은 높지만, 네트워크 지연이나 복제 지연으로 인해 쓰기 작업의 성능이 다소 저하될 수 있습니다.
비동기식 복제(Asynchronous Replication):
- 마스터 서버에서 트랜잭션이 완료된 후, 데이터를 스탠바이 서버에 전송합니다.
- 쓰기 성능은 더 좋지만, 마스터 서버가 장애가 발생했을 때 일부 데이터 손실 가능성이 있습니다.
데이터베이스 복제의 장/단점
장점
- 수평적 Scaling이 가능하다.
- 지역별로 DB를 가질 수 있으며, 이는 지역별로 query를 날릴 수 있도록 한다.
단점
- Eventual Consistency를 해야한다.
- Slow Writes (synchronous 복제의 경우, 여러 노드의 결과를 기다려야하므로 느려진다.)
- 구현이 복잡하다. (특히, 다중 마스터 구조)
반응형
'CS 지식 > 데이터베이스 기본 다지기' 카테고리의 다른 글
Database Engine 비교하기 (1) | 2024.11.20 |
---|---|
데이터베이스 파티셔닝이란? (1) | 2024.11.13 |
Row Oriented Database vs Column Oriented Database (3) | 2024.10.13 |
Transaction 과 ACID (0) | 2024.10.06 |
@ray5273 :: Micro Changes, Macro Impact
개발 및 IT 관련 포스팅을 작성 하는 블로그입니다.
IT 기술 및 개인 개발에 대한 내용을 작성하는 블로그입니다. 많은 분들과 소통하며 의견을 나누고 싶습니다.