我有一個包含「模塊」的大型應用程序,如Finance
,HR
,Sales
,Customer Service
。存儲過程的位置是否影響其性能?
爲了使應用程序易於管理並分配負載,我決定在每臺服務器上爲每個模塊提供自己的數據庫。還會有一個用於存儲主要信息的數據庫,例如有關用戶的信息,一些全局查詢表和一些安全性內容。
我現在正在嘗試決定是否將模塊特定的存儲過程放置在其相應的數據庫中,還是將它們全部保存在Master
數據庫中。例如,存在名爲dbo.sales_customer_orders
的存儲過程,該存儲過程僅從Sales
數據庫表中選擇數據。當然這個SP將會被用戶執行很多次。因此,它應該在Sales
數據庫中,還是在性能/可伸縮性/可靠性/安全性方面保留在Master
數據庫中可以。
存儲過程駐留在與其選擇的數據庫不同的數據庫中嗎?
在將它們放入不同的數據庫之前,您是否考慮過每個模塊的獨立模式? – 2015-03-31 22:10:38
是的,我認爲是一個單獨的模式,但它意味着在1個數據庫中的所有模塊。它是一個多租戶應用程序,所以我不能冒險爲每個人和每個人都擁有一個單一的數據庫。隨着更多用戶添加到系統中,它會崩潰,所以我決定按應用程序區域(即模塊)「垂直分區」。這裏有更多的信息(看看方法5)\t http://blog.techcello.com/2012/07/database-sharding-scaling-data-in-a-multi-tenant-environment/ – 2015-03-31 22:12:52