1

我正在構建一個複雜的平臺,並且我想爲它的每個「模塊」都有一個專用的數據庫。但我需要有一個「主」數據庫,它有一些像users表一樣的通用表。我需要能夠在多個數據庫中的表之間擁有外鍵。 (如user_id)多個數據庫中的表之間的關係

我知道我可以跨數據庫關係,如果數據庫是在同一個服務器,他們現在,但我不想被限制,因爲如果應用程序增長很多,我可能需要將數據庫分成多個服務器。

因此,我正在尋找我的所有選擇,然後再作出我的決定。

你對此有什麼要求?

我正在使用mysql。

+1

rkosegi,不,它不是。這個問題是針對SQL服務器的。 –

回答

4

您可以使用FEDERATED storage engine來做到這一點。你所做的是使用FEDERATED引擎創建一個本地表,然後它將連接到遠程系統來解析查詢。不過,我不知道這個表現。


更好的方法可能是重新考慮應用程序數據模型。我可以理解爲什麼你想爲複雜系統中的每個模塊分別設置不同的數據庫,但當你想共享一些表數據時會變得很困難。如果您在一個模塊中強制執行的數據中引入了一些限制,而在另一個模塊中則沒有這些限制,那麼維護會更加困難。

我認爲解決方案是分開關注數據。讓每個模塊都有自己的數據庫,但不要讓模塊查詢其他數據!如果模塊需要關於用戶的數據,請讓它通過user模塊獲取。

+0

我將檢查聯合表。 – brpaz

相關問題