2011-02-15 2 views
0

지금까지 "데이터베이스 서버"가 단일 PC로 만족했습니다.데이터베이스를 "배포"하는 방법은 무엇입니까?

로드가 너무 많아 져서 데이터베이스를 "배포해야"하는 것처럼 보입니다.

정확히 무엇이 수반됩니까? 여러 대의 서버에 어떻게 d/b를 분산시킬 수 있습니까? 그리고 사용자 쿼리 &이 어떻게 든 '실제'd/b 서버에로드를 분배하는 중간 서버가 필요합니까?

어떻게 작동합니까? 프로 d/b 쓰기? 읽기?

101 개의 웹 사이트 또는 책이 n00b입니까?

답변

1

에 의해 '고성능 MySQL의'체크 아웃. 인가 그것을

  • 읽기 성능
  • 쓰기 성능
  • 높은 트래픽 웹 사이트에서 사용

거의 접근.

  • 마스터/슬레이브 모델 사용. 하나 이상의 서버를 추가하고 마스터 데이터베이스에 대한 슬레이브로 만듭니다. 모든 쓰기는 마스터에서 수행됩니다. 읽기는 모든 슬레이브에서 수행 할 수 있습니다. 이것은 가장 간단한 방법 일 수 있습니다.

  • 샤딩. 조인이 필요없는 엔티티는 다른 데이터베이스 서버로 이동할 수 있습니다. 각 샤드는 자체 마스터 - 슬레이브 서버를 가질 수 있습니다.

    http://www.codefutures.com/database-sharding/

  • 클러스터링 - 서버 세트가 하나의 단위로서 작용 여기서 오라클 RAC는 MySQL의 NDB 클러스터링을 제공 할 수있다. 빨리 회신하지 않는

    http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-overview.html

+0

답장을 보내지 못한 것에 대한 나의 apolgies; 개인적인 문제. 아주 간단하지만 매우 효과적인 기술이 있습니다. 나는 "우리는 databasse가 너무 느리다는 느낌을 가지고있다"고 말했고 나는 그것을 분류해야한다고 들었다. databse 전문가가 아니며, 나는 아이디어를 찾고 있습니다. 첫째, 나는 데이터베이스 접근을 프로파일 링해야한다고 생각한다. 다시 한 번 감사드립니다 – Mawg

+1

데이터베이스가 복제를 지원하는 경우 먼저 가장 간단한 방법을 구현해야합니다. – Anoop

+0

+1 Thansk의 제안 (해당 MS 액세스) – Mawg

1

MySQL을 사용하는 경우 여러 서버에서 라운드 로빈 및로드 균형 조정을 처리하는 MySQL 프록시를 살펴볼 수 있습니다. 다른 많은 RDBMS에도이 기능이 있습니다.

로드를 분산시키는 또 다른 방법은 데이터베이스를 '파쇄'하는 것입니다. 즉, 여러 시스템에 레코드를 만들고, 어떤 시스템을 검색 할 지 식별/찾는 방법이 있습니다. 이것은 일반적인 관행입니다.

는 MySQL 서버의 경우 정확히 하나의 데이터베이스 병목 무엇 오라일리

+0

한 내 apolgies; 개인적인 문제. 불행히도 MS 액세스입니다. – Mawg

관련 문제