黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

了解mongoDB存儲(chǔ)結(jié)構(gòu)

系統(tǒng) 2257 0

mongoDB 深入淺出一 了解mongoDB存儲(chǔ)結(jié)構(gòu)

?? MongoDB?深入淺出

數(shù)據(jù)邏輯結(jié)構(gòu)

?

?

1 mongoDB 中的文檔 (document)? 相當(dāng)于 ? 關(guān)系性數(shù)據(jù)庫(kù)的一條一條的記錄

2 collection? 相當(dāng)于關(guān)系性數(shù)據(jù)庫(kù)中的表,所以一個(gè) collection 中有多個(gè) document

3? 多個(gè)集合在邏輯上組成一起 ? 就是 database

4? 一個(gè) mongoDB? ? 關(guān)系性數(shù)據(jù)庫(kù)一樣 ? 可以有多個(gè)數(shù)據(jù)庫(kù) (database)

?

與關(guān)系數(shù)據(jù)結(jié)構(gòu)比較

MongoDB

關(guān)系性數(shù)據(jù)庫(kù)

文檔 (document)

(row)

集合 (collection)

(table)

Database

Database

?

?

數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)

MongoDB? 默認(rèn)的數(shù)據(jù)目錄是 data/db, 它負(fù)責(zé)存儲(chǔ)所有 mongodb 的數(shù)據(jù)文件,在 mongoDB 中每個(gè)數(shù)據(jù)庫(kù)都包含一個(gè) .ns 和一些數(shù)據(jù)文件,而且這些數(shù)據(jù)文件會(huì)隨著數(shù)據(jù)的增多越來越多,則: ? 如果系統(tǒng)中有一個(gè)叫 foo 的數(shù)據(jù)庫(kù),那么構(gòu)成 foo 這個(gè)數(shù)據(jù)庫(kù)的文件就會(huì)有 foo.ns ,foo.0,foo1,foo.2 等。

?

?

Mongodb 內(nèi)部有預(yù)分配空間的機(jī)制,每個(gè)預(yù)分配的文件都用 0 填充,由于有了這個(gè)機(jī)制,

mongoDB 始終保存額外的空間和空閑的文件,這對(duì)系統(tǒng)數(shù)據(jù)突然暴增時(shí)減緩磁盤壓力有很大好處 .

?

由于數(shù)據(jù)量的不斷增加, mongoDB 每新分配一次,大小都會(huì)是上一個(gè)文件大小的 2 倍,最大 2G. 這種機(jī)制保證系統(tǒng)數(shù)據(jù)較小時(shí) ? 不會(huì)浪費(fèi)太多空間,系統(tǒng)數(shù)據(jù)較多時(shí) ? 也有相應(yīng)預(yù)留空間。

?

mongoDB 命名空間

每張表都有命名空間 , 每個(gè)索引也有對(duì)應(yīng)的命名空間,這些命令空間的元數(shù)據(jù)都存在 .ns 文件中

在下圖中, foo 數(shù)據(jù)庫(kù)包含 3 個(gè)文件存儲(chǔ)數(shù)據(jù)與索引, foo.2 文件屬于預(yù)分配文件, foo.0 foo.1 被分配到了相應(yīng)的盤區(qū)對(duì)應(yīng)不同的名字空間。

?

?

?

?

?

從上圖可以看出,每個(gè)命名空間可以包含多個(gè)不同的盤區(qū),這些盤區(qū)并不是連續(xù)的,與數(shù)據(jù)增長(zhǎng)一樣,每一個(gè)命名空間的盤區(qū)大小也隨著分配的次數(shù)不斷增長(zhǎng)。在上圖有個(gè) foo.$freelist 命名空間,這個(gè)命名空間用于記錄不再使用的盤區(qū) ( 如被刪除的 collection 或索引 ) ,每當(dāng)命名空間需要分配新的盤區(qū)時(shí),就會(huì)檢查 .$freelist 是否有合適大小的空間,這樣就可以回收空閑的磁盤空間了。

了解mongoDB存儲(chǔ)結(jié)構(gòu)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論