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()来代替。

 

时间: 2024-10-05 11:43:36

MongoDB3.0新版本几点介绍的相关文章

mongodb3.0集群部署及数据迁移

本文主要介绍mongodb3.0新特性.集群部署及从mongodb2.6中数据迁移到mongodb3.0. mongodb3.0介绍 一.mongodb3.0新特性 引入了插件式存储引擎API 新增WiredTiger存储引擎 支持文档级别的锁 二.WiredTiger存储引擎特性介绍 文档级别锁 WiredTiger通过MVCC实现文档级别的并发控制,即文档级别锁.这就允许多个客户端请求同时更新一个集合内存的多个文档,再也不需要在排队等待库级别的写锁.这在提升数据库读写性能的同时,大大提高了系

Mongodb2.6升级到Mongodb3.0.2

停止老版本Mongodb >use admin >db.shutdownServer(); 下载解压新版本Mongodb wget https://fastdl.mongodb.org/linux/mongodb-linux-i686-3.0.2.tgz gzip -d mongodb-linux-i686-3.0.2.tgz tar xvf mongodb-linux-i686-3.0.2.tar mv mongodb-linux-i686-3.0.2 mongodb3.0.2 创建两个目录

普林斯顿公开课:算法第0章,课程介绍

课程介绍 这门课程核心内容是算法和数据结构. 具体的算法和数据结构如下: 数据类型:堆栈.队列.背包.并查集.优先队列. 排序:快排.并排.堆排.基数排序 查找:BST.红黑BST.哈希表 图:BFS.DFS.Prim.Kruskai.Dijkstra 字符串:KMP.正则.TST.哈夫曼.LZW 高级:B树.后缀数组.最大流 为什么要学习算法 算法在各个领域中都有应用. 算法可以提高编程效率. 算法可以将现实生活中的物理公式转换成代码,算法可以模拟现实世界,然后发现世界的奥秘. 算法是很有趣的

[译]AngularJS 1.3.0 开发者指南(一) -- 介绍 (转)

http://www.cnblogs.com/lzj0616/p/6440563.html [译]AngularJS 1.3.0 开发者指南(一) -- 介绍 Angular是什么 ? AngularJS是一款针对动态web应用的结构框架. 它可以让像使用模板语言使用HTML, 并且可以扩展HTML的语法来明确简洁的表示应用组件. Angular的数据绑定机制和依赖注入机制排除了许多原本你不得不写的代码. 它作用于浏览端, 使得它成为任何服务端技术的良好伙伴. Angular是为了弥补HTML在

MongoDB3.0新特性

3月3日,MongoDB3.0终于发布了. 主要特点包括了对之前收购的WiredTiger存储引擎的支持,插件式存储引擎API,SCRAM-SHA-1认证机制,并改进了解释功能.此外,包含了自动化.备份和监控的MongoDB运维管理现在也可用了. 下面一张图可以概括Mongodb 3.0的改进: 降低运营开销高达95% 多达50副本集成员的全局分销 新的灵活的存储架构,包括WiredTiger存储引擎 7-10倍更好地写入性能 减少高达80%的存储与压缩

centso安装mongodb3.0

安装mongodb3.0 添加mongodb的软件源文件 在终端输入命令 sudo touch /etc/yum.repos.d/mongodb-org-3.0.repo 编辑mongodb软件源文件,增加mongodb软件源 在终端输入命令 vim /etc/yum.repos.d/mongodb-org-3.0.repo 然后按键盘i键,复制下面信息到文件中 [mongodb-org-3.0] name=MongoDB Repository baseurl=https://repo.mong

mongodb3.0 性能测试报告 三

mongodb3.0 性能测试报告 一 mongodb3.0 性能测试报告 二 测试环境: 服务器:X86 pcserver   共6台 cpu:  单颗8核 内存:64G 磁盘: raid 10 操作系统 :centos 6.5 mongodb:3.0 java驱动:2.13.0 jdk:1.6 网络:千兆以太网 测试一: 5台服务器分片,一台作为压力服务器 场景一:每文档1000字符,200线程同时写. 每秒66439次插入 场景二:背景数据1亿条大小为10k的数据.200线程随机进行查询.

mongodb3.0 db.addUser报错

> db.addUser("ydkt","ydkt") 2015-06-19T09:22:37.004+0800 E QUERY TypeError: Property 'addUser' of object admin is not a function at (shell):1:4 > 原来在mongodb3.0中addUser已被废弃,具体参考: http://docs.mongodb.org/manual/reference/method/db.

HiWork发布1.5.0新版本——集成第三方应用达到44种

HiWork将于8月14日发布1.5.0新版本,到目前为止,HiWork集成第三方应用达到44种:机器人小Hi面世,虽然她现在还很弱小,经常隐身,但你已经可以召唤她为你播报天气预报以及让她帮忙将世界多数国家语言文字翻译为中文,还可以将中文翻译为英文. 在新版本中,可以根据团队沟通需要,为访客设置账号(受限账号),将实习人员.客户.外包人员或第三方监理人员等邀请进团队中相互配合共同完成工作,阶段性工作完成之后可以停用访客账号(受限账号). 在HiWork中进行超链接分享时,团队成员可以不用点击直接