zoukankan      html  css  js  c++  java
  • MongoDB3.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()来代替。

     

  • 相关阅读:
    公共控件
    winform 窗口 属性
    ADO
    笔记备忘
    常识 备忘
    Symbol
    Promise
    定义类 属性 方法 执行
    x is string str ======x is string 变量名
    ManualResetEvent多线程进行,全部完成后,回调
  • 原文地址:https://www.cnblogs.com/guoyuanwei/p/4373082.html
Copyright © 2011-2022 走看看