您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關mongodb2.6和3.0版本有什么不一樣,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
2015年3月3號,MongoDB新版本3.0發布了,和以前版本相比,這次改動較大,主要有以下幾個方面:
1. 引入了插件式的存儲引擎架構,允許第三方根據實際項目的需要開發存儲引擎,類似于MySql中的分層存儲引擎架構。隨同這種架構發布的新的存儲引擎為WiredTiger,老的存儲引擎更名為MMAPv1,也是目前默認的存儲引擎。
WiredTiger存儲引擎主要特點有:
(1)目前只支持64位的MongoDB。
(2)支持文檔級別的鎖,相當于MySql中的行級別鎖,多個客戶端能夠同時修改同一個集合中的多個文檔,相比以前版本,WiredTiger存儲引擎帶來了更細粒度的鎖,因此MongoDB的并發性能得到了大大的提高。
(3)支持集合和索引的壓縮存儲,這樣能減少存儲的消耗而只需要較少的CPU開支。
2. 不同存儲引擎對應的數據文件不能兼容,也就是說以前版本對應的數據文件不能直接被WiredTiger存儲引擎所支持,如果要升級到3.0
的WiredTiger存儲引擎,必須先將版本升級到2.6,然后再升級到3.0,下面介紹一個單實例升級步驟:
Step1:下載最新的3.0版本的mongod二進制文件,取代2.6版本的二進制。
Step2:啟動3.0版本的mongod進程,確保使用的是默認存儲引擎MMAPv1。
Step3:利用mongodump導出數據文件。
Step4:創建新的數據目錄為WiredTiger存儲引擎。
Step5:重啟mongod實例用WiredTiger存儲引擎選項,如下:
mongod –storageEngine wiredTiger –dbpath ‘Step4創建的新目錄’
Step6:使用mongorestore恢復數據文件。
關于mongodump,mongorestore命令的使用方法可以參考《大數據存儲MongoDB實戰指南》一書。
3. 默認的存儲引擎MMAPv1在3.0版本中也有所改進,支持了集合級別的鎖,相當于MySql中的表級別鎖,以前版本都是數據庫級別和全
局實例級別的鎖,鎖的粒度有所降低。
4.復制集的也發生了一點改變,在3.0版本中,首先允許的成員最大數量增加了,可以達到50個;其次復制集中primary節點關閉時,復
制集的行為也有所變化,在3.0版本中,復制集會終止耗時較長的操作,例如索引的構造,map-reduce作業等,復制集會等到有新的
priamry節點選出后原來的primary節點才會關閉,而以前的版本只是簡單的等待10秒,不管是否選出了新的primary節點,同時現在也可
以指定參數secondaryCatchUpPeriodSecs值,明確指定等待多少秒。
5. 工具的改變,mongodump,mongorestore,mongoexport,mongoimport,mongofiles以及mongooplog工具必須連接到正在
運行的mongod實例上進行操作,不能像以前版本那樣直接通過—dbpath選項操作數據文件。
6. 本地連接權限的改變,本地連接只能創建第一個用戶在admin數據庫中,不像以前版本,本地連接沒有權限限制,能在實例上做任何操
作。同時db.addUser()命令被廢棄了,用db.createUser()和db.updateUser()來代替。
關于mongodb2.6和3.0版本有什么不一樣就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。