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
'MySQL' 카테고리의 다른 글
(SQL) SELECT 결과 INSERT 하기 (0) | 2023.02.27 |
---|---|
[MYSQL] 격자행 내보내기 (0) | 2023.01.10 |
MYSQL 테이블 생성 및 삭제(DELETE, DROP, TRUNCATE 차이점) (0) | 2023.01.09 |
HeidiSQL 사용자 추가 (0) | 2023.01.07 |
MariaDB 계정 생성, 데이터베이스 생성 (0) | 2023.01.03 |