分布式專案不用外來鍵的原因

2021-10-13 23:59:11 字數 325 閱讀 2310

1.效能影響

大型網際網路專案或者分布式專案,進行更新操作時,會在影響資料庫效能

2.熱更新

如果資料庫存在外來鍵,會導致新更新上去的**無法執行,可能產生衝突,需要重新啟動專案

3.降低耦合度

刪除外來鍵是指物理上刪除外來鍵,但是邏輯上還是存在外來鍵的,這樣就降低了表與表之間的耦合度(舉個例子:使用者表與使用者訂單表,使用者訂單表是有user_id欄位,要查詢使用者訂單,要通過user_id,這個user_id欄位還是存在的)

4. 資料庫分庫分表

導致分庫分表難以實現,舉個例子,使用者表和訂單表有個外來鍵關聯,做分庫操作,卻有外來鍵關聯,就難以實現分庫

AppBoxFuture 七 分布式外來鍵約束

關聯式資料庫與nosql其中的乙個主要區別是具備完整的外來鍵約束,雖說現在一些大廠在設計資料儲存結構時禁止使用外來鍵約束,靠業務邏輯來保證資料完整性,但考慮到是人就會犯錯,為了保證關鍵業務資料的完整性,所以作者還是決定在儲存引擎層面實現外來鍵約束功能。由於儲存引擎是分布式的,所以引用者與被引用者可能...

分布式專案架構

根據業務需求進行拆分成n個子系統,多個子系統相互協作才能完成業務流程子系統之間通訊使用rpc遠端通訊技術。優點 1.把模組拆分,使用介面通訊,降低模組之間的耦合度。2.把專案拆分成若干個子專案,不同的團隊負責不同的子專案。3.增加功能時只需要再增加乙個子專案,呼叫其它系統的介面就可以。4.可以靈活的...

分布式 分布式系統的設計

在計算機領域,當單機效能達到瓶頸時,一般有兩種方式解決效能問題 而分布式系統的設計說白了就是 如何合理將乙個系統拆分成多個子系統部署到不同機器上。講設計方法前,先介紹分布式系統的特性 1 分布性 空間中隨機分布。這些計算機可以分布在不同的機房,不同的城市,甚至不同的國家。2 對等性 分布式系統中的計...