MYSQL 트래픽 분산을 위한 여러 TABLE 생성

MYSQL 트래픽 분산을 위한 여러 TABLE 생성

QA

MYSQL 트래픽 분산을 위한 여러 TABLE 생성

본문

회원번호에 따라 

1번 - 1000번 회원은 1번테이블

1001번-2000번 회원은 2번테이블

.....

이런식으로 회원마다 구조가 동일한 다른 테이블을

사용하게 해서

트래픽을 분산시키는 설계도 좋은 설계인가요

이 질문에 댓글 쓰기 :

답변 4

동일한 구조의 테이블을 여러개 만들어두는것은 효율을 떨어뜨립니다.

 

예를 들어 전체회원수조회 또는 유의미한 가입자조회, 탈퇴회원조회

라는 조건이 등장만해도 퍼포먼스는 최악이 되죠

 

님의 답변처럼

서버를 분리해서 관리하는게 답입니다.

 

테이블을 분리하는것은 데이타의 종류에 따라 분리를 하는것이지

동일 의미의 데이타를 여러군데분산하는것은

백업용이 아닌바엔 지양해야 합니다.

 

서버를 분리하는것중 클러스터링으로 묶어서 장애를 방지하기 위해서

https://www.google.com/search?q=mysql+%EB%A6%AC%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98

으로 검색해서 원하는 자료를 찾는게 낫습니다.

 

테이블을 분리해서 설계하는것은

테이블 정규화 로 찾아보세요

https://www.google.com/search?q=%ED%85%8C%EC%9D%B4%EB%B8%94+%EC%A0%95%EA%B7%9C%ED%99%94

 

설계적측면과 인프라적측면이 방향성이나 방법이 전혀 다르니 참고하세요

수백만 회원이 아닌이상

db속도 저하를 유저가 체감하기 힘듭니다.

1000개의 행 정도는 0.0001초도 체감안됩니다.

추가적으로 설명을 드리자면
트래픽을 분산 시키고 싶다면
db자체를 분리를 해야합니다.
mysql의 db가 1개의 서버안에있고
결국 테이블이 수백 수천개가 나눠져있다고한들
그 것을 실행하는 db는 1개의 db에서 처리를 하기때문에
해당 방법으로는 트래픽 분산의 의미가 없습니다.

예를들어 DB자체의 데이터가 싱크가 된다고 가정했을때에
10개의 DB자체를 10개의 서버에 각각 넣어두고
접속을 시도했을때 A, B, C등 여유가있는 DB로 붙여주는게 트래픽을 분산하는 방법입니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,123 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT