본문 바로가기
MySQL

DB master-slave

by meetyou 2024. 11. 28.

replication 이란?

복제본 데이터베이스를 운용하는 것을 리플리케이션이라고 한다.

ex) master-slave 구조 : 마스터 디비를 복제하여 슬레이브 디비는 마스터와 동일한 데이터를 가지고 있다.

 

master-slave 흐름

1. 클라이언트 커밋

2. 접속 스레드에서 스토리 엔진에 준비하라고함.

3. 마스터 스레드에 바이너리 로그를 변경하고 커밋함.

4. 마스터 스레드는 바이너리 로그를 슬레이브에 전달

5. 전달받은 슬레이브 I/O 스레드는 릴레이 로그에 기록한다.

6. 슬레이브 SQL 스레드는 스토리지 엔진에 변경 적용한다.

※ 요약 : 클라이언트 커밋 -> 마스터 슬레이브 바이너리 변경 및 스토리지엔진에 커밋 -> 마스터에서 슬레이브로 전달 -> 스토리지엔진에 변경적용

 

master-slave 주활용

master : insert, update, delete

slave : select

마스터는 동시성이 요구되는 작업을 주로 담당하고, 슬레이브는 동시성이 덜 요구되는 select를 담당하게 된다.

 

어플리케이션에서 활용하기

아래의 블로그 참고

https://cornswrold.tistory.com/561

 

master-slave 활용가능한 대표적인 DB

PostgreSQL
MongoDB
Cassandra
Oracle