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

溫馨提示×

溫馨提示×

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

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

MONGODB如何創建索引大內存以及連鎖思維是怎樣的

發布時間:2021-09-29 09:41:00 來源:億速云 閱讀:151 作者:柒染 欄目:大數據

本篇文章給大家分享的是有關MONGODB如何創建索引大內存以及連鎖思維是怎樣的,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創建MONGODB 的索引,屬于基本操作,但如果是一個有2T 的 collection 要加一個索引,也屬于基本操作,實際上量變產生質變,很多問題的考慮都不在那么簡單。

這時可能有有一個聲音,有你說的那么麻煩嗎?  我使用 background:true

并且這樣的處理的方式在后臺處理,不會對現有的系統產生鎖和任務無法處理的問題,缺點就是稍微比前臺操作耗時一點。

在創建索引的時候,可以通過下面的語句來查看相關的進度

db.currentOp(true).inprog.forEach(function(op){ if(op.msg!==undefined) print(op.msg) })

在MONGODB 4.2 系統上,在構建過程的開始和結束階段,索引構建僅對被索引的集合獲取獨占鎖,以保護元數據的更改。構建過程的其余部分使用后臺索引構建的生成行為,以便在構建期間最大化對集合的讀寫訪問。4.2盡管有更寬松的鎖定行為,但索引構建仍然可以生成高效的索引數據結構。mongodb4.2 系統應該是已經拋棄了 background的參數來創建搜索,根據一代比一代強的想法,自然是 background 有一些需要改進的地方,新的版本才會進行變動。

在MONGODB 3.4 的時候有一個參數

setParameter:

   maxIndexBuildMemoryUsageMegabytes: 1024


這個參數就直接為后臺添加索引加速的,如果有足夠的內存,(內存的

與wiretiger 無關),則會加速background 添加索引的速度。


作為復制集,添加索引的的方式也是以命令的方式推送到從節點,但如果是

巨大的collection則很多的建議是,需要以特殊的方式來進行索引的添加,

這點類似有些 MYSQL 大表添加索引或字段的一個過程。


1  將節點從集群中分離

2  在分離的節點添加索引

3  將節點在此加入到集群中

4  將添加索引的從節點替換主節點

5  周而復始,直到索引的集群的節點都添加了索引


當然你要注意你的時間窗口,集群離開的時間不要超過oplog的時間窗口,否則

你就好看了。


所以大collection添加索引,就是一個量變到質變的過程,你需要考慮的問題

1 你內存的大小,是否能hold 你添加的索引

2 業務上訪問度是否是高強度的,如果是,那你及需要考慮上面提到的方法

3 oplog 的設計大小其實和你以后一些基礎操作有關

4 盡量拋棄舊版本,升級到 3.6 及以上的版本,這樣可以快速調整

oplog的大小


所以一件看上去不值得一提的加索引的事情,其實如果量大到一定程度,則

考慮和需要分析的問題和 量級比較小的時候是不能同日而語的。



以上就是MONGODB如何創建索引大內存以及連鎖思維是怎樣的,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

句容市| 视频| 武山县| 邯郸县| 旌德县| 开化县| 云梦县| 乐安县| 肇州县| 特克斯县| 玛纳斯县| 麻城市| 根河市| 长寿区| 阿拉善左旗| 荃湾区| 钟山县| 望谟县| 涞源县| 翁牛特旗| 花垣县| 盐津县| 锡林郭勒盟| 岑巩县| 连南| 墨竹工卡县| 铁岭县| 铜陵市| 全南县| 绥芬河市| 溧阳市| 临洮县| 南宁市| 武平县| 怀来县| 大关县| 乐昌市| 栾城县| 乌苏市| 华坪县| 通辽市|