上次我們說到了關(guān)于 mongodb 的集群,分為主從集群和分片集群,對于分片集群中的分片這里需要注意如下幾點,一起來回顧一下:
10年的東區(qū)網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整東區(qū)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“東區(qū)網(wǎng)站設(shè)計”,“東區(qū)網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。某些分片鍵(分片鍵是集合中每個文檔中存在的索引字段或復(fù)合索引字段)會導(dǎo)致所有的 讀或者寫請求 都操作在單個數(shù)據(jù)塊或者分片上,這樣就會導(dǎo)致單個分片服務(wù)器負荷過重,那么自增長的分片鍵容易導(dǎo)致寫的問題
對于粗粒度的分片鍵,可能會導(dǎo)致許多文檔使用相同的分片鍵
這樣的話這些文檔就不能被分割為多個數(shù)據(jù)塊,這就會限制了mongodb 的均勻分布數(shù)據(jù)能力
分片鍵與查詢是沒有關(guān)聯(lián)的,這樣會造成糟糕的查詢性能
對于以上注意點,咱們做到心中有數(shù),實際工作中遇到類似的問題,就可以嘗試學(xué)著處理了
今天我們簡單了解一下 mongodb 的存儲引擎是個啥
存儲引擎說到 mongodb 的存儲引擎,我們要知道是在 mongodb 3.0 的時候引入了可插拔存儲引擎的概念
現(xiàn)在主要有這幾個引擎:
在存儲引擎剛出來的時候,默認是使用的 MMAPV1 存儲引擎的
MMAPV1 引擎,看名字我們大概就知道他是使用的是 mmap 來做的,運用的是 linux 內(nèi)存映射的原理
現(xiàn)在不使用 MMAPV1 引擎,是因為 WiredTiger 存儲引擎更優(yōu),例如對比一下 WiredTiger 就有如下優(yōu)勢:
WiredTiger 能更好的發(fā)揮多核系統(tǒng)的處理能力
MMAPV1引擎使用表級鎖,當(dāng)某個單表上有并發(fā)的操作,吞吐就會受到限制
而 WiredTiger 使用文檔級的鎖 ,這就帶來并發(fā)及吞吐的提高
WiredTiger 使用前綴壓縮,比起 MMAPV1 更節(jié)省對內(nèi)存空間的損耗
并且 WiredTiger 還提供壓縮算法, 這樣就可以大大降低對硬盤資源的消耗
WiredTiger 引擎 的寫入原理通過上圖我們可以看出, WiredTiger 寫入磁盤的原理也是很簡單的
我們用手指頭都可以想到,mongodb 的設(shè)計者怎么會讓這種情況存在,那么必然會有解決方案,如下
如上圖,圖中多了一個journaling buffer
和journal 文件
存放 mongodb 增刪改 指令的緩沖區(qū)
類似于關(guān)系數(shù)據(jù)庫中的事務(wù)日志
引入 Journaling 的目的是:
Journaling 能夠使 mongodb 數(shù)據(jù)庫由于意外故障后快速恢復(fù)
Journaling 日志功能Journaling 的日志功能,看上去有點像是 redis 中的 aof 持久化一樣,也只能說是類似
在 mongodb 2.4 的時候,就已經(jīng)是 默認會開啟 Journaling日志功能 的,我們啟動 mongod 實例的時候,服務(wù)就會去檢查是否需要恢復(fù)數(shù)據(jù)
因此就不會有上述 mongodb 丟數(shù)據(jù)的情況了
另外這里我們要知道,journaling 的日志功能,當(dāng) mongodb 需要進行寫操作的時候,也就是 增,刪,改的時候,journaling 是會寫日志的,這會影響性能
但是 mongodb 讀取操作的時候,是不會記錄到緩存中的,因此也不會記錄到 journaling 日志中,因此讀操作沒有影響
今天就到這里,學(xué)習(xí)所得,若有偏差,還請斧正
歡迎點贊,關(guān)注,收藏朋友們,你的支持和鼓勵,是我堅持分享,提高質(zhì)量的動力
好了,本次就到這里
技術(shù)是開放的,我們的心態(tài),更應(yīng)是開放的。擁抱變化,向陽而生,努力向前行。
我是阿兵云原生,歡迎點贊關(guān)注收藏,下次見~
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧