
作者 | talk君
物联网、车联网、工业互联网和智慧xx快速发展,标志着我们正在加速进入万物互联的时代。时序数据作为物联网的关键,是未来智能社会的基础记忆,而如何高性能、高效率的处理时序数据,则是下一代数据处理平台面临的最大挑战。
本次发布会将透彻分析时序数据库的前生今世,并阐释为何超融合时序数据库必将成为未来数据库技术的发展方向。作为下一代数据分析平台,超融合时序数据库将彻底解决过去关系型、时序型、分析型等不同种类数据库的孤岛化问题,并通过精简的技术栈和全面支持现代SQL大幅提升开发运维效率,为企业做到省心、省力、省时、省钱。

大家好,我是四维纵横创始人姚延栋,感谢大家观看MatrixDB4.0发布会直播,今天和大家分享的题目是“超融合时序数据库,定义未来记忆”。
2020年我和几个小伙伴出来创业,选择的方向是时序数据库,那和当时主流的专用的时序数据库技术路线不同的是,我们采用的是超融合时序数据库。
我们是一家创业公司,也是一个“玩游戏”的创业公司,我们玩的是一个无限的游戏。游戏分两类,一类是有限的游戏,一类是无限的游戏,有限的游戏是在边界以内玩,有固定的规则,玩的是输赢,争的是输赢。而无限的游戏是在边界上玩,没有固定的规则,玩的是规则本身,目的是为了让游戏不断的延续,目的是为了拓展边界。
我们创业的一个初衷是看到很多人,在大数据技术发展了十几年之后,仍然觉得大数据很难 大数据很复杂,以至于很多人习惯性地认为,大数据理应如此复杂,对此我们并不认同,我们认为大数据应该像水、像电、像气一样简单易用。
几年之前,有一个词叫做大数据平民化,大数据民主化,但是相关的工作并没有取得很好的成功。原因是方向没有问题,但是技术路线遇到了挑战,为此我们提出了超融合时序数据库,通过把数据存储和处理的复杂度,封装到数据库内部,使得万物互联的新时代再无数据之忧,使得人们可以像用水、电、气一样使用数据,使数据成为生产要素。
那我们提到超融合数据库,什么是超融合?融合的是什么?我们可以从两个层面来分析,第一个层面是融合数据类型,在超融合数据库出现之前,每一种数据类型都对应着一种处理该数据类型的数据库,比如说kv、比如说document、比如说column families、那超融合数据库可以在一个数据库内部,处理不同的数据类型,包括关系型数据、时序数据、GIS数据、包括类似于Json这样的半结构化数据,和Text这样的非结构化数据,第二个融合是融合处理场景,包括TP型场景、AP型场景和Streaming以及Machine Learning之类的场景,那这就是超融合数据库的融合所在。那超融合技术也是技术发展的一个自然走向。
但是,超融合数据库也面临着很多的挑战,不过超融合数据库的一个特殊类型,超融合时序数据库,已经出现并且实现产品化。
那什么是超融合时序数据库,很简单,超融合时序数据库就是关系库加时序库、再加分析库。时序数据库有三个要素,分别是插入、存储和查询,那插入操作最频繁,大概有95%到99%的操作是插入操作。而且持续场景下,没有波峰波谷要求比较平稳,持续高吞吐,并且实时数据能够插入,那存储时序数据量非常大。对效率非常敏感,因此要求比较高的压缩比,而且需要冷热分级存储。因为时序数据本身它的量很大,而不同时间点的不同时间段的时序数据其价值密度是不一样的,所有用户希望可以使用不同价格的存储介质,来去存储不同价值的时序数据,那时序场景的查询非常多样化,包括多维度的维度查询,还包括预测、模式识别、数据挖掘等等各种各样的查询,所以时序场景的查询是非常多样化的。
那是不是解决了插入存储和查询之后,时序数据库就OK了呢?其实远远不是,好,现在我们来可以看一下,根据DB-Engines在时序数据库这个细分领域,流行度排名第一的InfluxDB,对未来时序数据库功能的一个概述。去年InfluxDB在其官网公布了它的下一代产品,叫做IOx,在文章里面,它也提出了下一代时序数据库设计的13个目标,我们称之为时序13条。我们可以简单的看一下,第一条是说要支持海量的设备,大量的指标和标签,用过InfluxDB的朋友可能知道,InfluxDB建议标签数不要超过3个、5个,而它的性能也会随着指标数的增加,加速的下落。所以它的下一代时序数据库产品,第一个设计目标就是要解决海量设备、大量指标和标签的支持问题,那第二条是说,不但要很好地支持Metrics这种query,还要实现一流的分析能力。第三点是要支持多态存储、支持多机存储、支持存算分离。再往下是要灵活的内存控制,大家都知道做一个数据库经常会出现两类问题,第一类是查询很慢,第二类是Out Of Memory,所以InfluxDB也希望能够在下一代产品,对内存实现更灵活的控制,再下面是灵活的副本控制,灵活的分区机制,能够支持很强大的执行器,支持容器化,可以做到并行的导入导出,能够支持数据订阅,能够兼容生态,特别是一些新的生态可以做到云边一体,能够支持数据联邦,并且支持内嵌脚本,使得用户可以使用类似于Python、Java, R这样的语言。在数据库内对它的数据进行分析处理。
这是行业排名第一InfluxDB,在时序数据库领域摸爬滚打了七年之后,在接触了大量的场景之后,总结的下一代时序数据库应该具备的功能。我们对此非常认可,除了其中的一条就是灵活的赋能控制,我们认为这一条可以放宽。
当然了,那这是不是就是时序数据库的终局呢?我们对此并不这样认为,我们把时序数据库划分了三个代际,第一代是专用的时序数据库,典型的代表就是InfluxDB OpenTSDB这样的数据库产品,那这种时序数据库只能支持时序数据,因而很多时候都需要关系型数据库的配合,其次它只能解决偏监控类的问题,支持一些小查询。第二代是关系型时序数据库,它把关系数据和时序数据整合在一起,把时序当做是关系型数据库里面的一个数据类型,或者是说数据场景。典型的代表就是timescale,但是timescale不能很好地处理分析性查询,它的分布式能力也是比较薄弱,为此我们提出了第三代时序数据库,也就是超融合时序数据库。超融合时序数据库可以在一个数据库内,解决时序的全场景问题,不需要再去引入额外的第三方的数据库。一库搞定时序全场景,我们认为这是时序数据库的最终形态。
那第一代时序数据库和第三代数据库,它的核心区别是什么?我们可以分析一下,第一代时序数据库的典型代表InfluxDB,那InfluxDB实际上它做了大量的工作,都是在把存储引擎做成数据库,其实很多NoSQL都是核心做了一个存储引擎,然后上面包一个比较薄的执行器,
没有优化器,对用户进行服务。这些NoSQL包括InfluxDB,它其实是类似于把存储引擎做成数据库。那我们可以看一看InfluxDB在存储引擎领域做的一些迭代,大概在13、14年的时候,InfluxDB 0.8的版本使用的是levelDB、RocksDB和lmDB。
但是这三个存储都有各种各样的问题,比如说不支持热备份,比如说不能高效地支持删除,或者是说会造成文件描述符的暴涨,所以到了0.9的版本,InfluxDB引入了BoltDB,但是BoltDB又遇到了写吞吐的问题。到了0.9.5 InfluxDB,就开始引入它自研的存储引擎,基于WAL加TSM加TSI,这个存储引擎一直用到现在。比较有意思的是2020年,InfluxDB宣布要做下一代产品IOx,而这次它又换了存储引擎,它将使用Arrow做IOx的存储引擎,那么我们不免要问InfluxDB,用了五六年的自研存储引擎,WAL加TSM加TSI,到底遇到了哪些问题?其实如果我们回想一下,刚才说的时序13条里面就比较容易回答,那第一条的话就是支持海量的设备、大量的指标和标签,第二条的话就是支持分析型查询,而它的自研存储引擎,不能很好的解决这两个场景的问题。
我们前面提到InfluxDB目前不支持分析型查询,同时它的性能在指标数增多,设备数增多的时候衰减得非常严重。所以它才要在下一代产品里面,再换一次存储引擎。我们可以看到InfluxDB在过去的七八年的时间,换了这么多的存储引擎,这也说明存储对于像InfluxDB这样的NoSQL数据库来说是多么的重要。那么第三代时序数据库,也就是超融合时序数据库,是怎么做的呢?譬如MatrixDB,我们是把存储引擎做进数据库,而不是把存储引擎做成数据库,MatrixDB在一个关系型数据库内部,可以插拔不同的存储引擎。比如说关系数据引擎、时序数据引擎、空间数据引擎、Json数据的引擎等等。而且,可以实现这些数据引擎之间进行关联,并且可以确保ACID。那这是第一代时序数据库和第三代时序数据库的核心区别,一个是把存储引擎做成数据库,一个是把存储引擎做进数据库。那超融合时序数据库有什么好处呢?其实是一目了然的。左边我们可以看到是关系库,时序库和分析库支撑上层的一个应用,而使用了超融合时序数据库,就可以用一个数据库来代替过去的三个数据库,一个顶仨。那技术栈大幅简化,而开发运维的效率也会大幅地提升。
那MatrixDB是目前全球第一款超融合时序数据库,也是国内唯一一个,通过了工信部两项权威认证的产品。一个认证是分布式分析型数据库,它包含了27个必选项,24个可选项,一共51个测试项。MatrixDB全部通过。目前国内只有两个产品通过51个选项,MatrixDB是其中之一。第二个认证是时序数据库的认证,包括26个必选项和7个可选项,MatrixDB同样也是全部通过了33个测试。那除了功能非常丰富,非常强大之外,MatrixDB的性能也是非常卓越,我们做了三个场景的性能测试,前面我们提到时序数据95%到99%的操作都是数据的插入,所以我们对各种各样的场景进行了测试,这样我们列举了其中之一。感兴趣的朋友可以到我们官网去查看完整的性能测试报告。那这个场景是10万个设备,指标数从10、50、100到400不等。
我们可以看到在各个场景之下,MatrixDB的性能都是具有明显的优势,而且随着指标数增多,MatrixDB的性能优势越来越明显,大概在400个指标的时候,MatrixDB就是InfluxDB的50倍左右,这是插入。第二个评测是查询的延迟,那我们选择的是TSBS Benchmark。对比TSBS Benchmark的主要的维护者之一timescale,我们可以看到在评测结果里面,简单来说大查询对timescale具有明显的优势,而对于小查询,我们是处于在同一个量级上,大家都是在毫秒级左右。第三个测试是吞吐,也就是throughput,这个是我们的一个用户测试的场景,他发现MatrixDB和国内的一个竞品相比,吞吐量要高80倍左右。所以我们可以看到,不管是插入,还是查询的延迟,还是高吞吐还是throughput,MatrixDB都是性能卓越。当然了,性能只是诸多考虑的因素之一,除了性能用户还会关注诸多的因素。前面我们提到,时序数据库细分领域的行业排名第一。InfluxDB对未来时序数据库,设计目标的一个解读,那在这我想分享给大家的是,MatrixDB 4.0,已经实现了这13条中的11条。
除了容器化和灵活的副本控制,其他的我们已经做到很好的支持。而且还不止如此,MatrixDB还有更多的功能,是一个真真正正企业级ready的超融合时序数据库产品。它可以很好的支持线性扩展,既可以单节点部署,也可以分布式部署,能够支持资源管理,有完善的监控报警系统,能够做在线扩容,不用停业务,具备分布式备份恢复的能力,完善的支持事务,支持ACID,还有360度的安全访问机制,包括认证、权限控制、加密、审计,支持多种压缩算法,包括劣势压缩算法和通用压缩算法,支持多种索引,还支持多表关联,支持复合数据类型,包括数组Json KV等等,支持自定义类型,自定义聚集,支持持续聚集、支持物化视图,支持子查询等等。
所以我们可以看到,MatrixDB4.0非常强大,它不但性能卓越,而且功能非常非常完善,是一个真真正正的,production ready的一个企业级产品。它可以让您和您的客户,省心省力,省时省钱。
那下面我们看几个场景和案例,第一个是工业互联网,那工业互联网是智能制造的重点,也是我们国家十四五规划的重中之重。那这张图我们可以看到左边,是工业里面的工业设备、生产设备,也就是说是生产域,是OT域的设备。那通过数据采集,我们可以把这些数据插入到MatrixDB里面,而同时MatrixDB还可以对接IT域像ERP CRM这类数据,可以实现在MatrixDB内部,做到IT域和OT域数据的融合。在一个公司内部全量数据的基础之上,提供支撑,包括流程优化,包括智能分析等等,所以MatrixDB可以是工业互联网的数据基座。它可以从数据层首先实现两化融合,为智能制造打下数据基础。
这是一个车联网的例子,那这个用户之前用了像OpenTSDB这样的时序数据库,然后搭配Hive,这样的多维分析的产品,采用了MatrixDB之后,它可以用一套数据库来解决过去两个分布式系统,当然了大家知道OpenTSDB,底层是基于HBase,那HBase呢又用了ZooKeeper,和HDFS等等一堆的分布式产品,所以底层其实是很多套分布式系统。那现在的话用一套分布式系统,一个超融合时序数据库,可以解决过去很多产品。组合才能解决的场景,那这样一来的话,整个技术栈大幅简化,性能也是原来架构的10倍以上,开发运维效率大幅提升。
那这是一个物联网智慧城市的案例,随着万物开始互联,各种各样的数据开始被采集到,包括天气的数据、空气的数据,还有栅格数据,包括交通里面道路数据、车流数据、人流数据,包括人群的各种各样的数据。那这些数据,通过各种各样的传感器收集起来,实时上传到MatrixDB,然后支撑上面的各种各样的业务,包括风险预测、事故的预测、时空的大数据分析、事件流分析、交通分析等等,各种应用的场景。
下面我们再看一个云边一体的案例,这是一个能源相关的场景,在场站侧我们部署了一套,单节点的MatrixDB数据库,而集控侧部署了四套,在集控侧部署了四个节点的,MatrixDB数据库,在数据中心部署了一个,十几个节点的大集群,那这样就可以使用一套数据库,无缝地实现数据在各个层次的对接,真正的达到了云边一体。
时序数据是物联网、车联网、工业互联网和智慧城市的基础数据,而时间是时序数据最重要的属性,那么时间的本质是什么?目前尚无定论。不过哲学家黑格尔的一句话有点意思,他说时间是人们对过去的回忆,然而事物本身没有记忆,所以无法形成回忆,而超融合时序数据库将会为未来的事物赋予记忆,进而拥有智能。超融合时序数据库,定义未来记忆。超融合时序数据库,为万物互联的时代,提供一站式的数据平台,让您和您的客户省心省力,省时省钱,感谢大家观看MatrixDB 4.0发布会,谢谢。
更多精彩,
赶紧关注视频号@一刻talks吧!
别忘了给喜欢的内容点赞哦~
往期精选
★ 对话樊登,读书的人与不读书的人,有什么区别?
★ 马斯克只高兴了8分钟
★ 被“异化”的岂止外卖骑手?还有都市大部分的“狂奔者”





