DolphinDB智臾科技CEO周小华:《从反向控制的终极目标谈时序数据库的架构设计》

2021年4月25-26日,由极客邦科技与InfoQ中国主办的2021ArchSummit全球架构师峰会在上海召开。本次大会聚焦业界强大的技术成果,秉承“实践、案例为主”的原则,展示先进技术在行业中的典型实践,以及技术在企业转型、发展中的推动作用。

ArchSummit主会场

DolphinDB智臾科技CEO周小华博士受邀参加本次会议,并在主会场做《从反向控制的终极目标谈时序数据库的架构设计》演讲。主会场其他演讲主题还包括网易副总裁汪源博士作的 《打造开放的云原生操作系统和系统软件架构》、顺丰科技架构委员会负责人刘潭仁作的《顺丰科技架构升级之路》等。

DolphinDB智臾科技CEO周小华发表《从反向控制的终极目标谈时序数据库的架构设计》主题演讲

时序数据库区别于传统关系型数据库,是针对存储和处理海量时间序列数据而设计的数据库,广泛应用于金融、工业、能源、通信和交通运输等领域。根据国际权威的数据库流行度排行榜网站DB-engines的统计,时序数据库的流行度在过去两年实现了爆发式增长,其增速其他类型的数据库。

周小华在会上表示,在国外的金融行业,时序数据库已经应用了很长一段时间,华尔街上的很多公司在2000年之前就开始使用时序数据库来解决金融行业的问题了。国内金融领域,特别是券商、私募、公募等行业,差不多近三年在DolphinDB的带动下才开始使用时序数据库;而在物联网行业,全球范围内使用时序数据库的时间还不到10年,国内差不多有3到5年的时间,基本都停留在阶段:通过大量使用单机版时序数据库完成数据采集、数据查询、监控等简单工作。周小华预计,在未来5年内,时序数据库会迎来爆发性增长。

附周小华博士演讲内容

大家早上好,我是智臾科技的创始人兼CEO周小华。今天非常荣幸能参加InfoQ主办的ArchSummit架构师峰会,和大家聊一聊我熟悉的时序数据库架构设计。

今天能够站在这儿,要感谢时序数据库近几年的高速发展。我从2012年开始研发DolphinDB时序数据库,到今天已经有9年的时间了。但是直到近几年,随着物联网的兴起,媒体人、投资人以及技术圈的人,才开始关注时序数据库。

DB-Engines - Ranking by database model

金融行业其实很早就开始使用时序数据库了。美国的华尔街在2000年之前就已经在使用时序数据库,当然国内的金融行业比较晚,近几年才开始,基本上是DolphinDB带动起来的。 时序数据库在物联网领域的应用比较广泛,目前主要的行业包括工业控制、能源、交通和通讯等行业。这些行业的信息化程度高,数据量大,有很多适合时序数据库的应用场景。

时序数据库应用领域

时序数据库在数据库的大家庭里算是一个新物种,但是近几年更新速度非常快。这是今年4月份DBENGINES的时序数据库榜单(下图),上面有35个不同的时序数据库。

DB-Engines - Ranking of Time Series DBMS

排在的是InfluxDB,目前单机版开源;排在第二的很多人可能没听说过,kdb+,很老牌的时序数据库,主要用在金融行业;排在第三的是普罗米修斯,主要用在系统监控;智臾科技的DolphinDB也有幸出现在这个榜单上,目前排在第11位。

当然今天我们关注的不是排名,而是这些数据库背后不同的实现方法和应用场景。可以用百花齐放来形容时序数据库的技术栈,几乎没有两个时序数据库的实现方法类似,这就引出今天的话题,时序数据库的终极价值是什么,我们究竟该如何设计时序数据库的架构?这是一个非常开放的话题,在此,我想分享一下DolphinDB这几年来对时序数据库的一些思考。

个问题,时序数据库的终极价值是什么?投资人对这个话题特别感兴趣。交易型关系数据库经过40年的发展,定位已经非常清楚:保障我们的业务系统正常运行,响应速度快,不丢数据,数据正确。在我们看来,时序数据库的目标有所不同。一个企业之所以要引入时序数据库,是希望从海量的时序数据(历史的,或者实时的)中去发掘价值,而不是为了满足业务流程的需要。

时序数据库在金融行业的应用已经比较深入,从交易系统中采集数据、存储到时序数据库、研发人员离线建模,然后把模型用于实时计算或用于交易决策,用互联网行业的话来说,已经形成了一个闭环。时序数据库在物联网行业的应用相对来说,目前还比较简单。一个常见路径是数据采集、存储、可视化,另一个常见路径,数据采集、简单的预警和监控、可视化。这两条路径的数据流动都是单向的,没有像金融那样,能够反向控制我们的设备,创造的价值有限。所以投资人不停的在问,物联网有价值吗?时序数据库对物联网有价值吗?我说有价值,而且很有价值,但是需要一点时间,做到跟金融一样,我们能够根据时序数据和其它的数据一起,开发出好的模型,并在实时的生产环境中,去影响、去控制物联网的设备,价值就发挥出来了。

时序数据库的终极价值

好,我们认同反向控制很重要。那么要实现反向控制,时序数据库的架构和功能该怎么设计?下面这些点是DolphinDB在开发实践中总结的。

我们从分布式存储、实时计算、研究开发和成本控制四个角度谈一下。

时序数据库架构设计考量点

(1)可靠性和稳定性很容易理解。你的系统要能够实时去控制你的交易,控制你的设备,稳定性非常关键

(2)很多人有个误区,认为时序数据库不支撑核心业务,数据的一致性,以及支不支持事务都无所谓。如果我们只是用于可视化,一些简单的统计,的确不重要。但是希望通过数据来决策,反控我们的交易,我们的设备,就很重要。举个例子,股票市场的快照数据3秒钟一批,如果我们在交易决策的时候,一部分股票是3秒钟前的数据,一部分股票是现在的数据,那肯定会出大问题。

(3)实时计算中,流批一体是一个关键点。主要是时间成本,如果研发出来的模型,在生产环境中要重新实现,而且要花很长时间,你的竞争优势就没了,甚至有可能研发出来的模型都了。

(4)实际问题,尤其是每一个行业中的问题,远远比我们想象的复杂,系统能够处理应对复杂的计算场景,能大大提升用户的体验。

(5)函数库大家可能都会忽略,认为技术含量不高,但实践中非常有价值。为什么那么多人喜欢用python和matlab?不仅仅是因为他们的编程语言很好用,性能很好,更重要的是,他们的函数库很强大。时序数据库要为各个行业创造价值,函数库一样很重要。DolphinDB目前已经包含1000+函数,还在持续增加中。当然,要支持强大的函数库,还需要做到存储和计算分离,系统的扩展性也是一个关键点。

(6) 现在大数据已经不再是大公司的专属。在金融领域额,一个券商做交易研发,用到的数据量级是50T,一个几人规模的私募也是这个量级。小机构对成本敏感,如何轻量级一站式的设计,降低软硬件的成本,降低维护的成本,对时序数据库的推广很关键。

DolphinDB首先切入到了金融行业,基本上把交易执行之前的所有环节都走通了。然后跟很多其它行业的集成商进行深度的合作,把金融走过的路,再走一遍。当然其它行业很多,需要更多的时间,这也是我们今后几年要去做的事情。

DolphinDB金融/物联网代表客户

这些是DolphinDB在金融和物联网领域的代表性客户。金融领域的客户已经覆盖券商、私募、公募、期货公司、研究机构。金融领域接受时序数据库还是很快的,排名前10的券商有一半已经在跟DolphinDB合作,所有100多个券商的渗透率已经到10%,年底估计能到20%。物联网领域的客户主要是各个行业头部的集成商,DolphinDB非常愿意与各行业集成商深度合作,去打造各个行业的物联网解决方案。

DolphinDB接下来的几年将在实时计算、多模数据库、生态建设和云服务上投入更多的资源。今天时间比较有限,欢迎感兴趣的朋友线下交流,谢谢大家。

DolphinDB典型应用场景
来源 https://zhuanlan.zhihu.com/p/368472104

相关文章