티스토리 뷰
MySQL Replication은 여러모로 장점이 있다.
Replication이 완벽한건 아니지만 다음과 같은 문제에 대해서 상당히 유용할 수 있다.
1.Data distribution
2.Load balancing
3.Backup and recovery
4.High availability and failover
Load balancing을 예로 들자면
큰 규모의 데이터웨어하우징 어플리케이션이나 대용량 세션이 필요한 사이트에서는 많은 쿼리가 발생하는데 SELECT 쿼리가 INSERT,UPDATE,DELETE 보다 많은 빈도수를 가지고 있다.
이러한 경우 MySQL Replication 을 이용하면 데이터쿼리의 부하분산의 효과을 가질 수 있다.
보통 MySQL의 마스터서버와 슬레이브 서버로 구성하여 슬레이브 서버는 단일 또는 다중서버로 구성하고 마스터서버는 SELECT,INSERT,UPDATE,DELETE를 사용하고 슬레이브 서버는 SELECT를
처리하도록 구성한다.
MySQL Replication 구성은 위와 같은 구성이외에 다음과 같은 구성도 있다.
1. Dual master
2. Dual master replication with slaves
3. A replication ring or multi-master replication topology
4. A replication ring width slaves at each site
5. Using a pyramid of MySQL servers to distribute data
6. Design your own
Replication으로 구성된 슬레이브서버의 Performance 이슈는 가지고 있다. 가령 마스터서버와 같은 write 쿼리의 실행이 발생한다.
많은 write 쿼리가 발생하는 어플리케이션이 구동될 경우 마스터서버와 같은 강력한 서버가 필요할 수 있다.
많은 write 쿼리가 발생하는 어플리케이션이 구동될 경우 마스터서버와 같은 강력한 서버가 필요할 수 있다.
동일한 데이터베이스를 슬레이브로 가지고 있고 로드밸런싱을 처리하려고 한다면 round-robin DNS를 사용하거나 hostname에 대해서 multiple IP address 를 구성하는 방법이 있다.
Backup and recovery도 Replication을 이용하면 현업에서 상당한 효과를 맛볼 수 있다.
24시간 실시간 백업을 원하는 경우 Replication을 사용하여 데이터를 실서비스를 하지않는 슬레이브로 구성된 서버에 복제를 하고 마스터서버가 갑자기 문제가 발생했을 경우 슬레이브 서버로 커넥션을
물려 다운타임을 적게 가져갈 수 있다.
다만, 슬레이브서버에 데이터 변경이 이루어지면 마스터서버가 복구완료했을 경우 마스터서버로 데이터를 이관해야 하는 작업은 필요하다. 또는 슬레이브와 마스터서버의 역활을 바꿔 사용하면 큰 문제는 없을것이다. 그전에 확인해봐야 할 상황은 마스터서버와 슬레이브 서버와의 데이터 싱크에 있어 완전한 guarantee가 보장되는것이 아니기 때문에 마스터서버와 슬레이브서버의 데이터 차이를 슬레이브 서버로 커넥션을 물려 데이터 갱신이 이루어지기 전에 확인해 봐야 한다.
'MySQL' 카테고리의 다른 글
MySQL SHOW Commands (0) | 2016.01.26 |
---|---|
MySQL Replication 서버설정 (0) | 2016.01.26 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크