티스토리 뷰

데이터베이스

Replication이란?

snvlqkq 2025. 3. 22. 23:52

Replication이란?

Replication은 데이터베이스의 데이터를 다른 데이터베이스에 복제하는 기술입니다. 데이터베이스에서 고가용성(HA), 부하 분산(Load Balancing), 장애 복구(Fail Over)를 위해 자주 사용됩니다.

고가용성이란?
시스템, 서비스, 또는 애플리케이션이 지속적으로 운영될 수 있도록 하는 기술과 개념을 의미
장애가 발생하더라도 최소한의 다운타임(서비스 중단)으로 운영이 가능하도록 하는 것이 목표이다.

Replication이 필요한 이유

하나의 데이터베이스만 사용할 경우 다음과 같은 문제점이 발생할 수 있습니다.

  1. 속도 문제 - 사용자가 많아지면 데이터베이스의 응답 속도가 느려집니다.
  2. 장애 발생 위험 - 데이터베이스 서버가 다운되면 데이터에 접근할 수 없습니다.
  3. 백업 필요 - 데이터를 안전하게 보관하려면 주기적인 백업이 필요합니다.

Replication을 사용하면?

속도 개선 - 여러 데이터베이스에서 동시에 데이터베이스 관련 요청을 처리할 수 있어 빠릅니다.
장애 대비 - 하나의 데이터베이스가 문제가 생겨도 다른 데이터베이스를 사용할 수 있습니다.
백업 효과 - 데이터를 여러 곳에 보관하므로 데이터 백업에 유용합니다.

Replication의 기본 개념

기본 구성 요소

  • Master 데이터베이스 - 원본 데이터베이스가 저장되는 곳
  • Slave 데이터베이스 - Master 데이터베이스의 데이터를 복제하는 곳

Replication 종류

1. Master-Slave Replication(가장 많이 사용)

  • Master DB 에서 데이터를 수정하면 Slave DB에 자동으로 복제됩니다.
  • Slave DB는 읽기(SELECT)전용으로 사용됩니다.

📌 SNS 서비스(예: 트위터, 인스타그램)
Master DB → 새로운 게시글이 올라올 때만 저장
Slave DB → 사용자 피드에서 수백만 건의 게시글을 조회할 때 사용

2. Multi-Master Replication

  • 여러개의 Master DB가 동시에 데이터를 변경하고 서로 동기화됩니다.
  • 충돌 관리가 필요하므로 설정이 복잡하지만 쓰기(Writing) 성능이 향상됩니다.

📌 (예: 글로벌 은행 시스템)
Master DB (한국) → 한국 고객의 입출금 데이터 기록
Master DB (미국) → 미국 고객의 입출금 데이터 기록
두 Master DB가 서로 데이터를 복제하며 동기화

3. Synchronous vs. Asynchronous Replication

동기식(Synchronous)

  • Master의 데이터가 완전히 복제된 후 데이터베이스 작업이 완료됩니다.
  • 데이터의 정합성을 보장하나 속도가 느립니다.비동기식(Asynchronous)
  • Master 데이터베이스가 변경된 후 일정 시간 후에 Slave 데이터베이스로 데이터가 복제됩니다.
  • 성능이 좋으나 Slave로 복제되는 시점에 장애가 발생하면 데이터 불일치 현상이 발생할 수 있습니다.

Replication의 장점과 단점

장점

  1. 읽기 성능 향상 : 여러 Slave DB에서 조회 요청을 분산 처리하여 성능 향상
  2. 장애 대비 : Master DB가 다운되면 Slave DB 중 한대를 Master로 승격하여 장애 복구 가능
  3. 데이터 백업 : 실시간 복제가 되므로 데이터 백업 효과

단점

  1. 데이터 일관성 문제 : 비동기 복제 사용 시 Master와 Slave의 데이터가 일치하지 않을 수 있음
  2. 쓰기 부하 분산 불가 : Master DB가 모든 쓰기 작업을 처리해야 하므로 성능 한계 발생
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/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
글 보관함