2011-08-03 3 views
0

사용자가 로그인하여 사용하는 웹 사이트가 있다고 가정 해 보겠습니다. 각 사용자는 단일 데이터베이스 테이블에 정보를 추가하고 제거하는 페이지에 액세스합니다. 데이터를보고 액세스 할 수 있습니다. 꽤 직설적 인.db 테이블을 분할하여로드 균형을 조정 하시겠습니까?

이제 웹 사이트가 매우 인기 있다고 가정 해 보겠습니다. 더 많은 사용자 + 더 많은 데이터 = 많은 레코드가있는 매우 큰 테이블.

그럼 내가로드 균형 조정을하는 것이 더 나은 이유는 모든 사람이 유사한 데이터를 추가하는 대신 하나의 테이블을 가지고 있기 때문입니다. 여러 개의 비슷한 테이블이 있고 사용자가 설정된 수와 공유되는 테이블에 할당됩니다. 사용자.

1000 명의 사용자가 하나의 큰 테이블을 선택하고 업데이트하는 대신 10 명의 사용자가 액세스하는 100 개의 테이블이있을 수 있습니다.

로드 밸런싱을 향상시키는 데이터베이스 구성 전략의 일종이 궁금합니다. 아니면 같은 양의 부하가 발생합니까? 이것은 일반적인 전략인가요? 그렇다면 거기에 이름이 있습니까?

죄송합니다. ServerFault에 게시했습니다. 마이그레이션하십시오.

+0

이 질문은 논점을 벗어났습니다 (시스템 관리 질문이 아니라 프로그래밍 질문이 아니라 http://serverfault.com에 속함). StackExchange 사이트에서 질문을 할 수는 없습니다 (의견을 구하는 질문, 논쟁 또는 연장 토론은 '건설적이지 않은'이유로 종결되어야한다). 그렇다고해서 SE의 Q & A 형식 및 특정 프로그래밍 관련 질문에 대한 정답을 저장할 수있는 저장소의 목표에 부합하지 않는 질문은 유효하지 않습니다. 여기에서 물어볼 수 있습니다. –

+0

우선 제가 어제 밤 SF에 게시했을 때 SF에 로그인했다고 생각했습니다. 그것이 그렇게했다는 것을 깨닫지 못했습니다. 둘째, 어떻게 건설적인 질문이 아닌가? 잠재적 인 데이터베이스로드 균형 조정 솔루션의 유효성 또는 유효성에 대한 질문입니다. 다른 사람의 의견이나 주관적 대답을 묻는 질문이 아닙니다 ... –

답변

1

만약 당신이 데이터베이스 관련 병목 현상으로 실행 할 때 활성 데이터 세트의 크기가 서버에 RAM의 양 이상으로 증가 할 때, 그것은 수 있습니다. 이 시점에서 동일한 서버 내에서 테이블을 분할해도 아무 것도 사지 않을 것입니다. 디스크 입출력이 RAM보다 느리다는 사실을 바꾸기 위해 아무 것도하지 않습니다. RAM을 업그레이드하거나 가능한 많은 작업을 완료하면 여러 서버에서 데이터를 샤딩 할 수 있습니다.

관련 문제