APP制作使用MongoDB3.0改进版本的方法
一、APP开发管理工具之MongoDB 3.0版本的改进
MongoDB 3.0版本于2015年3月3日正式发布,该版本标志蕾MongoDB的发展进入了一个全新的阶段。上一个MongoDB版本号是2.6,按照习惯这个版本号应该为2.8,怎么下子就跳到3.0了呢?据MougoDB大中华区首席技术顾问唐建法介绍,因为这个版本有了极大的改进,用2.8这个版本号有点委屈,因此MongoDB市场部王张命名为3.0。
MougoDB 3.0版本有4个方面的改进,如图8-14所示。深圳APP开发公司现在下面分别描述MougoDB 3.0版本4个方面的改进。
1.灵活的存储架构
在MongoDB 2 6之前的版本中只支持单的基于二内存映射技术的存储引擎MMAP
在MongoDB 3 0版本中改进了MongoDB的架构,引入插件式存储引擎API,目前支持改进的集合锁级别的ⅢIAP Vl存储引擎和文档锁级别的WiredTiger存储引擎,MongoDB 3.0版本的架构如图8-15所示。
MongoDB 2.6版本的删IAP存储引擎最大的问题是库锁,这意味着当多个客户端并发访问个库时.如果某个客户端正在进行写操作,其他客户端都必须排队等待。MongoDB达到了定的并发量后,库锁对性能影响十分巨大,快的打车App曾经使用MongoDB处理LBS,但因为MongoDB库锁问题,最后转为自研发LBS方案。
MongoDB 3.0版本中MMAP存储引擎得到了改进,库锁变为集合锁。MongoDB 3.0版本最核心的变化是增加了(收购而来)高性能、可伸缩的WiredTiger存储引擎,使MongoDB的性能得到前所未有的提升。特别是WiredTiger存储引擎实现了文档级别的锁,这意味着如果多个客户端同时更新个集合内的多个文档,再也不需要因为库锁而排队等待了。
2.性能提升7~10倍
随着MongoDB 3.0版本的发布,MongoDB在官方微博中发表了一篇性能测试报告(ttps://ww MollgoDB com/blog/post/performance-
testing-MongoDB-30-part -l-1hroughpu -improveuients -measured-yesb).详细对比了MongoDB 2.6和MongoDB 3.0版本的性能差别。
在YCSB的测试中,MongoDB 3 0版本在多线程、批量插入场景下,比MongoDB 2 6版本大约有7倍的增长。在95%读、5%写的场景下:
MongoDB 3.0比MongoDB 2.6版本多4倍的并发量。在50%读、50%写的场景下,MougoDB 3.0比MongoDB 2.6版本多大约6倍的并发量。
3.存储空间最多减少80%
MongoDB 3.0版本新增fviredTiger存储引擎,支持对所有的集合数据进行压缩,支持的压缩选项包括:不压缩、SnAppy压缩和Zlib压
SnAppy压缩和Zlib压缩的对比如下:
SnAppy压缩:支持的压缩比低,但比较节省CPU资源。
Zlib压缩:支持的压缩比高,最高可压缩80%的文件大小,但比较消耗CPU资源其中SnAppy压缩是默认的压缩方式,用户可以根据自己的需求选择合适的压缩选项
这对于广大MongoDB使用者来说是个福音,在NnviAP存储引擎中,采用预分配机制分配大文件用于存放数据,drop、remove、compact等操作都不会释放磁盘空间,但是可以使预分配的空间重用。使用了MongoDB 3 0版本的压缩选项后可以节省更多的存储空间。
二、运维成本最多降低95%
MongoDB 2.6版本中如果用户使用了副本集、分片等集群方式,监控、备份和管理整个集群需要使用烦琐的命令。
MongoDB 3.0版本的高级企业版中(MongoDB 3 0包括社区版和高级企业版),新增了“Ops Ma nager”管理工具,通过里面集成的RESTful API和管理后台,让用户很方便地监控、备份和管理整个集群。好了,APP开发公司关于MougoDB 3.0的使用以及新旧版本的使用经验介绍本文就到这里,谢谢您的关注,希望能给您的APP开发工作有所帮助,博纳网络编辑整理。