我有一個關于資料架構和資料庫的小問題。
我們有一個中央資料庫。它連接到一個 API。該資料庫與我們試圖將其分解為多個服務的單一應用程式相關聯。
我們有一個 API,我們將其稱為“Api1”。這個 API 將管理不同的資訊,包括省份。
我們還有另一個 API,我們稱之為“Api2”,它將像應用程式一樣管理資料。

這些應用程式在資料庫中鏈接到一個省。到目前為止,這個 Api2 將直接連接到與 Api1 相同的資料庫。我們要結束這種不是最優的做事方式。
那么,我們如何使用來自另一個資料庫的外鍵來保持這種連接以及這種參照完整性呢?我們應該將資訊從資料庫 1 復制到資料庫 2,還是應該斷開資料庫鏈接,并包含一個 HTTP 呼叫以從 API 更新此資訊,從而將“province_id”FK 欄位僅轉換為 INT?
我的問題有點復雜,但在我看來這個主題有點復雜,提前感謝您的回答!
克里斯托夫
uj5u.com熱心網友回復:
在這種情況下,沒有直接的方法來保持這種參照完整性。有多種選擇:-
- 只需洗掉參照完整性并將 id 保留為 INT 即可。如果我們不直接在 App2 中使用 App1 資料,我們可以選擇該選項。僅供參考。
- 復制資料。這里我們需要確保 App1 資料是 Source of Truth 并且 Replicate copy 是只讀的。
- 選項 1 和一項檢查 DB 是否包含有效資料的后端服務。
根據我的經驗,大多數情況下會使用選項 1,然后是選項 2,然后是 3。此外,復雜性級別也以相同的順序增加。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/390107.html
上一篇:型別錯誤:“員工”物件不可呼叫
下一篇:xray掃描器的簡單使用
