传统与新兴领域的融合——NewSQL的兴起与云化

编者按:最近10年数据库领域的发展路径基本可以概括为SQL->NoSQL->NewSQL,NewSQL支持传统的SQL协议,但是无论是在功能还是在底层存储上都发生了巨大的演进,在功能上支持如Json、全文索引、地理位置、K-V等丰富的功能,在存储引擎上支持如WiredTiger、RocksDB、MMAP等,MongoDB就是NewSQL的代表之一,本文重点介绍。

本次旧金山QCon大会NoSQL和NewSQL也是重点话题,当然NewSQL还是更火热一些,其中的典型代表就是MongoDB,来自MongoDB公司的Sig给大家分享了MongoDB 3.4版本的一些新特性,然后顺便给大家安利了一下MongoDB在云上的产品和售卖途径。

从PPT中可以看到MongoDB现在的发展思路就是提供一站式的解决方案,3.4版本支持的功能有:

传统与新兴领域的融合——NewSQL的兴起与云化

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还专门搭建了一个电商网站:

传统与新兴领域的融合——NewSQL的兴起与云化

从中也能看出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团队,也欢迎大家体验和使用。

沟通和互动以及更多干货,欢迎关注新浪微博:@阿里云云栖社区

相关推荐