개발 Q&A

제목 MySQL 리플리케이션시 질문 입니다.
글쓴이 방문넷 작성시각 2013/08/26 22:28:20
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 14834   RSS
 서버 구성은

프록시서버 (Nginx) 1대
웹서버(아파치) 1대
마스터 디비서버(1) 1대
마스터 디비서버(2) 1대


이렇게 서버가 구성되어있습니다.

코딩하면서 궁금증이 생겼는데요

마스터 디비서버 2대를 현재 마스터,마스터 리플리케이션으로 묶어놨습니다.

만약에 관리자 프로그램을 짠다고 가정하에

10만 데이터가 있는 A테이블이 있다 가정하고

select 시 마스터 디비서버(2)에서 데이터를 가져오고
insert나 update 시 마스터 디비서버(1)에서 데이터 입력을 하면 

서버 부하를 좀 줄일수있는지 궁금합니다.

그리고 디비 부하 분산쪽으로 한번 셋팅 해보신분있음 셋팅 후기좀 듣고싶습니다. 감사합니다.

 다음글 인코딩 문제 질문입니다. (3)
 이전글 워드프레스 로그인 페이지 사용하는 방법없나요? (1)

댓글

방문넷 / 2013/08/26 22:29:24 / 추천 0
 아참 참고로 저는 제 개발환경에서 리플리케이션 작업을 하는중인 상태입니다(맥북 프로 메인개발, 맥북에어 보조개발 2대로 동기화해서 개발중입니다.)
변종원(웅파) / 2013/08/27 05:49:33 / 추천 0
말씀하신 구조에 마스터-마스터 구조까지 필요없습니다. 마스터-슬레이브로 하고 마스터에 insert, update, delete하고 슬레이브에서 select 하면 됩니다. 데이터가 많다면 슬레이브를 여러개 잡고 사용할 수도 있습니다.
들국화 / 2013/08/27 10:05:59 / 추천 0
웅파님 말씀대로 데이타 수정을 가하는 서버가 마스터 입니다. 셀렉트만 하려면 슬레이브로 두는게 맞습니다.

더블 마스터 구조로 가게되면 에러를 일으킬 가능성이 더 커집니다.

구성보다는 개발자 입장에서는 해당 DB Architecture를 공부하는게 더 도움이 될거 같네요.
변종원(웅파) / 2013/08/27 10:45:01 / 추천 0
kt cloud 2core, 8G 메모리 서버를 마스터로, 2core, 4G 메모리 서버를 슬레이브로 하여
슬레이브는 백업 및 리포트 생산용으로 사용하고 마스터에서 모든 crud가 일어나는데
하루 평균 50만, 많을 때는 100만 로우 이상없이 입출력중입니다.(광고시스템)

누적된 로그데이터로 리포트를 생산하는데 양이 너무 많으면 서버 부하가 커서 1시간에 한번 리포트를
생산합니다. 그리고 매일 innodb 핫백업으로 증분백업을 하고 서버에는 1주일치 데이터만 남겨놓습니다.

물론 살짝 mysql 튜닝한 상태입니다. (dba가 아니라서 검색과 책 참고 해서 신중하게 적용했습니다.)
방문넷 / 2013/08/27 13:37:38 / 추천 0
 변종원 // 음 그렇군용.. 제가 구성한건 하루평균 입출력이 100만건이 넘습니다.. 실서비스 들어가는건 섣불리 작업은 못하겠고 덤프 뜬걸로 모의 서버에서 연습중이었거든용... 정보감사합니다.

들국화 // 넵 감사합니다!  함 공부해보겟습니다 ^^