Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说松鼠山科技:时序数据库未来可期「建议收藏」 ,希望能够帮助你!!!。
4月的一天,天气晴朗,记者走进位于北京朝阳瑞辰国际中心的松鼠山科技公司办公室,
独家采访松鼠山科技创始人&CEO郑博
,听他娓娓道来公司的发展与时序数据库的前景。
郑博本科就读于哈工大,硕士毕业于美国卡耐基梅隆大学,是数据库专业科班出身。毕业后在美国一家企业负责数据中台,后该企业最终被Oracle收购。2015年郑博回国创业,成立松鼠山科技专注于基础软件研发和数据分析相关业务。从学业背景到就业经历可以看到,郑博一直专注于数据库、数据分析领域,现在他也是中国计算机学会数据库专委会成员之一。所以说起数据库的发展,郑博可谓是信手拈来,如数家珍。
在郑博看来,数据库技术发展经历了三个阶段。第一阶段,是从上世纪80年代到2000年,近20年时间是关系型数据库的黄金发展期,主要代表是甲骨文 (Oracle),后来的IBM的DB2和微软的SQL Server主要围绕关系型数据如何满足范式要求,优化构建不同语言标准来做;第二阶段,2000年以后,尤其是从2007年开始,数据库逐渐向分布式方向发展,以打包CAP方式体现,后因为前端分析支持需求越来越强烈,数据库从OLTP(联机事务处理)往OLAP(联机分析处理)方向转变,Hadoop、Cube都是支持分析的分布式数据库;第三阶段是从2010年开始,非关系型数据库NoSQL的部分开始出现,例如图数据库Neo4J,文本数据库MongoDB和现在的时序数据库等,都是在传统场景和关系型数据库发展中衍生出来的。现在的业务场景需要更好的分析,当传统数据库的OLAP框架无法支撑,就出现了新的数据库种类,从存储方式和支持数据类型等多角度去支撑新的需求,适应市场发展。
对于数据库未来的发展趋势,郑博有自己的判断,他认为:
第一,非关系型数据库会超过关系型数据库,NoSQL会超过SQL。因为从社会构建的方式、交付的语言表述体系、视频采集的方式、工业生产IoT时序性数据大量产生等多个角度看,大部分新生成的数据都将是非关系型数据。而据IDC预测,到2023年,全球产生的非关系型数据的量会超过关系型数据。
第二,数据会更多在边缘端,尤其是消费的边缘端产生。未来智能可穿戴设备、智能硬件、工厂智能设备、物联网设备、汽车电池及传感器等将是未来数据的主要来源。这些数据将在边缘端被采集,向中枢做传送,在中枢做整合、存储、计算、监控,这将是未来发展空间很大的场景,也是时序数据库重点针对的场景。
第三,AI会和数据库做融合,“AI for DB,DB for AI”。DB for AI是指以后数据库上面支撑的场景应用约60%-70%都将跟AI相关,数据库需要对AI的训练、推理、数据快速迭代和响应做更好的支持。AI for DB是指当数据量特别大、数据类型也特别复杂时,需要AI帮助人工做数据库管理的强化学习,以确定型的学习结构、确定型的学习关系,帮助DBA更好地存储数据、应用数据。
经过20多年的发展,在关系型数据库市场领域,甲骨文已经达到霸主地位,尤其在2006、2007年后,在甲骨文做了系列收购后,大家判断,在关系型数据市场领域,战役已经基本打完。
但随着技术和行业发展,渐渐有人开始觉得甲骨文数据库太重、太贵了,尝试绕开甲骨文,从开源生态和云原生生态做事情,包括国外的Snowflake、CockroachDB (蟑螂数据库)、Amazon Redshift等,要么从NewSQL入手,要么是拿HATP支持(既支持事务也支持分析型),网络支持、云原生支持等特性在争夺数据库市场份额。
作为一种新型数据库,时序数据库因何而诞生,对企业又有什么价值呢?郑博介绍,时序数据过去也有,但之所以现在产生书序数据库原因有两个:一是因为现在的设备量大了,产生的数据量大了,大到原来的关系型数据库无法满足这么大的并发数;二是传统数据库行式存储面对大量时序数据无法做无损压缩,数据存储成本问题突出。
“所谓时序数据,就是跟时间强相关,带时间戳的数据,这类数据是重复性时间序列,时间点不同,数据域相同,但数值不同。从市场角度讲,过去的数控工厂PLC或者电网SCADA数据都是时序数据,但是数据量没那么大。从2015年、2016年开始,智能门锁、扫地机器人、智能空调等IoT智能设备开始兴起,工业4.0智能改造逐渐做得多了起来,加上公有云、私有云监控的场景,服务器等设备从三、五千台上升到几十万台等这些新的场景下,时序数据的并发量一下子就起来了,从每秒几千条达到每秒几万、几十万的规模。”郑博介绍道,“关系型数据库包括Hadoop都无法对这些数据进行很好的存储和压缩,对磁盘的占用率比较高,没有对物联网设备及这些场景做优化和支持。于是,国外大厂(如Facebook)和新兴厂商(如InfluxDB)开始考虑是不是要研发新的数据库去做支撑。我国物联网发展比较快,现在也是蓬勃发展的时期,我国也需要有这样的数据库去满足这样的需求。可以说,是需求拉动了市场,数据存储与压缩成本的压力和一些使用的可用性的压力,引发了时序数据库的诞生。
“当然,现在还没有完全到全行业、所有设备的爆发顶点,时序数据库还是在萌芽,是刚刚出现的阶段,需要逐渐改造,找场景,做布局。2017年、2018年国外开始出现时序数据库,2020年国内开始关注,松鼠山科技、TDengine涛思数据、Greenplum的四维纵横都参与其中,另外还有清华的IOTDB,但它是个研究项目,也可以支持商用。即便如此,也不能说今年是时序数据库的元年,因为它刚刚出现,距离商用和大规模商用还有很远的距离。”郑博强调。
郑博介绍,松鼠山刚成立时做的就是异构数据处理,重点针对金融机构交易和风险环节的数据存储与分析业务,帮其做图数据和具有时序特征数据的存储和上层分析支持的事情,做好风险管控。以资金链路分析为例,金融机构交易流水有两个特性:一是指向性,都是从一个账户到另一个账户,都有关联关系,本身就是一个原生图;二是资金流水是多个时间序列的叠加,以时间戳做叠加,具有时序效应。松鼠山科技就是帮客户做这部分数据的存储和分析,从关系型数据库做数据抽取、Spark转义成图、存入图数据库供调用,并支撑上层算法做数据分析。“我们做的就是处理时序数据的中间件和处理图数据的平台。后来我们发现时间序列数据库需求越来越多,但国内没有,而海外产品在本土的易用性又存在各种问题,我们需要解决项目中的这些问题,于是从2019年我们开始布局做时序数据库,它本是我们内部孵化的一个项目,但我们越做越发现时序数据库是个很好的方向,现在,我们把它当成公司重点,全力去做。”
松鼠山科技的主打时序数据库产品是KronosDB,它是一款设计用来针对处理超大规模时间序列数据写入和查询的时序数据库,可被用作有大规模时间序列数据产生场景的后端存储,这些场景包括但不限于自动化运维、应用监控、物联网传感器、即时数据分析等场景。KronosDB的主要优势包括:专为时间序列数据设计的高效数据存储,针对不同类型数据进行压缩,极大降低存储成本;基于Golang语言实现,可被编译为一个单独的二进制文件而不需其他任何外部依赖,开箱即用;原生的HTTP支持,具有内置的HTTP API;具有类SQL查询语言,学习成本低上手快,语法强大,支持众多统计函数等。
用郑博的话说,松鼠山科技KronosDB时序数据库产品的特点就是两项:一是高并发写入支持,一是数据存储高压缩比。前者功能实现靠的是全新的数据结构、磁盘写入方式, LSM-tree 改良的存储结构和一定的逻辑架构支撑;后者主要靠全新的存储算法支持高压缩比,基于列式存储做归并,实现快速排序、压缩、检索查询。
松鼠山科技KronosDB时序数据库也有了一些典型的客户案例,比如Paypal。他们帮助Paypal China建设统一运维监控平台,监控系统指标、支付业务相关的容器指标、其他数据源,并实现自动化运维,磁盘空间节省90%,写入速度快9倍,查询速度快7倍。
松鼠山自2015年成立,应该说目前还是处于初创的状态,之前已有两轮几千万元的融资,公司本身也有“自造血”创收能力,2020年公司实现1100万元收入,3000多万元订单。郑博强调,公司会一直坚持做产品的思路,目前40多人中有20多人是专注于基础开发的,当然做产品会需要更多、更大、更长久的投入,他透露公司下一轮融资也在紧锣密鼓地进行中。
“以后肯定是物联网时代,前端高并发高压缩肯定是非常巨大的需求,但市场高潮到底哪年来、多大规模,谁都不知道,时序数据库商用化的那天什么时候到来谁也不知道,但的确现在时序数据库的需求比较迫切,很多金融机构都想跟我们做技术交流来了解细节了。”
对于时序数据库的未来,郑博信心满满。至于如何筹谋未来,郑博说他们将坚持开源,遵循开源社区运营金字塔模型:开发者 ->社区->用户->客户的思路去做,第一步代码开放,第二步建立好的社区,第三步通过好的社区进行技术挖掘,给生态上的各个企业带来回报,这是很长期的过程,不是一次代码开放就解决的。郑博表示,松鼠山将助力开发者之间、开发者与开源社区、开发者与企业更紧密的沟通,并通过支撑更多KA客户(重要客户),发现更多问题,进一步改善产品。
“数据库是个特别朴素平凡的象限,所有的原理都很简单,说出来大家都懂,但要做到工程上适用、易用又能解决实际问题的话又是特别复杂的事情,特别耗用前端的测试用例,需要常年的积累不断优化才能做到。”郑博慨叹。
曾经25岁就赚到800万元第一桶金、少年得志的郑博为什么会选择跳出舒适圈,从美国纽约回国创业,并坚持做异构数据处理、时序数据库这件事?
转载、添加白名单以及商务合作请在公众号文章留言,未经许可、不得转载,不得随意修改及盗用原文。
中国信息化周报(信息化时代)
官网:www.cio360.net