mongodb2.X版本和3.X版本的区别[mongodb教程]

python

mongodb不同版本的区别:

1. 数据库的安全性

3.x 版本默认WriteConcern 为{w:1},2.x版本为 {w: 0}

3.x 默认使用更安全的 SCRAM-SHA-1 算法鉴权,代替了2.x 版本默认的 MONGODB-CR

3.x 支持加密引擎对存储的数据进行加密

2. 服务性能

版本 mmapv1 wiredtiger2.x DB级别锁 不支持3.x 集合级别锁 文档级别锁

如果你使用2.x存在高并发时的性能问题,那么升级到3.x后,问题会得到极大的改善。

3. 存储成本不同

版本 mmapv1 wiredtiger2.x 不支持数据压缩 不支持3.x 不支持数据压缩 支持snappy、zlib等压缩

很多用户从 2.x 升级到 3.x + wiredtiger 后,惊奇的发现,数据量居然变小了很多,比如原来100G的数据,升级后只有30G了,这是因为wiredtiger默认使用snappy压缩,存储成本通常只有mmapv1的10%-30%左右。

4. 复制速度

3.x 在增量同步数据时,拉取oplog和重放oplog完全流水线化,效率更高

3.4 对全量同步做了改进

在拷贝数据的时候,同时建立所有的索引(以前版本只有_id索引是在同步数据时建立的)

拷贝数据的阶段,secondary 不断拉取新的 oplog,同步效率更高,同时避免了出现oplog不足无法同步的问题。

5. 更简单、高效的分片集群

MongoDB 3.2 开始,分片集群的Config Server 也是一个复制集,之前的版本则是多个独立的mongod节点,维护起来更简单。

MongoDB 3.4 开始,分片集群的迁移由Config server负责,并支持同时发起迁移任务,迁移效率更高。

3.x 版本里还增加了其他一些很给力的功能特性,比如

部分索引,可以让索引占用的空间更小

文档校验,灵活的文档模型下

Collation,支持本地化语言排序

只读视图,让复杂的查询写起来的更简单

更强大的aggregation支持

以上是 mongodb2.X版本和3.X版本的区别[mongodb教程] 的全部内容, 来源链接: utcz.com/z/528915.html

回到顶部