国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

MongoDB釋放空閑空間的幾種常用方法

2020-10-29 18:43:51
字體:
供稿:網(wǎng)友

前言

當(dāng)我們從MongoDB中刪除文檔或集合時(shí),MongoDB并不會(huì)將已經(jīng)占用了的磁盤空間釋放,它會(huì)一直維護(hù)已經(jīng)占用了磁盤空間的數(shù)據(jù)文件,盡管數(shù)據(jù)文件中可能存在大大小小的空記錄列表(empty record list)。當(dāng)客戶端程序再次插入文檔時(shí),MongoDB會(huì)從空記錄列表中分配存儲(chǔ)空間給新文檔。那么為了更加有效的使用磁盤空間,我們需要對(duì)mongodb的數(shù)據(jù)文件做碎片整理以及未使用空間的回收。思想無非兩種:

1、對(duì)原數(shù)據(jù)進(jìn)行重組

2、僅將數(shù)據(jù)復(fù)制出來,形成僅數(shù)據(jù)的完整備份

以下介紹幾種常用的實(shí)施方法:

1、compact

2、db.repairDatabase()

3、secondary節(jié)點(diǎn)重同步

4、db.copyDatabase()

一、compat

官網(wǎng)對(duì)該命令的定義:對(duì)集合中的所有數(shù)據(jù)和索引進(jìn)行重寫和碎片整理。

使用方法

use yourdatabase;db.runCommand({ compact : 'yourCollection' });

注意事項(xiàng)

1、在執(zhí)行命令前請(qǐng)保證你有比較新的備份

2、在使用MMAPv1存儲(chǔ)引擎的MongoDB上compact需要數(shù)據(jù)文件所在分區(qū)至少有2G的空閑空間

3、在使用WiredTiger存儲(chǔ)引擎的MongoDB上,compact命令將重寫集合和索引,且釋放未使用的空間,但使用MMAPv1存儲(chǔ)引擎的MongoDB上,該命令只對(duì)集合的數(shù)據(jù)文件進(jìn)行碎片整理并重新創(chuàng)建其索引。不會(huì)釋放空間,在使用MMAPv1存儲(chǔ)引擎的MongoDB上回收空間,建議使用第三種方法“secondary節(jié)點(diǎn)重同步”

4、使用MMAPv1存儲(chǔ)引擎的MongoDB中的Capped Collections,是無法被壓縮的,但使用WiredTiger存儲(chǔ)引擎的MongoDB在執(zhí)行compact時(shí)會(huì)進(jìn)行壓縮。

5、在副本集上運(yùn)行該命令時(shí),要分別在每個(gè)節(jié)點(diǎn)執(zhí)行

6、該命令只能在mongod實(shí)例上執(zhí)行,不能再mongos實(shí)例上運(yùn)行。也就是說針對(duì)分片集群的compact操作要分別在每個(gè)分片節(jié)點(diǎn)上執(zhí)行。

7、一般該命令運(yùn)行在secondary節(jié)點(diǎn)上,在執(zhí)行時(shí),會(huì)強(qiáng)制節(jié)點(diǎn)進(jìn)入RECOVERING狀態(tài),RECOVERING狀態(tài)的實(shí)例讀寫操作將被阻塞

8、再碰到特殊情況要停止運(yùn)行該命令時(shí),可通過db.currentOp()查詢進(jìn)程信息,然后通過db.killOp()干掉進(jìn)程

9、compact可能會(huì)增加數(shù)據(jù)文件的總大小和數(shù)量,尤其是第一次運(yùn)行時(shí)。但這不會(huì)增加總集合使用的磁盤空間,因?yàn)榇鎯?chǔ)大小是數(shù)據(jù)庫文件中分配的數(shù)據(jù)量,而不是文件系統(tǒng)上文件的大小/數(shù)量

10、使用MMAPv1存儲(chǔ)引擎的MongoDB中的Capped Collections,是無法被壓縮的,但使用WiredTiger存儲(chǔ)引擎的MongoDB在執(zhí)行compact時(shí)會(huì)進(jìn)行壓縮。

二、db.repairDatabase()

官網(wǎng)該命令的定義:通過丟無效或損壞的數(shù)據(jù)老重建數(shù)據(jù)庫和索引。類似于文件系統(tǒng)修復(fù)命令fsck。所以此命令主要是用于修復(fù)數(shù)據(jù)。

使用方法

use yourdatabase;db.repairDatabase();

注意事項(xiàng)

1、db.repairDatabase()主要用于修復(fù)數(shù)據(jù)。若你擁有數(shù)據(jù)的完整副本,且有權(quán)限訪問,請(qǐng)使用第三種方法“secondary節(jié)點(diǎn)重同步”

2、在執(zhí)行命令前請(qǐng)保證你有比較新的備份

3、此命令會(huì)完全阻塞數(shù)據(jù)庫的讀寫,謹(jǐn)慎操作

4、此命令執(zhí)行需要數(shù)據(jù)文件所在位置有等同于所有數(shù)據(jù)文件大小總和的空閑空間再加上2G

5、在使用MMAPv1存儲(chǔ)引擎的secondary節(jié)點(diǎn)上執(zhí)行該命令可以壓縮集合數(shù)據(jù)

6、在使用WiredTiger存儲(chǔ)引擎的MongoDB庫上執(zhí)行不會(huì)有壓縮的效果

7、再碰到特殊情況要停止運(yùn)行該命令時(shí),可通過db.currentOp()查詢進(jìn)程信息,然后通過db.killOp()干掉進(jìn)程

8、非常消耗時(shí)間

三、secondary節(jié)點(diǎn)重同步

主要思想就是:刪除secondary節(jié)點(diǎn)中指定數(shù)據(jù),使之與primary重新開始數(shù)據(jù)同步。當(dāng)副本集成員數(shù)據(jù)太過陳舊,也可以使用重新同步。數(shù)據(jù)的重新同步與直接復(fù)制數(shù)據(jù)文件不同,MongoDB會(huì)只同步數(shù)據(jù),因此重同步完成后的數(shù)據(jù)文件是沒有空集合的,以此實(shí)現(xiàn)了磁盤空間的回收。

使用方法

首先必須確保數(shù)據(jù)有完整的備份。

1、若是primary節(jié)點(diǎn),先強(qiáng)制將之變?yōu)閟econdary節(jié)點(diǎn),否則跳過此步驟:

 rs.stepdown(120);

2、然后在primary上刪除secondary節(jié)點(diǎn):

 rs.remove("IP:port");

3、刪除secondary節(jié)點(diǎn)dbpath下的所有文件。

4、將節(jié)點(diǎn)重新加入集群,然后使之自動(dòng)進(jìn)行數(shù)據(jù)的同步:

 rs.add("IP:port");

5、等數(shù)據(jù)同步完成后,循環(huán)1-4的步驟可以將集群中所有節(jié)點(diǎn)的磁盤空間釋放

針對(duì)一些特殊情況,不能下線secondary節(jié)點(diǎn)的,可以新增一個(gè)節(jié)點(diǎn)到副本集中,然后secondary就自動(dòng)開始數(shù)據(jù)的同步了。

總的來說,重同步的方法是比較好的,第一基本不會(huì)阻塞副本集的讀寫,第二消耗的時(shí)間相對(duì)前兩種比較短

四、db.copyDatabase()

mongodb還支持在線復(fù)制數(shù)據(jù):db.copyDatabase("from","to","IP:port"),此種方法也能釋放空間,因?yàn)閐b.copyDatabase復(fù)制的數(shù)據(jù),而不是表示在磁盤中的數(shù)據(jù)文件。但,該命令在4.0版本起被棄用;3.x版本還能繼續(xù)使用

如:

 db.copyDatabase("sourceDB","DistDB");

    將源庫sourceDB。拷貝為DistDB。

當(dāng)然,該命令支持遠(yuǎn)程復(fù)制。

該命令的完整語法為:

db.copyDatabase(<源數(shù)據(jù)庫名稱>, <目標(biāo)數(shù)據(jù)庫名稱>, <源mongodb的IP:port>, <源數(shù)據(jù)庫連接需要的賬戶>,<密碼>, <mechanism>)

以上:命令必須在目標(biāo)數(shù)據(jù)庫服務(wù)器上執(zhí)行。若源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫存在于一個(gè)MongoDB服務(wù)器,<源mongodb的IP:port>, <源數(shù)據(jù)庫連接需要的賬戶>,<密碼>都可省略。<mechanism>是身份驗(yàn)證類型,可選的。

注意事項(xiàng)

1、db.copyDatabase()不會(huì)阻塞源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫數(shù)據(jù)的讀寫,因此可能會(huì)出現(xiàn)兩份數(shù)據(jù)不一致的情況

2、db.copyDatabase()復(fù)制索引數(shù)據(jù)會(huì)鎖定數(shù)據(jù)庫,此操作也會(huì)對(duì)其他數(shù)據(jù)庫產(chǎn)生影響

3、db.copyDatabase()不要在mongos實(shí)例中使用

4、db.copyDatabase()不要用于復(fù)制包含分片集合的數(shù)據(jù)庫

5、在4.0版中更改:db.copyDatabase()僅支持SCRAM進(jìn)行身份驗(yàn)證fromhost,<mechanism>選項(xiàng)。

6、某些不同版本的MongoDB間不支持此種復(fù)制方法,詳見鏈接:https://docs.mongodb.com/manual/reference/method/db.copyDatabase/

除此之外,還有一些方法,像使用導(dǎo)入/導(dǎo)出的方法(mongodump/mongorestore),這種方法在數(shù)據(jù)量非常大的情況是不適用的,因?yàn)閷?dǎo)入導(dǎo)出的方法使用的全量的形式,要保證有足夠的空閑空間來存放導(dǎo)入的數(shù)據(jù)。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
亚洲欧美小说国产图片| 日本调教视频在线观看| 一本大道久久a久久精品| 在线国产小视频| 国产午夜电影| 久久久久久久久免费视频| av在线不卡播放| 国产精选在线观看| www黄在线观看| 免费黄网站在线观看| 国产视频福利在线| 2020亚洲男人天堂| 精品一区二区观看| 精品久久亚洲一级α| 黄色激情网址| av福利在线观看| 国内自拍视频在线观看| 国产三级做爰在线观看| av中文在线| 欧美性猛交xxxxbbbb| 亚洲社区在线| 中文字幕国产视频| 国产福利电影在线观看| 国产网站麻豆精品视频| 中文字幕一区免费| 最新黄网在线观看| 免费在线你懂的| 国产精品四虎| 欧美日韩亚洲国内综合网| 国产主播福利在线| 国产精品视频福利一区二区| 欧美精品日韩少妇| 国产精品一区二区婷婷| 国产精品一区二区三区高清在线| 日本福利在线| 国产精品自产拍在线网站| 2021av在线| 国产一区二区在线|播放| 国产区在线观看| 国产网红在线| 夜夜爽视频导航| 就爱干草视频| av中文天堂在线| 精品久久久久一区二区三区| 丁香花在线电影| 99视频在线观看地址| 在线中文字幕视频| 国产一级粉嫩xxxx| 在线午夜视频| 天堂资源在线中文| 99热最新网址| 国产欧美久久久久久久久| 九色精品视频在线观看| 国产一二三区精品视频| 国产不卡一卡2卡三卡4卡5卡在线| 国产福利在线观看| 国内外激情在线| v天堂福利视频在线观看| 国产黄色一级电影| 国产午夜在线观看| 国产95在线|亚洲| 国产精品欧美色图| 在线播放黄色网址| 日本a级黄色| 高清在线观看av| 国产在线观看av| 在线中文资源天堂| 国产91久久久久蜜臀青青天草二| 国产三线在线| 黄污在线观看| 国产福利资源| 精精国产xxxx视频在线动漫| 在线观看中文字幕的网站| 国产一二在线观看| 91久久麻豆| 天天插天天操| 丁香综合在线| 精品99又大又爽又硬少妇毛片| 精品精品导航| 国产美女福利在线观看| 国产日本在线视频| 在线观看精品一区二区三区| 九九热在线视频| 久色视频在线观看| 国产在线日本| 国产视频一二区| 四虎成年永久免费网站| 天堂在线一二区| 超碰国产在线| 在线免费日韩| 中文字幕不卡免费视频| 精品福利影院| 欧美成人精品福利网站| 日本福利在线观看| 国产鲁鲁视频在线观看免费| 青青国产在线| 国产乱视频在线观看播放| 国产成人精品男人的天堂538| 国产高清一区二区三区视频| 国产三级做爰在线观看| 国产黄大片在线观看画质优化| 亚洲日本伊人| 国产成人久久精品77777| 精品美女在线观看视频在线观看| 国产91久久久久蜜臀青青天草二| 尤物网在线观看| sm国产在线调教视频| 玖玖在线视频| 黄色av免费在线| 国产区视频在线观看| 中文字幕视频在线| jizz在线视频| 好男人社区在线视频| 国产对白在线| 黄色毛片在线观看| 最近中文字幕在线中文视频| 久热国产在线| 国产三级在线免费观看| 免费av不卡在线观看| 四虎一区二区三区| 日本中文字幕在线看| 在线视频色在线| 亚洲日本一区二区三区在线观看| wwww在线观看免费视频| 最近中文字幕mv2018在线高清 | 综合激情亚洲| 精品国产美女福利到在线不卡| 中文字幕国产视频| 影音av资源站| av在线中文| 国产在线高清| 先锋av资源网| 狠狠狠综合7777久夜色撩人| 国产美女在线免费观看| 浪潮av一区| 丁香花在线电影小说观看 | 中文字幕网在线| 黄色电影网站在线观看| 日本中文字幕在线2020| 91av福利| 91在线网站| 国产精品秘入口| 免费在线看v| 国产精品入口麻豆免费看| 精品美女调教视频| 午夜国产在线| 国产在线视频自拍| 在线免费看黄| eeuss影院网站免费观看| 国产视频一二| 精品麻豆国产| av福利在线观看| 黄色激情网址| 樱花草在线观看www| 91桃色在线| 在线āv视频| 国产精品欧美色图| 国产精品视频一区二区三区麻豆 | 1区不卡电影| 国产在线观看网站| 尤物视频在线观看视频| 啪啪免费视频一区| 在线视频婷婷| 九九热在线免费视频| 18 激情视频在线| 日本中文字幕在线播放| 日本免费黄色| 免费av在线| 九色精品视频在线观看| 精品国产丝袜高跟鞋| 黄色国产网站在线播放| 国产精品久久久高清免费| 久久香蕉av| 中文字幕视频在线免费| 在线免费看av| 久久精品免视着国产成人| 亚洲an天堂an在线观看| 国产一级片在线播放| 午夜国产福利在线| 精品国产高清自在线一区二区三区| 国产香蕉视频在线看| 国产一区二区影视| 天天av综合网| 四虎成人精品在永久在线观看| 最近中文字幕mv免费高清在线| а√最新版地址在线天堂| 欧洲有码在线视频| 99精品老司机免费视频| 97视频在线观看网站| 麻豆av在线| 精品国内一区二区三区免费视频 | 国产特级淫片免费看| 亚洲欧美综合乱码精品成人网| 一二三四区在线观看| 亚洲色婷婷综合开心网| 青青青青在线| 国产精品剧情一区二区三区 | 黄色av网站在线免费观看| 国产在线超碰| 久久er视频|