<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        MongoDB數據庫設計中6條重要經驗法則Part3

        來源:懂視網 責編:小采 時間:2020-11-09 07:29:23
        文檔

        MongoDB數據庫設計中6條重要經驗法則Part3

        MongoDB數據庫設計中6條重要經驗法則Part3:這是系列的最后一部分。在第一部分里,我介紹了三種針對一對多 關系建模的基礎方案。在第二部分中,我介紹了對基礎方案的擴展:雙向關聯和反范式化。 反范式可以讓你避免一些應用層級別的join,但是這也會讓更新變的更復雜,開銷更大。不過冗余那些讀取
        推薦度:
        導讀MongoDB數據庫設計中6條重要經驗法則Part3:這是系列的最后一部分。在第一部分里,我介紹了三種針對一對多 關系建模的基礎方案。在第二部分中,我介紹了對基礎方案的擴展:雙向關聯和反范式化。 反范式可以讓你避免一些應用層級別的join,但是這也會讓更新變的更復雜,開銷更大。不過冗余那些讀取

        這是系列的最后一部分。在第一部分里,我介紹了三種針對“一對多 ”關系建模的基礎方案。在第二部分中,我介紹了對基礎方案的擴展:雙向關聯和反范式化。 反范式可以讓你避免一些應用層級別的join,但是這也會讓更新變的更復雜,開銷更大。不過冗余那些讀取

        這是系列的最后一部分。在第一部分里,我介紹了三種針對“一對多 ”關系建模的基礎方案。在第二部分中,我介紹了對基礎方案的擴展:雙向關聯和反范式化。

        反范式可以讓你避免一些應用層級別的join,但是這也會讓更新變的更復雜,開銷更大。不過冗余那些讀取頻率遠遠大于更新頻率的字段還是值得的。

        如果你還沒有讀過前兩部分,歡迎一覽。

        讓我們回顧下這些方案

        你可以采取內嵌,或者建立one端或者N端的引用,也可以三者兼而有之。

        你可以在one端或者N端冗余多個字段

        下面這些是你需要謹記的:

        1、優先考慮內嵌,除非有什么迫不得已的原因。

        2、需要單獨訪問一個對象,那這個對象就不適合被內嵌到其他對象中。

        3、數組不應該無限制增長。如果many端有數百個文檔對象就不要去內嵌他們可以采用引用ObjectID的方案;如果有數千個文檔對象,那么就不要內嵌ObjectID的數組。該采取哪些方案取決于數組的大小。

        4、不要害怕應用層級別的join:如果索引建的正確并且通過投影條件(第二部分提及)限制返回的結果,那么應用層級別的join并不會比關系數據庫中join開銷大多少。

        5、在進行反范式設計時請先確認讀寫比例。一個幾乎不更改只是讀取的字段才適合冗余到其他對象中。

        6、在mongodb中如何對你的數據建模,取決于你的應用程序如何去訪問它們。數據的結構要去適應你的程序的讀寫場景。

        設計指南

        當你在MongoDB中對“一對多”關系進行建模,你有很多的方案可供選擇,所以你必須很謹慎的去考慮數據的結構。下面這些問題是你必須認真思考的:

        關系中集合的規模有多大:是一對很少,很多,還是非常多?

        對于一對多中”多“的那一端,是否需要單獨的訪問它們,還是說它們只會在父對象的上下文中被訪問。

        被冗余的字段的讀寫的比例是多少?

        數據建模設計指南

        在一對很少的情況下,你可以在父文檔中內嵌數組。

        在一對很多或者需要單獨訪問“N”端的數據時,你可以采用數組引用ObjectID的方式。如果可以加速你的訪問也可以在“N”端使用父引用。

        在一對非常多的情況下,可以在“N”端使用父引用。

        如果你打算在你的設計中引入冗余等反范式設計,那么你必須確保那些冗余的數據讀取的頻率遠遠大于更新的頻率。而且你也不需要很強的一致性。因為反范式化的設計會讓你在更新冗余字段時付出一定的代價(更慢,非原子化)

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        MongoDB數據庫設計中6條重要經驗法則Part3

        MongoDB數據庫設計中6條重要經驗法則Part3:這是系列的最后一部分。在第一部分里,我介紹了三種針對一對多 關系建模的基礎方案。在第二部分中,我介紹了對基礎方案的擴展:雙向關聯和反范式化。 反范式可以讓你避免一些應用層級別的join,但是這也會讓更新變的更復雜,開銷更大。不過冗余那些讀取
        推薦度:
        標簽: 設計 法則 經驗
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 337P日本欧洲亚洲大胆艺术图 | 无码人妻一区二区三区免费看| 国产gav成人免费播放视频| 久久99精品免费视频| 亚洲色大成网站WWW久久九九| 国产精品福利在线观看免费不卡| 91成年人免费视频| 亚洲中文字幕无码一去台湾| 国产一级黄片儿免费看| 国产99视频精品免费观看7| 亚洲日本国产综合高清| 一级毛片免费毛片一级毛片免费| 亚洲国产精品lv| 一区二区在线视频免费观看| 男人的好看免费观看在线视频 | 国产亚洲成在线播放va| 免费观看美女用震蛋喷水的视频| 亚洲色中文字幕无码AV| 99蜜桃在线观看免费视频网站| 亚洲区小说区图片区| 中文字幕免费在线视频| 色拍自拍亚洲综合图区| 成在人线av无码免费高潮水| 亚洲国产精品无码久久久秋霞2 | 美女被cao网站免费看在线看| 亚洲国产精品不卡毛片a在线| sihu国产精品永久免费| 97久久精品亚洲中文字幕无码| 男女免费观看在线爽爽爽视频 | 91麻豆精品国产自产在线观看亚洲| 亚洲伊人久久大香线蕉AV| 可以免费观看的一级毛片| a级毛片在线免费| 77777午夜亚洲| 国产亚洲色婷婷久久99精品91| 中文字幕在线免费| 国产成人精品久久亚洲高清不卡| 国产精品亚洲一区二区三区在线 | 美国毛片亚洲社区在线观看| 亚洲人成网站在线观看播放| 91频在线观看免费大全|