2013-08-19 1 views
0

최근에 PHP로 운동을하면서 공유 서버를 발견했습니다.하나의 응용 프로그램에서 사용할 동일한 스키마의 다중 데이터베이스

그리고 웹 호스트는 MySQL 데이터베이스 당 제한된 저장 용량 (예 : 1GB)을 제공합니다.

이 경우 내 응용 프로그램은 10k + 사용자 및 많은 사이트 특정 데이터를 처리 할 것이며 각 데이터베이스는 최대 1GB까지 저장할 수 있지만이 경우 1GB의 저장 용량을 가진 무제한 데이터베이스를 추가 할 수 있습니다. .

내 MySQL 데이터베이스 크기가 허용되는 최대 저장 공간에 도달하고 더 많은 데이터베이스를 추가하는 경우 추가 된 데이터베이스에 load/query/data를 전송할 수 있으며 두 가지 모두에서 검색과 같은 쿼리를 수행 할 수있는 방법이 있습니다. 데이터베이스?

또는 처음부터 동일한 스키마가있는 둘 이상의 데이터베이스를 추가 할 수 있으므로 둘 다에서 검색 쿼리를 수행하고 데이터를 검색 할 수 있습니까?

DB1 TBL1 TBL2 TBL3
DB2 TBL1 TBL2 TBL3
USER2000 'S 정보가 DB2에 저장된 USER1 'S 정보가 DB1에 저장됩니다

+0

기술적으로는 동일한 스키마로 데이터베이스를 많이 생성 한 다음 사용자 목록을 저장하는 또 다른 데이터베이스를 만들 수 있지만 많은 데이터베이스가 있습니다. 더 큰 데이터베이스를 허용하는 다른 호스트를 찾으십시오. –

답변

0

처음부터 얼마나 많은 데이터가 테이블에 있는지 알면 매우 쉽습니다. 데이터를 분할 (예 : id 또는 테이블)하고 응용 프로그램에서 모든 데이터베이스 세부 정보를 가져와 데이터를 가져올 위치를 결정해야합니다. 적어도 25 %의 예비비를 고려해야합니다.

예 :

database 1: table users, comments with ids 1-200.000 
database 2: table posts with ids 1-10.000 
database 3: table users, comments with ids 200.000-400.000 
... 

당신은 ID가 저장 될 당 각 다른 데이터를 보유 여러 데이터베이스의 처리로 데이터베이스 당 더 많은 스토리지를 허용하는 호스트에 대한 선택해야 얼마나 많은 데이터를 알 수없는 경우 세트는 끔찍할 것이다.

+0

코멘트를 검색하고 싶다면 어색 할 것입니다. –

+0

사용 방법에 따라 다릅니다. 게시물 woul의 의견을 표시하는 것은 문제가되지 않습니다. 또한 동일한 자격 증명을 사용하는 경우 데이터베이스간에 UNION을 사용하여 검색 할 수도 있습니다. –

관련 문제