Replication을 조사하면서 여러가지 내용들을 알게 되었다...

MySQL Replication 이란?
  Master/Slave 서버를 각각 준비해 놓고 실시간으로 Master 데이터를 Slave로 동기화 하는 방법을 의미한다.

MySQL Replication 설계 구조
  - Master/Slaver
  - Master/Master

MySQL Replication 유용할 수 있는 내용
  - 부하 균형
  - 백업 및 복구

MySQL Replication을 왜 사용하는가?
  각자 역할 분담하여 부하 분산 효과를 가지기 위해 사용한다. Master 서버의 경우 INSERT, UPDATE, DELETE만 처리하고 Slave 서버는 SELECT 만 처리하도록 하여 분산 효과를 가질 수 있다. Master서버의 내용을 동기화로 모두 지니고 있는 Slave 서버는 서비스의 상황에 따라 단일 또는 다중으로 이루어질 수 있다.
  Master 서버가 동작 이상을 보였을 때 Slave 서버로 대체할 수 있는 잇점을 지니고 있다. 동기화만 제대로 되어 있다면 Slave 서버가 Master 서버로 변경하여 사용한다. 왜냐하면 Master 내용을 Slave가 모두 지니고 있기 때문이다.

DUMP와 Replication의 차이점
dump 기능은 실시간으로 데이터를 복사본으로 가지고 있을 수 없으므로 실시간으로 데이터 복원이 필요할 때 Replication 기능을 사용한다. 특정 시점으로 복원이 필요한 경우에는 dump를 사용도 유용하게 사용할 수 있다.
Replication에 사용하는 Log를 주기적으로 비워주지 않는다면 용랴으이 압박을 받을 수 있다는 사실도 명심해야 한다.
dump는 반대로 데이터의 누적으로 용량이 지속적으로 불어날 수 있다. 기간에 따라 용량의 압박을 받을 수도 있고 아닐 수도 있다.


마지막으로...
  Replication 도입은 대규모 회원이 존재하고 있는 가정으로 DB의 빠른 데이터 처리를 목적으로 보인다... DB의 경우 튜닝을 제대로 하지 않는 경우 DB 쿼리 밀림 현상이 발생되는 부분을 본적이 있다... 가장 많은 비중을 차지하는 부분을 별도로 떼어 놓고 중요한 write 기능을 수행할 수 있도록 하는 부분은 매력 있는것 같다... 아직은 미숙한 프로그래머이기에 정확히 어떻게 설계를 하는게 옳은지는 모르겠으나... 이 기능을 정확히 알고 활용하면 보다 효율적인 서버와 DB의 관계를 만들어 낼 수 있을 것 같다는 생각은 든다...

'Databases > MYSQL' 카테고리의 다른 글

mysql - my.cnf 설정할 때 참고  (0) 2012.02.23
mysql - HeidiSQL Tool 소개  (0) 2012.01.20
mysql - 덤프하기 (mysqldump)  (0) 2011.10.07
mysql - telnet으로 사용하기  (0) 2011.08.24
mysql - 날짜와 관련된 함수 정보 정리  (0) 2011.08.24

+ Recent posts