如何設計MongoDB資料模型
有效資料模型是為應用服務的,設計構架的關鍵問題是文檔模型適合使用嵌入式模型(embed)還是使用引用模型(references)。
嵌入式資料模型(Embedded Data Models)
在MongoDB中,你可能將相關資料嵌入到一個單一結構或文檔,這些模式通常被稱為“非正規”模型,但是它充分利用了MongoDB富文檔模型的有點。
嵌入式資料模型允許應用程式儲存相關的資訊在一條資料庫記錄中,這樣應用程式可能需要更少的查詢和更新來完成常規的操作。
一般來說,嵌入式資料模型適用於以下情境:
(1)擁有包含實體之間的關係
(2)實體之間擁有一對多的關係,在這些關係中,“many”或子文檔總是出現在或人為是“one”或富文檔的上下文。
通常情況下,嵌入資料的方式在讀操作上提供了更好的效能,能夠在單次資料操作中請求和檢索相關的資料。嵌入式資料模型使MongoDB能夠在一次原子寫操作中更新相關的資料。
然後,嵌入相關的資料,可能導致文檔建立後文檔增長太大的問題。文檔增長會影響資料的寫效能並導致資料分區。而且,MongoDB中文檔的大小必須小於BSON格式規定的文檔最大容量(最大的BSON文檔大小是16MB)。對於大部分位元據,需要參考GridFS。
與嵌入式文檔進行互動,使用“.”符號進入嵌入文檔。
正常化資料模型(Normalized Data Models,References)
正常化資料模型描述了文檔引用之間的關係。
一般來說,正常化資料模型適用於以下情境:
(1)當嵌入式資料模型會導致資料重複並且提供的讀效能的優勢不會重複的影響。
(2)呈現許多複雜的多對多關係。
(3)對大型分層資料集進行建模
引用(References)模式比嵌入模式提供更好的靈活性,但是用戶端應用程式必須解決引用的後續查詢問題。換句話說,正常化資料模型需要更多輪的請求伺服器。
CentOS編譯安裝MongoDB
CentOS 編譯安裝 MongoDB與mongoDB的php擴充
CentOS 6 使用 yum 安裝MongoDB及伺服器端配置
Ubuntu 13.04下安裝MongoDB2.4.3
MongoDB入門必讀(概念與實戰並重)
《MongoDB 權威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]
MongoDB 的詳細介紹:請點這裡
MongoDB 的:請點這裡
本文永久更新連結地址: