본문 바로가기
DBMS

Replication/Replica (데이터 백업 수단)

by yororing 2024. 6. 12.

01 Replication이란

1. 정의

  • 사전적인 의미로 '복제, 대답, 응답'
  • DB에서는 DB 처리의 효율화와 백업의 수단
  • 원본 데이터베이스(original - master)를 복사(replica - slave)해서 동일한 데이터를 가지고 있는 DB를 항상 다른 서버에 준비해 놓는 것
  • 즉, 처리를 분산시킴

2. 용도

  • 백업용
    • Master의 DB와 그로부터 복사된 Slave의 DB는 동일하기에 Master에 문제가 생겼을 경우 Slave는 Master가 하던 일을 떠맡도록 하면 다시 시스템을 정상적으로 가동하는 데 소비되는 시간 절약 가능
  • 역할 분산
    • 예시: Master가 테이블의 변경 처리 (예, UPDATE tb SET number='B103' WHERE sales>=50; 이나 INSERT INTO tb1(number, sales) VALUES ('K133', 80);)를 수행하도록 하고, 변경하지 않는 처리 (예, SELECT)는 Slave가 맡도록 함
    • 분산 처리를 하면 놀고 있는 (idle) 시간 및 자원을 줄일 수 있으므로 process efficiency를 향상시킬 수 있다
      • 그러나 이를 위해선 전제조건이 있음: Master와 Slave가 동일한 DB를 갖고 있어야 함
      • 이를 구현하는 방식은 프로그램마다 상이함
      • MySQL에서는 'Binary log'라는 것을 이용해 synchronization을 진행함
        • 인간이 이해할 수 있는 high-level의 언어는 컴퓨터가 직접적으로 알아들을 수 없음 (1과 0만 이해 가능)
        • 0과 1로 이루어져 있는 instruction을 binary log라 하고, 이것을 토대로 Slave는 Master가 행한 작업을 재현하여 Master와 일치하는 데이터를 가지게 됨

참조

  1. https://snthewhitehacker.tistory.com/4https://snthewhitehacker.tistory.com/4 
  2.  

'DBMS' 카테고리의 다른 글

DBMS 연결 및 쿼리 처리 방법 (파이썬)  (1) 2024.09.05
View (가상 테이블)  (0) 2024.06.18
View (가상 테이블)  (1) 2024.06.13
Sequence (시퀀스)  (0) 2024.06.13