본문 바로가기

리눅스

DBMS 이중화 - MySQL Replication 개념

반응형

 

1. MySQL Replication란?

 

 리플리케이션(Replication)은 복제를 뜻하며 2대 이상의 DBMS를 나눠서 데이터를 저장하는 방식이며, 사용하기 위한 최소 구성은 Master / Slave 구성을 하여야 한다.

 

- Master DBMS 역할 

  웹서버로 부터 데이터 등록/수정/삭제 요청시 바이너리로그(Binarylog)를 생성하여 Slave 서버로 전달하게 된다

  (웹서버로 부터 요청한 데이터 등록/수정/삭제 기능을 하는 DBMS로 많이 사용된다)

 

 - Slave DBMS 역할 

   Master DBMS로 부터 전달받은 바이너리로그(Binarylog)를 데이터로 반영하게 된다

   (웹서버로 부터 요청을 통해 데이터를 불러오는 DBMS로 많이 사용된다)

 

 

2. MySQL Replication 사용목적

 

1) 데이터 백업

 Master 서버를 데이터의 원본서버, Slave서버를 백업서버로 지칭할 때 

먼저 Master 서버에 DBMS의 등록/수정/업데이터가 생기는 즉시 Slave 서버의 변경된 데이터를 전달하게 된다

이러한 과정으로 데이터의 백업을 할수 있으며, 또한 Master 서버의 장애가 생겼을 경우 Slave 서버로 변경하여 사용할수 있다.

 

 

2) DBMS의 부하 분산 

  사용자의 폭주로 인해 1대의 DB서버로 감당할수 없을때, MySQL 리플리케이션(Replication)을 이용하여 같은 DB 데이터를 여러대를 만들수 있기에 부하를 분산할수 있다

 

  Master 서버를 등록/수정/삭제를 사용하는 서버로 사용하고, Slave 서버를 데이터를 읽는용도로 사용하게 되면 DBMS의 부하를 분산하는 용도로 사용할 수 있게 된다

 

 

3. MySQL Replication 주의사항

1) 호환성을 위해 Replication을 사용하는 MySQL의 동일하게 맞추는것이 좋다

2) Replication을 사용하기에 MySQL 버전이 다른 경우 Slave 서버가 상위 버전 이여야 한다

3) Replication을 가동시에 Master 서버, Slave 순으로 가동시켜야 한다