다양한 조직 (현재 약 20 명의 클라이언트)에 대한 정보를 저장하는이 웹 응용 프로그램 (php & mysql)을 만들었습니다.
현재 시나리오는 클라이언트 관련 정보를 개별 데이터베이스에 저장하므로 20 개의 클라이언트 데이터베이스와 1 개의 마스터 데이터베이스가 있습니다.
여기서 주요 장점 중 하나는 각 클라이언트 DB가 분리 될 때 클라이언트 아티팩트 (보고서, 감사)의 번호가 매겨지는 것입니다. 고객에게 보안 느낌을줍니다.
각 DB에는 약 15 개의 테이블이 있으며 테이블에서 가장 많은 행은 약 2000 개입니다. 최대 5000 개의 레코드까지 충돌 할 것으로 예상됩니다.
단일 DB 수준 변경을 관리한다는 것은 20 개의 데이터베이스를 변경하는 것을 의미하지만 드물게 변경해야 할 경우 단일 함수 호출에서이를 수행하는 스크립트를 사용합니다.
우리는 공유 호스팅 계약을 맺고 있으며 ISP는 제한된 번호를 제공합니다. 데이터베이스 그리고 이것이 데이터베이스 중앙화 측면에서 생각하게하는 이유입니다. 모든 클라이언트 데이터를 마스터 데이터베이스에 저장할 수 있습니다.
물론 몇 가지 중요한 문제는 다음과 같습니다.
ㅏ. 이슈 시퀀스 유지 (추가 참조 키를 생성하여 해결할 수 있음) b. 속도 및 성능 (이 경우 속도를 높이기 위해 인덱스를 만들 수 있음) c. 보안 : 클라이언트 정보를 가져 오는 각 쿼리로 관리됩니다. 또한 client_id를 추적합니다
앞으로 한 조직의 데이터 집합을 다른 조직과 비교하는 것을 고려해야 할 수도 있지만 중앙 집중식 DB에서도 달성 할 수 있다고 생각합니다. 성능 및 유지 관리상의 이유로 중앙 집중식 데이터베이스로 이동하려는 경향이 있습니다.
중앙 데이터베이스로 이동하는 것이 개별 데이터베이스에있는 그대로 유지하는 것보다 더 의미가 있다고 생각하십니까?
조언 해 주셔서 감사합니다.