mysql 리플리케이션 방법으로 해서 쿼리를 분활을 하는 방법좀 알려주셨으면 합니다..
이 방법은 어떤식으로 해야하나요?
기술적인 자문 부탁합니다.
간단하게 읽기/쓰기용 데이터베이스를 나누어서 구성할 수 있습니다.
마스터는 쓰기만, 슬레이브는 읽기만을 담당하도록 할 수 있구요, 또는 불가피하게 오래 걸리는 쿼리들만 슬레이브로 보내서 부하를 분산시킬 수도 있습니다.
일단 무작정 리플리케이션 구성하시는 것 보다, 아래 레퍼런스를 보시는게 좋겠습니다.
http://dev.mysql.com/doc/refman/5.0/en/replication-configuration.html
그리고 리플리케이션만이 정답이 아니라, 정말 high concurrency를 요하는 문제라면, 아래 질문에도 성원님과 제가 댓글 달았던 것 처럼 쿼리 튜닝과 lock level에 맞춘 올바른 테이블 엔진 선택부터 다시 생각해봐야 합니다. 정 필요하시다면 NDB까지 가야겠지요.
네.감사합니다
그럼 쓰기만 하는 마스터 DB서버하고 , 읽기만 하는 슬레이브 서버를 분활을 할려면
웹프로그램에서 DB접속할떄의 구문에서 읽기할떄 슬레이브 서버 아이피로
쓰기할떄는 마스터서버 아이피로 접근하는 씩으로 소스에서 해줘야 하는것인가요?
네, 말씀하신 그대로입니다.
부하를 분산할순 있겠지만 어짜피 리플리 구성하셔도 이런증상 나타날듯 합니다.
쿼리 튜닝 혹은 innodb , ndb 엔진 선택이 먼저 시도해봐야 될것 같네요