當前位置:
首頁 > 最新 > 經典商城資料庫設計中的幾個問題

經典商城資料庫設計中的幾個問題

1.公共表、擴展表、搜索組件的思路

(1)公共表:提煉商品公共的信息放到資料庫,例如商品id、名稱、發布的商家、發布日期、上架狀態等。

(2)擴展表:將變化的信息放到另外一個表,可以是資料庫表,例如電腦商品一個表、服裝一個表;也可以將信息放到MongoDB或者ElasticSearch這類文檔資料庫。

(3)搜索組件:擴展表在全文搜索的時候不好實現,因此需要獨立的組件負責搜索,可以用Elastic Search或者Solr來冗餘一份數據,用於搜索。

2.Magento(麥進斗)的方式

Magento(麥進斗)開源、設計靈活,具有模塊化架構體系和豐富的功能,易於與第三方應用系統無縫集成。其強大的商品屬性系統能夠支持任意商品類型,無論是服裝、手機還是書刊,它都能完美支持商品的所有屬性,且能靈活地修改和管理。

3.電商系統資料庫結構設計的一個實例

Ecshop電商系統架構資料庫設計及欄位說明(88張數據表):

http://book.ecmoban.com/images/db.htm

4.取消外鍵約束

互聯網產品往往一兩周迭代一個版本,業務變更頻繁,不推薦使用外鍵,SET FOREIGN_KEY_CHECKS=0。用戶量大,並發度高,為此資料庫伺服器很容易成為性能瓶頸,尤其受IO能力限制,且不能輕易地水平擴展;若是把數據一致性的控制放到事務中,也即讓應用伺服器承擔此部分的壓力,而應用伺服器一般都是可以做到輕鬆地水平的伸縮。

5.大數據時代的假刪除

添加個標誌欄位,0表示刪除1表示未刪除,查詢的時候根據這個欄位判斷更改數據的狀態,記錄沒有被物理刪除。用假刪除管理數據時,外鍵約束會不太好用。

6.擴展欄位

(1)version+ext。即在表後面增加version、ext欄位,version用來描述對應的版本,ext存放map的json數據,如。

優點:可動態隨意增加欄位,支持多個版本的擴展。

缺點:ext不支持索引,key名稱大量冗餘,所以key命名盡量短,可使用編碼。

(2)key+value。即增加一個縱表,包括外鍵ID、key、value。

優點:可動態隨意增加欄位,key支持索引。

缺點:key名稱大量冗餘,所以key命名盡量短,可使用編碼。

7.英文命名

盡量使用英文命名。這符合「國際化」i18n(英文單詞 internationalization的首末字元i和n,18為中間的字元數)。

8.迭代設計資料庫

一對一、一對多、多對多,這些表與表之間的關係,基本開始就可以確定。但是,有些欄位信息也許會隨著開發過程出現迭代。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

精準引流營銷:精準客戶QQ轟炸技術
只得7分又怎樣?湯神卻讓歐文心服口服!

TAG:全球大搜羅 |