비교적 작은 데이터베이스로 작업하고 있습니다. 총 67 개의 테이블과 100 만 개가 넘는 레코드가 있습니다. 그것은 약 254 MB입니다. 이 소프트웨어와 함께 작동하는 응용 프로그램은 약 5 년간 실행되었으며 사용량은 매년 두 배로 증가했습니다. 올해 우리는 3 배가 될 것으로 예상되는데, 이는 어느 정도 규모의 데이터베이스를 거의 두 배로 늘릴 것입니다. 제 질문은, 데이터베이스를 여러 데이터베이스로 분할하는 것은 나쁜 생각입니까? 300 개의 클라이언트가 있다고 가정하면 67 개의 테이블을 포함하는 300 개의 개별 데이터베이스를 만들지 만 해당 클라이언트에 관련된 데이터 만 만듭니다. 다른 서버에서 수행 할 수있는 내부 통계 외에 데이터가 함께 존재해야하는 이유는별로 없습니다. 평생 동안 10,000 명이 넘는 고객이되어서는 안됩니다.클라이언트 당 mysql 데이터베이스 분할하기
문제는 우리가 "마스터 데이터베이스"스키마를 변경해야이
는 또한 복제가 도전이 될 것
은 "슬레이브 데이터베이스"모든 전반에 걸쳐 변화를 복제해야 할 때이 설정 인 참조 새로운 클라이언트가 추가 될 때.코드 수준의 응용 프로그램은이 유형의 설정에 대해 거의 설정되어 있습니다.
누락 된 항목이 있습니까? 이것은 끔찍한 생각입니까?
데이터베이스는 미래를 염두에 두지 않고 서둘러 (날이 아닌) 만들어졌으며 이제는 내 책임입니다.
정규화, 필드 유형 감사, SQL 최적화, 색인 작성 및 서버 조정까지 수행해야 할 작업이 많습니다. 모든 의견은 크게 감사하겠습니다.
그것은 웹 응용 프로그램입니다. 그런 다음 테스트 클라이언트에 변경 사항이 적용된 다음 전개됩니다. – rizzo0917
맞습니다.하지만 웹 응용 프로그램의 인스턴스가 하나만 있습니다. 맞습니까? 하나의 웹 사이트 만이 모든 데이터에 액세스한다는 것을 의미합니다. (각 클라이언트마다 다른 웹 사이트를 만드는 대신) ... – ircmaxell