본문 바로가기
인간세상의 종말이 도래해따/DB

[MySQL] Replication master 복제 유형 조회

by 민곰 2019. 7. 25.
728x90

※ 개발 환경

Ubuntu 18.04.2 LTS

Mysql 5.7.26


Master - Slave 구조로 Replication을 구성해 놓은 상태에서 Master의 복제 유형을 조회합니다.

...더보기

■ 선행 작업

# mysql -u root -p
Enter password: [비번 입력]
mysql> show variables like 'binlog_format';

∴ 결과

복제 유형 조회


※ 복제 유형 2가지 (+ 관점에 따라 3가지)

  1. Statement-based replication
  2. Row-based replication
  3. Mixed-format replication

1. SBR (Statement-based replication) 

  • Master의 binary log에 SQL statement를 저장한다
  • Slave는 이 데이터를 읽고, Slave DB에 해당 SQL statement를 실행해 Master DB의 복제를 수행한다
  • MySQL 5.1.11 이하, MySQL 5.1.29 버전의 기본 설정값
  • Bulk Insert에 적합하다
  • Replication의 요구사항이 간단한 편이라면 SBR을 사용하는 것이 좋다
  • 문제 해결이 상대적으로 쉬운 편이다

2. RBR (Row-based replication)

  • Master의 binary log에 레코드 레벨의 변경사항을 저장한다
  • Slave는 이 데이터를 읽고, Slave DB의 레코드에 적용한다
  • 슬레이브가 행 변경을 처리하는 작은 쓰기에 적합하다
  • 상대적으로 적은 Table-Lock이 발생한다
  • 일반적으로 좀 더 효율적이다

3. Mixed-Format Replication

  • MySQL 5.1.12와 MySQL 5.1.28 버전의 기본 설정값
  • 서버가 특정 조건에 따라 동적으로 SBR과 RBR을 선택한다
  • 특정 조건은 아래 항목들이 해당된다
UDF(User-Defined Function) 사용자 정의 함수
DELAYED 문이 사용된 INSERT 명령어
임시 테이블의 사용
system 변수를 사용하는 명령문

( 출처1 : What You Should Know About MySQL Replication Types, by Vikram Vaswami )

( 출처2 : 복제 슬레이브 지연 문제를 해결하는 방법, by Henry Hwang )

 

 

 

728x90

댓글