2012-01-19 66 views
0

目前在我的一個項目中,我們支持32k個實體,但它已經達到了性能極限,因此我們正在考慮根據它們的整數主鍵將它分發到不同的數據庫。例如。第一個35k將轉到一個數據庫,下一個35k轉到下一個數據庫等等(基於(主鍵%#db)邏輯)。基於主鍵的數據分配

但是,當我們將一個實體插入到數據庫中時,會出現問題。由於我們事先並不知道它的主鍵值,所以我們如何確定將哪個數據庫插入它?

一種可能性是僅在一個數據庫中維護全局id表。所以我們首先插入它,獲取主鍵值,然後使用它來選擇一個數據庫進一步詳細插入。但是這個解決方案並不統一,因此難以維護和擴展。那麼關於如何去解決它的其他想法呢?

+0

32K條目和性能問題:O型 - 什麼數據庫您使用的?你能確定它不是你的設計與數據庫,這是問題嗎? –

+0

其實DB現在不是瓶頸,而是中間層。我們需要在2小時內處理條目,平均處理條目需要幾秒鐘。所以我們需要擴大中間層。但是,一旦我們擴大規模,數據庫可能無法跟上增長的數量,因此提前思考... – shrini1000

回答