業務系統資料庫設計常見的隔離和共用模式

來源:互聯網
上載者:User

標籤:style   使用   sp   資料   on   問題   bs   時間   as   

多年開發和維護某些業務系統的經驗,讓人真正理解了什麼叫“資料庫設計良好,系統就成功了一半”,尤其是那些面向多商戶的基礎服務平台、公用服務平台、開放服務平台、或者由它們組合而成的綜合服務平台。資料庫設計之初,必須對業務系統DB的隔離和共用模式的優缺有充分的調研,平衡好業務系統的邊界,合理設計使用必要的冗餘,以適應系統後續的不斷變化,否則後期開發人員將陷入無盡的煩惱和痛苦之中,這絕不是危言聳聽,只有開發和維護過平台類產品的人才能深刻體會。下面就介紹三種業務系統中最常見的資料庫設計的隔離和共用模式:

一、共用Database,共用Schema

很多開發人員最熟悉的一種模式,沒錯,很可能你在大學的時候寫的第一個MIS就是用的這種模式。

某些傢伙認為這種模式沒啥技術含量,但是,如果你的業務系統要相容很多業務端的需求,當你選擇這種模式的時候,用好了並不容易,尤其是當業務資料量非常大而且需求還在不斷變化的時候,會有各種各樣的問題暴露出來。

下面分析這種共用模式的主要優缺點:

1、優點

a.前期開發相對容易,單庫單表的增刪改查,喜聞樂見,注意,我這裡說的是前期開發較容易

b.較容易做讀寫分離、備份與還原

c.能最大化利用DB伺服器資源

c.DBA監控和營運管理也非常簡單

2、缺點

a.後期開發和維護會非常痛苦,各種複雜業務共用資料庫,不同商戶商務邏輯的差異很容易引發開發上的BUG,尤其是牽一髮而動全身的公用服務系統

b.單庫的容量終究有限,不能適應業務資料量的快速增長

c.多商戶商務邏輯不一致,表設計時欄位冗餘不可避免

d.不利於自訂資料模型,延展性受限制

e.無法對業務層進行橫向擴充,某些情境下想通過一個庫單張表搞定所有商務邏輯,開發人員只能呵呵了

 

二、獨立Database

這個也很常見,直接理解就是為每個業務端獨立使用各自的資料庫,互不干擾。它的優缺點非常明顯。

下面分析這種獨立模式的主要優缺點:

1、優點

a.和特定商戶業務系統聯絡更緊密

b.前後期開發和維護都很容易

c.利於業務系統拆分和整合

d.各商戶業務資料相對獨立,各子系統對其他商戶業務系統無影響

e.分流業務系統資料,間接實現了集中資料的分區和縱向擴充

f.效能可能更好,只是可能

2、缺點

a.軟硬體成本增加

b.不可避免的重複,主要有重複的資料庫設計和商務邏輯,還有獨立的後台業務支援系統,總結起來就是一句話,重複的勞動需要更多的人力資源投入

c.DBA管理壓力增大,更多的庫更多的表需要監控和營運

 

三、共用Database獨立Schema

這種模式是一種設計上的平衡,兼有共用和獨立模式的各自主要優點。

下面分析這種兼有共用和獨立特性的模式的主要優缺點:

1、優點

a.雖然是單庫,但根據不同商戶進行了特殊業務的拆分,減少了冗餘的資料庫和資料表的設計和開發,性價比更高

b.縱向擴充非常容易,業務拆分更簡單,只要將多商戶共用和單個商戶特定使用的表獨立出去就行

 

2、缺點

a.表設計要求更高,要設計和平衡好有限擴充和無限擴充的可能,否則後續維護會發現還不如完全共用或者完全獨立模式來的容易

b.業務資料集中,但表設計分散,後台系統如組態管理系統、統計分析系統很難做到共用模式的便利

 

總結:上面是最常見的業務系統資料庫模式,共用和獨立並不矛盾,各有自己特定的優缺點,它們依然屬於集中式資料設計和管理的範疇,要按照業務系統的現狀來選擇模式。當然,後期業務系統的不斷髮展,資料量日益龐大,集中式的資料模式就會爆發很多問題,橫向擴充只是一個時間問題,從資料庫設計的角度,橫向擴充才是永恒的難題。

 

 

 

業務系統資料庫設計常見的隔離和共用模式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.