1. DB 복제
2대 이상의 DBMS를 나눠서 데이터를 저장하는 방식
(master - slave, master - master, 다중 slave 방식... etc)
2. Replication을 하는 이유?
- 실시간 데이터 백업이 가능하다.
- DB 서버 부하 분산이 가능하다.
(master에서는 주로 삽입, 삭제, 수정을, slave에서는 주로 조회)
3. master와 slave의 역할
- master
데이터에 대한 변경(등록, 수정, 삭제) event 발생시 binary logs에 기록하고 slave 서버에 전달한다.
master는 slave에 대한 정보를 전혀 모른다(몇 개의 slave가 있는지 등)
- slave
master에서 전달받은 binarylog를 읽어 DB에 반영한다.
4. Replication 동작 과정
DB 이용자는 insert, update, delete 등으로 데이터 변경을 요청
-> Master는 Binary Log에 변경사항을 기록한다.
-> Connection thread는 스토리지 엔진에게 Commit을 수행한다.
-> Slave가 I/O thread를 통해 Master에게 Event 요청 시 Master의 Binary log dump thread(Master thread)를 통해 Binary log를 전송한다.
-> Slave는 전송받은 파일을 Relay Log에 기록한다.
-> Slaves는 SQL thread를 통해 스토리지 엔진에 변경 사항을 기록한다.
'DATABASE(SQL)' 카테고리의 다른 글
Oracle (0) | 2022.12.19 |
---|---|
Oracle (+)의 의미 (0) | 2022.12.07 |
Oracle SID, Database Name, Service Name (0) | 2022.08.12 |
마리아 DB 2 - RECURSIVE (0) | 2022.05.20 |
sequence 관련 (0) | 2021.12.29 |