初探时间序列数据库

网友投稿 971 2022-10-20

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

初探时间序列数据库

时序数据库是什么?

时间序列数据是基于时间的系列数据。时序数据库就是存放时间序列数据的数据库,需要支持时序数据的快速写入、持久化、多纬度的聚合查询等功能。对比传统数据库仅仅记录了数据的当前值,时序数据库则记录了所有的历史数据,同时时序数据的查询也总是会带上时间作为过滤条件。

在有时间的坐标中将这些数据点连成线,向过去看可以做成多纬度报表,揭示其趋势性、规律性、异常性;往未来看可以做大数据分析,机器学习,实现预测和预警。

上面的表达相对模糊,我画了一张图来帮助理解。

为什么需要时序数据库?

传统关系型数据库上加上时间戳列就能作为时序数据库,以前大家都是这么干的,事实上基于PG的TimescaleDB也是这么延伸出来的。数据量少的时候确实没问题,但数据量小,展现的纬度就有限,细节少,用来做数据分析置信度就低。

举个例子:无人车在运行时需要监控各种状态,包括坐标,速度,方向,温度,湿度等等,并且需要把每时每刻监控的数据记录下来,用来做数据分析。每辆车每天就会采集将近海量的数据。如果只是存储下来不查询也还好,但如果需要快速查询多纬度、分组聚合查询,那么传统关系数据库加时间戳的方法就难以应对了。

时序数据库是为了解决上述海量数据场景而设计开发出来的,时序数据库需要解决以下几个问题:时序数据的高速写入(几乎不改):支持海量数据点的高频数据大量写入;时序数据的高效读取:支持在秒级对上亿数据的分组聚合运算;低成本:解决海量数据存储带来的是成本问题,更好的压缩算法和分级存储机制。这些都是时序数据库需要解决的问题。

另外一个最重要的方面,是分析和处理能力的提升和改善,把尽可能多的算法或者模型内置在数据库中,数据分析工作相比传统关系数据库就更进一层楼了。如同以前一直在说的,IT的平民化和细分场景驱动,为快速满足需求而导致的敏捷实践和技术堆栈选择权的程序员化,投射在时间相关的数据分析场景,就推动了企业时序数据库的大量导入了吧。

时序数据库并不新鲜,早期用例主要在金融领域(KDB+),特别是股票程序化交易领域(因子分析、策略回测、实时风控、交易信号的计算等),目前金融不再是时序数据库的唯一应用领域,事实上, IT人员最熟悉的用例,可能是运维大数据平台中的时序数据库(Prometheus)。另外一个目前大家都在谈的用例是物联网IOT数据平台,特别是BAT。

目前发展的整体情况

时序数据库目前处于快速发展的时段,从下图《DB-Engines数据库发展趋势图》可见,时序数据库是2020年以来市场热度排名第二的数据库类型。同时,时序列数据库也是过去24个月数据库行业增长最快的数据库类型。

时序数据库全球发展的情况

从全球视角来看,数据库DB-Engines排行榜情况[1]和上图的发展趋势完全贴合。一共378个数据库系统入围,时序数据库36个。其中开源的InfluxDB处于绝对领先的状态,出现的时间也比较早(2013),是许多实践的重要参考。KDB是这个领域最古老的玩家,2000年就发布了,金融领域应该还是有比较大的客户群基数。Prometheus在运维领域,如今应该是不可撼动神一般的存在了吧。

时序数据库国内发展情况

下图是2021年9月数据库流行度时序数据库类别的排行榜。一共142个国产数据库入围,其中时序数据库9个[2] 。排名第一的是腾讯云时序数据库CTSDB,第二、第三都是阿里的,TSDB是阿里云时间序列数据库,CeresDB基于OceanBase的,第四是百度的TSDB。

值得一说的亮点是国内排名第5位的Dolphin DB,全球排名第十一位。作为对比,国内排名第一腾讯CTSDB,全球DB Rank上找不着,第二名阿里TSDB+全球排名第十九名。可以说Dolphin DB是国产时序数据库在全球榜单上的No. 1,墙内开花墙外香,这个初创团队,牛!

以上,都是个人不成熟的看法,是我基于已知信息作出的“有限理性”判断。如有异议,你是对的。如觉有益,请帮助点个“在看”和/或进行转发,让更多人看到。

[1] https://db-engines.com/en/ranking/time+series+dbms

[2] https:///dbRank

上一篇:自然健康,我的峡谷新神装!Swisse斯维诗携京东超级品牌日,打造健康生活新时尚
下一篇:用法治思维保障经济高质量发展
相关文章

 发表评论

暂时没有评论,来抢沙发吧~