我們有以下問題。我們的企業應用程序在MySQL中有一個數據庫,看起來它的結構變得太複雜 - 超過100個表(它已經開發了7年)。數據庫功能分解模式?
但是,大多數表與其他表完全沒有任何關係。每個人都使用一些常用的表格(字典)(大約有20個這樣的表格),但僅此而已。問題出現在如何使這個數據庫更快,更可靠。
我讀了很多關於數據庫分解的知識。也就是說,您將與不同數據庫中的不同域相關的表。例如,與運單和其他紙張相關的任何內容都放在名爲紙張的數據庫中,而與客戶及其訂單相關的任何內容均放置在名爲「客戶」等數據庫中。
在這裏,我們有兩個問題:
- 用戶應該看到企業應用程序,作用於單個域。開發人員必須以某種方式更改與數據庫一起工作的核心,以便它可以處理多個數據庫。
- 常見的表格會產生問題。它們必須保存在單個數據庫中,並且在分解後不能在所有數據庫中複製。因此,我們如何進行查詢SELECT * FROM A JOIN B,A和B在不同的數據庫中(在不同的服務器上)?
這兩個問題實際上解決了同樣的問題 - 是否有任何常見的企業模式(如GoF)來解決這個問題?我對適用於Java EE的模式特別感興趣。