我們目前正在規劃一個非常複雜的電子商務Web應用程序的數據庫結構,它具有靈活性作爲其主要基石。數據庫結構 - 是mySQL的正確選擇嗎?
我們的應用程序具有大量數據(產品),我們遇到輕微頭疼的情況,試圖在不影響數據庫規範化規則的情況下保持高性能,或者在集成產品選項時留下高度可愛的靈活性概念廣泛稱爲產品屬性或參數)。
根據各種參考資料和可用資源,我們列出了所有主要和衆所周知的數據庫模式的優缺點,以解決此問題。比較這些之後,我們已經提出了兩個最終選擇:
EAV(實體 - 屬性 - 值模型):
優點:信息數據庫用於所有的排序。
缺點:所有相關的查詢都會包含多個表之間的連接以完成數據收集。
SLOB(序列化LOB,也被稱爲正面):
優點:非常靈活。與EAV設計模式相比,保持必要連接的數量較低。易於更新/添加/刪除每個產品的數據,但很難保持數據完整性,無需額外的表。
缺點:所有排序將由應用程序而不是數據庫完成。當大量數據集被大量用戶處理時,會使用大量性能(內存?)。
我們的主要問題:
- 哪種模式/結構,你會使用,或者甚至一個不同的解決方案嗎?
- 現在有沒有比mySQL更好的數據庫來實現我們想要的?
非常感謝!
參考:How to design a product table for many kinds of product where each product has many parameters
我不能假裝回答你的問題,但要檢查couchdb和noSQL。 –