Database Replication
- 두 개 이상의 DBMS 시스템을 Master / Slave 로 나눠서 동일한 데이터를 저장하는 방식
기존방식
단순한 Database를 구성할때 하나의 어플리케이션 서버와 하나의 Database를 구성하여 모든 Query를 보낸다.
Replication 방식
- 두 개 이상의 DBMS 시스템을 Master / Slave로 나누어 동일한 데이터를 저장하는 방식
- Master DBMS의 데이터를 Slave DBMS가 데이터를 로그기반복제(바이너리로그:Binary log)형태로 복사해 간다.
Master DBMS 역할
- 웹서버로 부터 데이터 등록/수정/삭제 요청시 바이너리로그(Binarylog)를 생성하여 Slave 서버로 전달
Slave DBMS 역할
- Master DBMS로 부터 전달받은 바이너리로그를 데이터로 반영하게 됨
Replication 목적
- 데이터의 백업
- DBMS의 부하 분산
Replication 장점
- 요청하는 Query가 대부분 Select명령어인데, Master에서 Select을 수행하지 않고, Slave에서 수행하기 때문에 DBMS의 부하를 분산시킨다.
- 따라서 Select(READ) 성능을 향상 시킬 수 있다.
Replication 주의 사항(MySQL)
- 호환성을 위해 Replication을 사용하는 MySQL의 동일하게 맞추는 것이 좋음
- Replication을 사용하기에 MySQL 버전이 다른 경우 Slave 서버가 상위 버전이여야함
- Replication을 가동시에 Master 서버, Slave 서버 순으로 가동 시켜야함
참고