风吹海蓝月 發表於 2020-4-26 15:51:00

mongodb版本区别

<p>据不完全统计,目前还有很多同学在生产环境使用着 MongoDB 2.x 版本的服务,偶尔也会听到一些抱怨,但有些抱怨其实很没道理,因为抱怨的问题在最新版本的MongoDB里已经解决了,你缺的只是一次版本升级。</p>
<h2>1. 更安全的数据库</h2>
<ul>
<li>3.x 版本默认WriteConcern 为{w:1},2.x版本为 {w: 0}</li>
<li>3.x 默认使用更安全的 SCRAM-SHA-1 算法鉴权,代替了2.x 版本默认的 MONGODB-CR</li>
<li>3.x 支持加密引擎对存储的数据进行加密</li>
</ul>
<h2>2. 更高的服务性能</h2>
<table>
<thead>
<tr><th>版本</th><th>mmapv1</th><th>wiredtiger</th></tr>
</thead>
<tbody>
<tr>
<td>2.x</td>
<td>DB级别锁</td>
<td>不支持</td>
</tr>
<tr>
<td>3.x</td>
<td>集合级别锁</td>
<td>文档级别锁</td>
</tr>
</tbody>
</table>
<p>如果你使用2.x存在高并发时的性能问题,那么升级到3.x后,问题会得到极大的改善。</p>
<h2>3. 更低的存储成本</h2>
<table>
<thead>
<tr><th>版本</th><th>mmapv1</th><th>wiredtiger</th></tr>
</thead>
<tbody>
<tr>
<td>2.x</td>
<td>不支持数据压缩</td>
<td>不支持</td>
</tr>
<tr>
<td>3.x</td>
<td>不支持数据压缩</td>
<td>支持snappy、zlib等压缩</td>
</tr>
</tbody>
</table>
<p>很多用户从 2.x 升级到 3.x + wiredtiger 后,惊奇的发现,数据量居然变小了很多,比如原来100G的数据,升级后只有30G了,这是因为wiredtiger默认使用snappy压缩,存储成本通常只有mmapv1的10%-30%左右。</p>
<h2>4. 更快的复制</h2>
<ul>
<li>3.x 在增量同步数据时,拉取oplog和重放oplog完全流水线化,效率更高</li>
<li>3.4 对全量同步做了改进
<ul>
<li>在拷贝数据的时候,同时建立所有的索引(以前版本只有_id索引是在同步数据时建立的)</li>
<li>拷贝数据的阶段,secondary 不断拉取新的 oplog,同步效率更高,同时避免了出现oplog不足无法同步的问题。</li>
</ul>
</li>
</ul>
<h2>5. 更简单、高效的分片集群</h2>
<ul>
<li>MongoDB 3.2 开始,分片集群的Config Server 也是一个复制集,之前的版本则是多个独立的mongod节点,维护起来更简单。</li>
<li>MongoDB 3.4 开始,分片集群的迁移由Config server负责,并支持同时发起迁移任务,迁移效率更高。</li>
</ul>
<p>3.x 版本里还增加了其他一些很给力的功能特性,比如</p>
<ul>
<li>部分索引,可以让索引占用的空间更小</li>
<li>文档校验,灵活的文档模型下</li>
<li>Collation,支持本地化语言排序</li>
<li>只读视图,让复杂的查询写起来的更简单</li>
<li>更强大的aggregation支持</li>
<li>……</li>
</ul>
<h2>升级步骤建议</h2>
<p>因为2.x 到 3.x 改动很多,在升级的时候,必须先升级到3.0版本,步骤参考Upgrade MongoDB to 3.0,然后从3.0再往更高的版本升级。</p>
<p>虽然通过上述方式,MongoDB能做到不停机的从2.x升级到3.x,但强烈建议升级的时候,使用更保险的方式。</p>
<ol>
<li>建立新的3.x复制集</li>
<li>mongodump 2.x 复制集的数据</li>
<li>mongorestore 到3.x复制集</li>
<li>等待3.x服务稳定,将2.x复制集下线</li>
</ol>
<h2>版本使用建议 (2016-12-23版)</h2>
<table>
<thead>
<tr><th>版本</th><th>建议</th></tr>
</thead>
<tbody>
<tr>
<td>2.x</td>
<td>强烈建议升级到3.2</td>
</tr>
<tr>
<td>3.0</td>
<td>建议升级到3.2</td>
</tr>
<tr>
<td>3.2</td>
<td>强烈建议使用</td>
</tr>
<tr>
<td>3.4</td>
<td>鼓励使用</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>原文链接:https://mongoing.com/archives/3700</p><br><br>
来源:https://www.cnblogs.com/guantou1992/p/12780123.html
頁: [1]
查看完整版本: mongodb版本区别