2016美国Qcon解读:传统与新兴领域的融合——NewSQL的兴起与云化

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 最近10年数据库领域的发展路径基本可以概括为SQL->NoSQL->NewSQL,NewSQL支持传统的SQL协议,但是无论是在功能还是在底层存储上都发生了巨大的演进,本文就NewSQL的代表之一MongoDB做大概介绍

编者按:最近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版本支持的功能有:

6a6903baa4e98ac3ae87b1a1c31f8d236ae25dfa

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

b0efb971894d301c423e09709d862a060d6f8bbd

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

相关文章
|
人工智能 算法
第十三届蓝桥杯真题解析
第十三届蓝桥杯真题解析
243 3
|
编解码 JSON 应用服务中间件
Netty入门到超神系列-Netty开发Http服务器
这章我们使用Netty来写一个Http服务器类似于Tomcat ,当然Netty和Tomcat是有很多的异同的,比如通信协议,Tomcat是一个基于Http协议的Web容器,而Netty能够通过codec自己来编码/解码字节流 ,因此Netty可以通过编程自定义各种协议,我们今天的目的还是对Netty练练手。
488 0
|
消息中间件 存储 XML
分布式消息队列RocketMQ工作原理与应用(二)
第 2 章 RocketMQ的安装与启动 一、基本概念 1 消息(Message) 消息是指,消息系统所传输信息的物理载体,生产和消费数据的最小单位,每条消息必须属于一个主题。 2 主题(Topic)
915 0
|
JavaScript 前端开发 中间件
谈谈复杂应用的状态管理(上):为什么是 Zustand
谈谈复杂应用的状态管理(上):为什么是 Zustand
1636 0
|
数据可视化 计算机视觉
【计算机视觉】DINOv2的四种模型代码示范(含源代码)
DINOv2利用最大模型ViT-g的知识蒸馏,而不是从头开始训练,从而提高了性能。这个过程包括将知识从更大、更复杂的模型(教师)转移到更小的模型(学生)。学生模型被训练来模仿教师的输出,从而继承其优越的能力。这个过程提高了小型模型的性能,使它们更有效率。
4981 0
|
新零售 大数据 云计算
泰山众筹商城系统开发案例详细/方案程序/成熟技术/开发项目/源码平台
  新零售指的就是线上、线下和物流必须结合在一起。也就是说,线下的企业必须走到线上去,线上的企业必须走到线下来,线上、线下同现代物流结合在一起,才能真正创造出新的销售方式。
|
算法 决策智能 C++
干货 |【算法】禁忌搜索算法(Tabu Search,TS)超详细通俗解析附C++代码实例
干货 |【算法】禁忌搜索算法(Tabu Search,TS)超详细通俗解析附C++代码实例
1338 0
|
域名解析 弹性计算 NoSQL
飞天加速计划·高校学生在家实践——ECS服务器初体验
我当前是计算机专业研二学生,现就读于北京科技大学,主攻方向是计算机视觉(CV)中的图像分割,我们实验室也有GPU计算集群,不过在知乎偶然一次机会了解到阿里云的高校计划,从链接点进来后,经过一系列熟悉的操作,我慢慢了解到云服务器ECS这一概念。