DB & AWS Knowledge
Replication 작동구조 본문
728x90
반응형
- 이 페이지에서는 MySQL / MariaDB Replication 작동구조를 다룬다.
- MySQL / MariaDB 는 Binary Log 를 기반으로 서버간의 복제 동기화를 (replication) 구성 한다. 작동 개요는 아래와 같다.
(그림 출처 : https://www.slideshare.net/SvenSandberg/oracle-openworld-2013-hol9737-mysqlreplicationbestpractices )
- Replication 은 아래와 같은 방법으로 복제 및 동기화가 진행된다.
- A (Master) 서버에서 클라이언트가 DB 변경을 수행한다.
- DML, DDL 등의 수행 기록이 남는 Binary Log 에 해당 변경 내용이 같이 기록되게 되고 이 때, B (Slave) 서버에 해당 내용을 전달 하기 위해
Dump Thread 가 B 서버로 해당 내용들을 전달 한다. (Replication 구성시 Binary Log 를 반드시 ON 으로 해야하는 이유) - A 서버와 동기화가 된 B 서버에서는 A 서버에서 온 DB변경 이력을 master info file 에서 확인 후, relay log 서버에 기입한다.
그 후, B 서버의 SQL thread 가 relay log info file 을 참조하여 A 서버와 같이 변경이력 내용들을 기입 및 동기화 한다.
B 서버의 Binary Log 파일은 A 서버와의 동기화가 끝난 후, 마지막 절차로 동기화 기입을 완료한다. - 실제 Replication 으로 구성된 Master 서버의 세션들을 확인해보면 위의 Dump Thread 는 Binlog Dump 로 항시 연결 중 임을 확인 할 수 있다.
- A (Master) 서버에서 클라이언트가 DB 변경을 수행한다.
-
- Slave 서버내의 세션들을 확인 하면 각각 I/O thread (waiting for ~) 및 SQL thread (Slave has ~) 가 연결 중 임을 확인 할 수 있다.
-
- master info file 을 열면 아래와 같이 동기화중인 binary log file 번호, job 번호, repl 동기화 시 사용하는 정보등을 확인 할 수 있다. (replication metadata)
- relay log file 은 binary log 파일 같이 이진화된 파일로 구성되어 있다.
- MySQL / MariaDB Replication 은 H.A 에서 MMM, MHA의 동기화 및 작동구조에도 응용된다.
- relay log file 은 binary log 파일 같이 이진화된 파일로 구성되어 있다.
반응형
'MySQL > Replication' 카테고리의 다른 글
MySQL / MariaDB Replication 구성 방법 (mysqldump) (0) | 2021.07.01 |
---|
Comments