本次旧金山QCon大会NoSQL和NewSQL也是重点话题,当然NewSQL还是更火热一些,其中的典型代表就是MongoDB,来自MongoDB公司的Sig给大家分享了MongoDB 3.4版本的一些新特性,然后顺便给大家安利了一下MongoDB在云上的产品和售卖途径。
从PPT中可以看到MongoDB现在的发展思路就是提供一站式的解决方案,3.4版本支持的功能有:
Document:支持丰富的Json格式和语法,虽然其它SQL引擎如MySQL也开始支持Json,但是MongoDB在这方面还是更强大一些,还有灵活的schema支持,这也是MongoDB的优势所在.
关系类型:支持复杂的join和视图,还支持schema合法性检查,比较实用,据了解MongoDB未来还会支持事务,争取与传统关系数据库功能补齐.
K-V类型:支持水平扩展,数据全内存,延迟比专用的NoSQL数据库还是要大一些,可以作为一站式解决方案的补充.
空间地理类型:支持GeoJson,在目前LBS应用兴起的大背景下大有用武之地.
Graph:支持图和在图上的递归遍历查找,目前图计算也正在慢慢崛起,算是一个不错的布局.
Search:支持facets搜索和文本搜索,facets搜索类似搜索引擎中的OR条件搜索,属于一种暴力遍历搜索,适合doc集合比较小的token,文本搜索即传统的搜索,当然词库还是要自己搞的,阿里云MongoDB目前使用了阿里自家的词库AliWS.
Binaries:图片、文件或其它二进制数据,适合做对象存储.
用这些一站式功能MongoDB还专门搭建了一个电商网站:
从中也能看出MongoDB对于中小型规模的公司来说功能还是很强悍的.
当然运维MongoDB还是有些技术挑战的,MongoDB顺势推出了云上的PaaS版本Atlas,主要目的就是为了降低用户的运维成本,并让计算真的触手可及,云上版本功能也比较丰富,除了刚才介绍的3.4版本固有功能之外,Atlas还提供如下功能:
升级:小版本自动滚动升级,大版本停机升级需要用户批准
高可用:5个9 99.999%,三个副本分布在三个不同机房
安全:多层的解决方案,有SSL、IP白名单、防火墙、用户名&密码、VPC、数据加密等
备份&恢复:持续备份,多个snapshot,可以选取适合自己的备份数据量,当然成本也是不同的
ScaleUP&ScaleDown:可以给一个node加入更多replica set,也可以加入更多shards
监控&报警:提供多种metrics的监控和报警
有了这些功能之后,开发只需要关注数据和数据之间的关系即可
虽然通篇在说MongoDB,但反应的大趋势是传统SQL、NoSQL与新兴领域等的融合,融合的产物就是所谓的NewSQL,虽然大家对NewSQL的理解各不相同,但是NewSQL面对的挑战大家应该都是有共识的,如LBS应用、IoT带来的大数据&复杂格式数据、对于存储&检索一体化的需求、对于OLTP和OLAP融合的需求,MongoDB目前也只是解决了部分问题,未来还有很长的路要走,其它的NewSQL引擎如MemSQL、VoltDB、SAP HANA等也在飞速发展之中,一些老牌的关系数据库如PostgreSQL也在不断迎接这些挑战并吸收最新的技术来求变,相信未来这些DB之间的界限会越来越模糊,大家共同面对的挑战反而是越来越清晰。
而且在云计算兴起之后,NewSQL和各个云平台的结合也越来越紧密,很多NewSQL服务提供商直接通过在云平台上再建设自己的PaaS对用户提供服务,MongoDB的Atlas算是一个例子,后续我们会分享到的AeroSpike也是这种思路,云平台在直接对用户提供自产云服务的同时,作为一个基础设施平台也极大繁荣了第三方生态,用户的选择也更趋多样性和便利。
说到这里顺便也安利一下阿里云MongoDB/ ApsaraDB for MongoDB,阿里云MongoDB除了支持上述提到的功能之外,还支持如SQL审计等功能,而且在社区开源版本的基础上做了很多性能优化相关的工作,这个团队技术实力也是非常强大, MongoDB在中国一共有9位MongoDB Certified Professional,其中有3位在阿里云MongoDB团队,也欢迎大家体验和使用。
来源:中生代技术