2013-08-19 16 views
0

在最近使用PHP進行的練習中,我遇到了一個共享服務器。具有相同模式的多個數據庫可與單個應用程序一起使用

而且,Web主機爲每個MySQL數據庫提供有限的存儲空間(比如1GB)。在這種情況下,我的應用程序將處理10k +用戶和大量特定於站點的數據,並且每個數據庫可以存儲多達1 GB(在這種情況下),但是我可以添加無限數據庫,1 GB存儲容量。

那麼有沒有什麼辦法,如果我的MySQL數據庫大小達到最大允許存儲容量,並且我添加更多的數據庫,我可以將加載/查詢/數據傳輸到該添加的數據庫,並且可以執行查詢數據庫?

或從頭開始,我可以添加兩個或多個數據庫具有相同的架構,所以我可以執行他們兩個的搜索查詢和檢索數據?

DB1 TBL1 TBL2 TBL3
DB2 TBL1 TBL2 TBL3

USER1'S信息都存儲在DB1
USER2000'S信息都存儲在DB2

+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(如果它們使用相同的憑證),也可以進行搜索。 –

相關問題