HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
✍🏻
Learnary (learn - diary)
/
MYSQL Replication 이해하기

MYSQL Replication 이해하기

progress
Done
Tags
Database
WhatWhyHow REFER

What


Replication - 이중화
  • 복제, 복사 의 의미로, 데이터베이스의 데이터 저장과 백업하는 방법이다.
 
Master - Slave 구조 [대표적]
  • Master는 등록,수정,삭제 처럼 데이터의 변화를 주는 작업에 사용한다.
  • Slave는 오직 읽기에 주는 작업에 사용한다.
 
Replication 메카니즘
notion image
  1. 클라이언트에서 commit을 수행한다.
  1. 접속스레드는 스토리지 엔진에게 해당 트랜잭션에 대한 Prepare(Commit 준비)를 수행한다.
  1. 바이너리로그에 기록한다.
  1. 마스터 스레드는 시간에 구애받지 않고(비동기적으로) Binary Log를 읽어서 Slave로 전송한다.
  1. 슬레이브의 I/O 스레드는 마스터 스레드로부터 수신한 변경 데이터를 릴레이 로그에 기록한다.
  1. 슬레이브 SQL 스레드는 릴레이 로그에 기록된 변경 데이터를 읽어서 스토리지 엔진에 적용한다.
>> Replication 3번 과정에서는 설정에 따라 구성 방식에 따라 차이가 있다.
대표적으로 Async(default) , Semi-Sync 가 있다.
  • Async : 스토리지 엔진에 먼저 commit을 수행 후 바이너리 로그에 기록한다.
  • Semi-Sync : 바이너리 로그에 기록 후 스토리지 엔진에 커밋을 한다.
mysql 은 기본적으로 Async 방식을 사용하고 있다.
 
Replication 구성방법
  • Slave 는 또 다른 MySQL 서버의 Master 가 될 수 있다.
  • 하나의 Master 가 가질 수 있는 Slave 는 다수일 수 있다. (다단 구성 가능)
  • 두 개의 MySQL 서버가 서로의 Master 또는 Slave 가 될 수 있다.
  • 하나의 Slave 가 Multi Master 를 가질 수 있다. (N:1 - MySQL 5.7 이상)
 
notion image
 
단 Dual Master의 경우 양방향으로 데이터의 변경이 가능하고 서로 복제가 가능하지만, 비동기 복제 과정에서 데이터의 부정합이 발생할 가능성은 여전히 존재함을 주의하자.
 
 

Why


  • 데이터베이스 인스턴스 또한 클라이언트(애플리케이션) 상대로 TCP 통신을 하고 있으므로, 부하분산을 위해 필요한 아키텍처 구성 전략이다.
  • 기본적으로 데이터의 상태를 변경하기 보다는 보통 READ가 부하 분산에 큰 영향이 대부분이다.
 

How


docker로 mysql replication 환경 구성하기

 REFER


MySQL - Replication 구조 - Rain.i
데이터베이스에서 데이터를 복제하는 방식은 크게 동기 방식과 비동기 방식이 있다.
http://cloudrain21.com/mysql-replication
MySQL - Replication 구조 - Rain.i
MySQL Replication 이해하기 (Master - Slave)
MySQL을 사용할 때 이중화 구성(Master - Slave)을 하는 경우가 많습니다. 데이터가 날아가는 것을 방지하기 위해서입니다. 이러한 이중화 구성을 이해하기 위해 Replication 과정을 정리하고자 합니다. 1. Master와 Slave의 역할 Master는 등록/수정/삭제 쿼리 요청이 있을시 Binarylog를 생성하여 Slave로 전달합니다. Slave는 Master의 정보를 복제해놓는 역할을 담당합니다. 또한 읽기 쿼리 요청을 담당합니다.
MySQL Replication 이해하기 (Master - Slave)
https://it-sunny-333.tistory.com/148
MySQL Replication 이해하기 (Master - Slave)
Replication이란 무엇일까?
Replication이란? 사전적 의미로는 복제, 대답, 응답 등을 꼽을 수 있는데, database에서는 DB 처리의 효율화와 백업의 수단으로, 현대 데이터베이스 운영에 필수 불가결한 기술 중의 하나이다. 지금 공부하고 있는 단계에서는 사용해보지 않겠지만, 나중에 현업에 종사할 때 도움이 될 수 있도록 책에서는 개요만 설명하고 있다. 그렇다면 복제란 무엇인가? 대한민국에서 학창시절을 보낸 축구에 관심이 많은 남자들은 기억할 것이다.
Replication이란 무엇일까?
https://snthewhitehacker.tistory.com/4
Replication이란 무엇일까?