問題:物理數據分離
比方說,我們有5個客戶端。目前,每個客戶端都擁有自己的數據庫副本。這是因爲有數百萬行,我們不希望加載一個客戶端的數據庫來干擾另一個客戶端數據庫的性能。
這不是一個最佳的設計,因爲:
- 管理爲每個客戶單獨的連接不靈活,
- 變化需要跨多個數據庫進行傳播,並
- 一個新的數據庫需要爲每個新客戶創建。
問:
是否有可能包括所有的數據到一個數據庫中,但有某種形式的客戶端數據之間的物理隔離,以便它也執行具有幾個數據庫?
這種隔離不是在表(或模式)級別,而是在行級別。例如,我不希望每個客戶端都有單獨的Employee
表(如Employee_ClientA
,Employee_ClientB
,Employee_ClientC
),而是一個Employee
表和ClientID
外鍵。這意味着表格中的數據需要物理分離。
將這些表分區到單獨的物理硬盤上的文件組是否有意義? – davenewza
這個*可能*爲OP,誰在談論5個客戶。但是這種分區技術是一種奇特的用途,它被設計用於擴展,而不是作爲多租戶架構的核心結構組件。在更一般的情況下這是不實際的。不支持x86硬件上超過1000個分區,默認限制是15000個分區(在具有16個RAM的服務器上)。 –