본문 바로가기

가상 머신/Clustering & Duplication

[ HA ] 데이터베이스 이중화 (Replication)에 대해서 알아보기

반응형

데이터베이스 이중화(Database Replication)는 데이터베이스의 고가용성(High Availability)과 데이터 무결성(Data Integrity)을 보장하기 위해 중요한 기술입니다. 이중화는 데이터를 여러 복제본으로 유지함으로써, 데이터 손실이나 시스템 다운타임에 대한 대비책을 제공합니다. 이중화의 주요 목적은 다음과 같습니다:

  1. 고가용성 보장: 데이터베이스 서버의 장애 시, 다른 복제본 서버가 즉시 서비스 역할을 할 수 있어 서비스 중단 시간을 최소화합니다.
  2. 성능 향상: 읽기 전용 작업을 여러 복제본에 분산시켜, 데이터베이스 성능을 향상시킬 수 있습니다.
  3. 데이터 무결성: 여러 장소에 데이터를 복제하여, 데이터 손실 시 복구할 수 있는 가능성을 높입니다.

1. 이중화의 유형

  1. 동기식 복제(Synchronous Replication):
    • 데이터가 주 데이터베이스에 쓰일 때, 동시에 하나 이상의 복제본에 동일한 데이터를 쓰는 방식입니다.
    • 데이터의 일관성을 보장하지만, 지연(latency)이 발생할 수 있습니다.
  2. 비동기식 복제(Asynchronous Replication):
    • 주 데이터베이스에 쓰인 후 일정 시간 후에 복제본에 데이터를 복제하는 방식입니다.
    • 지연이 적고 성능이 뛰어나지만, 데이터 일관성에는 약간의 지연이 발생할 수 있습니다.
  3. 다중 마스터 복제(Multi-Master Replication):
    • 여러 마스터 데이터베이스가 서로 데이터를 복제합니다.
    • 모든 마스터에서 읽기 및 쓰기 작업이 가능하나, 충돌 관리가 복잡할 수 있습니다.
  4. 단일 마스터 복제(Single-Master Replication):
    • 하나의 마스터 데이터베이스가 있고, 다른 모든 복제본은 슬레이브로 작동합니다.
    • 마스터에서만 쓰기 작업이 가능하며, 슬레이브는 읽기 전용입니다.

2. 이중화 구현 방법

  1. 물리적 복제(Physical Replication):
    • 데이터 파일을 그대로 복제합니다.
    • 주로 블록 레벨 복제로 구현되며, 높은 성능을 보입니다.
  2. 논리적 복제(Logical Replication):
    • 테이블, 행, 열 단위로 데이터를 복제합니다.
    • 특정 데이터만 선택적으로 복제할 수 있으며, 유연성이 높습니다.

 

4. 주요 데이터베이스 시스템의 이중화 기능

  • MySQL:
    • MySQL Replication을 통해 주-복제본(마스터-슬레이브) 구조를 지원합니다.
    • MySQL Group Replication 및 Galera Cluster와 같은 고가용성 클러스터링 솔루션도 제공됩니다.
  • PostgreSQL:
    • 스트리밍 복제(Streaming Replication)를 통해 동기 및 비동기 복제를 지원합니다.
    • 논리적 복제를 통해 특정 테이블이나 스키마의 복제도 가능합니다.
  • Oracle:
    • Data Guard를 통해 물리적 및 논리적 스탠바이 데이터베이스를 제공하며, 고가용성과 재해 복구를 지원합니다.
  • Microsoft SQL Server:
    • AlwaysOn Availability Groups를 통해 고가용성 및 재해 복구 솔루션을 제공합니다.

5. 이중화 설정 시 고려사항

  1. 네트워크 성능: 복제 데이터가 네트워크를 통해 전달되기 때문에, 네트워크 대역폭과 지연시간이 중요합니다.
  2. 데이터 일관성: 동기식과 비동기식 복제 중 어떤 방식이 더 적합한지 고려해야 합니다.
  3. 관리 및 모니터링: 복제 상태를 모니터링하고 관리할 수 있는 도구를 사용해야 합니다.
  4. 장애 복구 시나리오: 장애 발생 시 어떻게 복구할지 계획을 세워야 합니다.

데이터베이스 이중화는 시스템의 신뢰성과 성능을 높이는 중요한 기술입니다. 적절한 이중화 전략을 통해 데이터 유실과 서비스 중단을 최소화할 수 있습니다.

반응형