中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

簡要介紹MongoDB的數據模型

發布時間:2020-07-19 16:42:47 來源:網絡 閱讀:3484 作者:genuinecx 欄目:MongoDB數據庫

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


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


    文檔結構


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


    引用(References)


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

簡要介紹MongoDB的數據模型

簡要介紹MongoDB的數據模型

    Embedded Data

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


簡要介紹MongoDB的數據模型

簡要介紹MongoDB的數據模型

    寫操作的原子性


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


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


    文檔增加


    像添加元素到數組或者增加新字段這樣的更新,會增加文檔的大小。如果文檔的大小超過了為該文檔分配空間,MongoDB會重新分配磁盤空間。考慮到空間的增加,應該規范化或使用規范的數據。


    數據使用和性能


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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鸡西市| 颍上县| 原平市| 锡林郭勒盟| 竹山县| 罗田县| 重庆市| 丽江市| 大厂| 东明县| 隆德县| 大冶市| 河津市| 安阳县| 镇远县| 专栏| 舒城县| 福海县| 桦南县| 宿州市| 酉阳| 台安县| 页游| 永嘉县| 新绛县| 含山县| 南宁市| 济源市| 铁力市| 宁陕县| 柳江县| 桦南县| 仁怀市| 穆棱市| 炉霍县| 海门市| 会泽县| 延吉市| 西吉县| 奉化市| 镇平县|