▼ DataBase, NoSQL/MySQL

MySQL | Replication(리플리케이션)이란

Valar 2023. 1. 28. 15:12
반응형

데이터베이스 리플리케이션(Database replication)이란

보통 Master/Slave 관계를 갖는 원본과 복사본 사이를 다룬다. 마스터는 변경 사항을 기록하고 그 결과는 슬레이브에게 전달된다. 라고 위키백과 레플리케이션에서 설명하고 있다.

 

보편적으로는 데이터베이스의 부하 분산과 데이터 백업을 위해 복제본을 만드는것이라고 한다. 웹 서버의 부하 분산을 위해 여러대의 서버를 두고 로드밸런서를 통해 로드밸런싱 하는 것과 비슷하다.

 

이제 Master/Slave의 주로 사용되는 역할에 대해 알아본다.

Master 서버:

데이터 등록/수정/삭제 요청을 담당하며, 변경된 데이터를 바이너리로그(Binarylog)를 생성하여 Slave 서버로 전달한다.

Slave 서버:

조회 요청을 담당하며, Master 서버로 부터 전달받은 바이너리로그(Binarylog)를 데이터로 반영, 또는 데이터 백업용으로 사용한다.

 

Slave 서버를 원하는 용도에 따라 데이터 백업용으로 사용할 지, 조회 요청을 담당하여 Master 서버의 부하를 분산할지 정한다. Master 서버에 장애가 생겼을 경우 대체 서버로 Slave를 사용할 수 있다.

 

❗️ Master/Slave 구성 시 주의 사항

1. Master 서버, Slave 서버의 MySQL 버전을 동일하게 맞추는게 좋지만, 부득이할 경우에는 Slave 서버의 버전을 더 높은 버전으로 사용한다.

2. 서버를 재기동해야 한다면 Master -> Slave 순서로 한다. 

 

Reference

반응형