时序数据库,爆发期将至传媒
要知道,数据库的开发难度仅次于操作系统,要花上七八年甚至更久的周期,所以将一个数据库的原型转变成真正可商业化落地的项目,是一个漫长且充满困难的过程。然而,周小华做到了。他从华尔街顶级投资银行发现商机,用四年时间从零开始打造了分布式时序数据库 DolphinDB 的原型,然后回国创业,将先进的时序数据库技术引入国内。本文,InfoQ 采访了浙江智臾科技有限公司(DolphinDB 智臾科技)CEO 周?华,以期深入了解这个处在爆发前夜的技术。
嘉宾:周小华
编辑:钰莹
1为什么说这个时代需要分布式时序数据库?
在国外的金融行业,时序数据库已经应用了很长一段时间,华尔街上的很多公司在 2000 年之前就开始使用时序数据库来解决金融行业的问题了。国内金融领域,特别是券商、私募、公募等行业,差不多最近三年在 DolphinDB 的带动下才开始使用时序数据库。
在物联网行业,全球范围内使用时序数据库的时间还不到 10 年,国内差不多有 3 到 5 年的时间,基本都停留在第一阶段:通过大量使用单机版时序数据库完成数据采集、数据查询、监控等简单工作。周小华预计,在未来 5 年内,时序数据库会迎来爆发性增长。
在物联网领域,随着数据量的爆炸式增长,越来越多的场景每秒超过 50 万测点甚至 1000 万测点。对于这个量级的数据,单机版时序数据库已经无法满足业务要求了。与此同时,最近几年,分布式时序数据库技术越来越成熟和完善,已经进入到大规模落地应用阶段。虽然物联网领域对于时序数据库的应用还处于比较浅的阶段,但是企业逐渐意识到数据的价值,未来会有越来越多的企业希望利用时序数据库挖掘出更多有价值的信息。
在金融领域,由于使用时序数据库的第一批头部客户的示范作用,大部分金融机构会很快意识到采用高性能时序数据库所带来的竞争优势。5 年后,时序数据库会在金融机构成为标配。
当然,任何一项技术的成熟都离不开资本的进入。周小华表示,投资机构今年对时序数据库赛道的热情高涨。据周小华介绍,投资机构对时序数据库的调研,主要关注的是短期内能否在金融领域实现快速增长,以及中长期时序数据库在物联网的应用场景的变现能力。
周小华认为,只有当时序数据库可以根据采集的数据智能控制设备,优化流程和工艺,或者影响交易和决策,其价值才会被体现,更多的客户也才会接受这一新型数据库。这也是未来时序数据库发展的重要方向。此外,投资机构也比较关注产业的上下游问题。在物联网领域,时序数据库的推广离不开集成厂商的支持。国内有大量做系统集成的软件企业,如果可以和这些厂商进行深度合作,将会对时序数据库的未来推广起到非常重要的作用。
2以 C++ 历经十年打磨
在华尔街工作的时候,周小华就发现,很多顶级券商与对冲基金处理高频数据的一款时序数据库存在一些非常明显的缺点。例如,由于其开发时所处时代的局限,没有内置分布式功能,无法实现分布式计算;语言晦涩难懂,学习与维护成本极高。周小华敏锐地意识到,如果能解决分布式问题,并且更容易使用,无疑会有广阔的市场。
在这样的时代背景下,加之在华尔街的亲身所感,周小华与几位志同道合的旅美博士,从 2012 年开始从事分布式时序数据库的原型开发。当时数据库开发的主流编程语言基本都是 C 和 C++。由于 C++ 的开发效率比 C 高很多,所以 DolphinDB 就自然地选择了 C++。由于 Java 的开发人员比 C++ 还要多一些,也有一些其他的时序数据库开发选择的是 Java。
周小华表示,DolphinDB 的开发过程可以分为四个阶段。第一个阶段是原型开发,主要是单机版原型,包括了时序存储引擎、编程语言和计算引擎。这个过程大概用了四年时间。花费如此长时间打磨的主要原因是绝大多数单机版数据库原型不包含编程语言和函数库,而周小华认为与关系型数据库不同,对时序数据库而言,函数库和编程语言是非常重要的。关系型数据库要确保业务流程的正常运转,并保证数据的正确性,这是关系数据库最主要的可信功能;但是时序数据库最核心的功能是从海量数据中发掘价值,为业务提供帮助。数据分析的必要条件是编程语言与函数库,因此周小华在这个阶段就主持开发了一门完整的编程语言和非常强大的函数库。
第二阶段,DolphinDB 引入了分布式的功能,包括分布式存储和分布式计算。