簡要介紹MongoDB的數(shù)據(jù)模型

    MongoDB數(shù)據(jù)是特別靈活的,與SQL數(shù)據(jù)庫相比,它不需要在插入數(shù)據(jù)前先定義表的結(jié)構(gòu)。MongoDB的集合不強調(diào)固定的文檔結(jié)構(gòu)。這種靈活性使它能夠輕松映射文檔結(jié)構(gòu)。每一個文檔都可以映射它要表達的對象,即使這些數(shù)據(jù)有實質(zhì)性的不同。其實在實際中,同一集合下的文檔通常采用相似的結(jié)構(gòu)。

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站建設、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的寧城網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

    MongoDB數(shù)據(jù)建模的主要問題時在應用程序的需求,數(shù)據(jù)庫引擎的性能特性和數(shù)據(jù)檢索模型之間做一個平衡。設計數(shù)據(jù)模型是,總是要考慮應用程序使用到的數(shù)據(jù)(查詢、更新以及需要處理的數(shù)據(jù)等等)以及數(shù)據(jù)結(jié)構(gòu)本身。

    文檔結(jié)構(gòu)


    設計MongoDB數(shù)據(jù)模型的關鍵是考慮好文檔結(jié)構(gòu)和應用程序表示的數(shù)據(jù)之間的關系。有兩種方式可以表達這種關系:引用(references)和嵌入文檔(embedded documents)。


    引用(References)


    引用(References)存儲數(shù)據(jù)之間的關系,包括從一個文檔鏈接或引用到另外一個文檔。這樣應用程序就解決了訪問關聯(lián)數(shù)據(jù)的問題,一般來說,這些都是規(guī)范數(shù)據(jù)的數(shù)據(jù)模型。

簡要介紹MongoDB的數(shù)據(jù)模型

簡要介紹MongoDB的數(shù)據(jù)模型

    Embedded Data

    嵌入式文檔通過存儲相關的數(shù)據(jù)在一個文檔結(jié)構(gòu)中來捕獲數(shù)據(jù)之間的關系。MongoDB文檔可以在當前文檔的字段或數(shù)組中嵌入文檔作為子文檔。這些非規(guī)范化數(shù)據(jù)模型允許應用程序檢索和操作相關的數(shù)據(jù)在一個單一的數(shù)據(jù)庫操作。

簡要介紹MongoDB的數(shù)據(jù)模型

簡要介紹MongoDB的數(shù)據(jù)模型

    寫操作的原子性


    在MongoDB中,寫操作的原子性限制在文檔級別,沒有一個寫操作可以自動影響到多個文檔或多個集合。規(guī)范化的嵌入式數(shù)據(jù)模型整合了所有的關聯(lián)數(shù)據(jù)在一個文檔中來展現(xiàn)實體。這有助于原子寫操作在一個寫操作中插入和更新實體的數(shù)據(jù)。規(guī)范化數(shù)據(jù)能夠分隔多個集合的數(shù)據(jù)并且需要在非原子性操作中需要多個寫操作。

    然后,促進原子寫的模式可能限制應用程序使用數(shù)據(jù),也可能限制修改應用程序的方法。原子性考慮設計模式的挑戰(zhàn),平衡靈活性和原子性。

    文檔增加


    像添加元素到數(shù)組或者增加新字段這樣的更新,會增加文檔的大小。如果文檔的大小超過了為該文檔分配空間,MongoDB會重新分配磁盤空間??紤]到空間的增加,應該規(guī)范化或使用規(guī)范的數(shù)據(jù)。

    數(shù)據(jù)使用和性能


    當設計數(shù)據(jù)模型的時候,應考慮應用程序如何使用數(shù)據(jù)庫。比如,如果應用程序僅使用最近插入的文檔,考慮使用頂端集合(Capped Collections)。如果應用程序需要頻繁的讀取集合,添加索引能夠提高數(shù)據(jù)查詢效率。

分享題目:簡要介紹MongoDB的數(shù)據(jù)模型
URL網(wǎng)址:http://muchs.cn/article10/jpdjdo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站改版、網(wǎng)站維護Google、網(wǎng)站營銷、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營