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

溫馨提示×

溫馨提示×

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

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

什么是Mongodb WiredTiger

發布時間:2021-09-29 10:58:38 來源:億速云 閱讀:140 作者:柒染 欄目:大數據

這期內容當中小編將會給大家帶來有關什么是Mongodb   WiredTiger,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Michael Cahill在2011年與另一個合伙人共同開發了wiredtiger。

MongoDB 中的wiredtiger 是支持事務的一個數據庫引擎,而解決這個問題是比較困難的,這里我將解釋他們是如何工作的,主要是此次的話題是圍繞著wiredtiger的時間戳。我們知道mongodb 中比較特殊的是oplog log ,簡稱為operation log,系統中的操作順序的記錄在oplog中,對于wiredtige 提供了一個一致性版本控制稱作多版本控制的東西,對于并行的處理中如何進行順序記錄的,如果不能確定準確的oplog 中的記錄順序,則復制集中的其他機器將不能獲得準確的數據復制順序。所以我們采用timestamp的方式來將信息更有效的在wiredtiger 中的storage laryer 層實現,并進行更有效的控制。

在開始講主題的之前,我們先回顧一下wiredtiger 的內部的數據存儲結構,無論是數據還是索引的存儲結構都是以樹狀結構存儲的,數據是以主鍵的樹形結構存儲,葉子節點中的key 和 values 是存儲在bson,無論你是插入一個新的document, 還是更新一個document 我們都稱之為update structure. 并且更新內部會帶有一些關于transaction的信息,是否與接下來的操作有關聯。當此時有讀操作進來,則他們需要考慮和計算給出正確的 lists 進行返回。

上面的工作其實就是多版本控制,這在MONGODB 存在了很長時間了,我們主要講的是,我們對現有的數據結構進行了改造,在數據結構中添加了時間戳,這個結構將告訴存儲引擎事務發生的順序。其實兩句話就可以解釋,timestamp 解決了事務的順序性以及讀取數據的是在哪個時間段的。這樣即使我們并行處理,摻雜進很多的不同的事務以及不同的順序,但timestamp  保證了正確的結果。

當我們使用了一個clever technique 將oplog并行通過多線程應用到其他的secondary mongodb上,并且這些數據塊被分割,在到目的端進行組合,應用。這些更新很可能不是按照順序,在primary上我們是按照 100 101 102的順序,而到了secondary 上很可能就變成 101 100 102 的順序。

那么時間戳可以解決什么問題

1 對于查詢,當101和102被應用后,100并未被應用在secondary上,則查詢中不會顯示 101 102 有關的數據, 這就保證了數據的一致性。

2  上面提到了oplog 會分割成多個batches 被多個線程來應用,而在從庫上讀取是使用locks 來進行的,在MONGODB 有一個global lock 在 secondary 上釋放這個全局鎖,那應用的數據再能在,secondary 上被讀取。這樣的可以引申到在唯一索引的document上,在有兩個線程操作的documents上,我們必須要讓所有的結果是正確的。

3  timestamp 同時也要應用到復制中的rollback ,在講之前大家應該都明白MONGODB 復制中的大多數的概念。通過上圖我們可以通過對比時間戳來獲得大多數的secondary 上2 號數據點已經被應用。這將對節點失敗后的選舉等等都有相關的聯系。同時對于節點切換后的數據拽取都有相關的作用。

同時在新主產生后,我們也會有相關的歷史數據決定舊的主是否還能rejoin進復制集中,上圖很明顯older prmary將不能被重新加入到復制集中。

總結上面的東西,wiredtiger 通過timestamp的排序工作對例如復制, 數據回滾,以及與index 有關的維護工作進行了有益的支持,下一步我們將針對索引的維護工作進行優化,將兩種建立索引的優點合二為一,同時 我們會對long -running reads 方面的工作進行優化,現在的事務基本是基于 short running transactions, 但我們知道現在有一些客戶查詢大量的數據的事務,我們目前正在做一些底層的工作,使得我們的數據庫引擎更加有效的處理類似的工作。

上述就是小編為大家分享的什么是Mongodb   WiredTiger了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

清水河县| 九寨沟县| 湘潭市| 朝阳市| 博客| 池州市| 东丽区| 新蔡县| 锡林浩特市| 富锦市| 加查县| 平谷区| 新丰县| 左贡县| 宣武区| 大同县| 北票市| 西丰县| 铁力市| 永春县| 吴江市| 四平市| 北宁市| 社会| 酉阳| 甘洛县| 洪雅县| 靖安县| 正定县| 昆明市| 集贤县| 家居| 芦山县| 东阳市| 融水| 上林县| 黄龙县| 桐庐县| 绿春县| 潢川县| 泸州市|