天气记录、经济指标、患者健康演变指标等是时间序列数据,服务器指标、应用程序性能监控、网络数据、传感器数据等也是时间序列数据。这些数据,包括以固定时间间隔收集的测量值(指标),以及以不规则的时间间隔收集的测量值(事件)。
时序数据库(TSDB)旨在处理这些无休止的数据流,是数据库技术当前最显著的趋势之一。在db-engines近几年的发展趋势图来看,时序数据库是短期(5年内)发展最快的数据库。

时序数据库为开发人员提供了一种工具,用于跟踪处理日益增加的时序数据,并添加强大的算法,用于快速查询统计分析,在设备智能维护、量化投研等更广泛的领域很受欢迎。
2024年,时序数据库的这些发展趋势,一定会令其大放异彩!


1.TSDB的用例越来越多,也越来越重要

随着物联网、人工智能和设备的普及,时间序列数据库(TSDB)在处理实时数据方面的应用变得越来越重要。TSDB的用例不断增加,已成为企业中增长最快的数据库类型。
例如,家电制造商正在增加互联网连接,现在这些设备都在报告数据,以便客户可以随时随地通过手机管理它们。
按分钟租用的共享单车和拼车平台在骑行前、骑行中和骑行后不断收集数据,研究所有这些数据点,以提高性能并规划部署以满足未来的需求。
许多文档正在慢慢地从单个数据块转变为数据流。用于存储文档当前版本的文字处理器现在正在记录产生它们的每一次击键和鼠标单击。这使得编辑更简单,可以无限级别的“撤消”。
房屋正变得越来越数字化,许多曾经只不过是开关的物品(如恒温器、灯或电视)现在每秒甚至更频繁地记录事件。
平均日温度(MDT),即某个位置连续几天的高温和低温的平均值。在过去的几十年里,MDT一直被用作计算建筑物能源效率的主要变量。在任何给定的时间内,MDT 可能仅在某个地点的日常略有变化,但在同一时期内,影响环境因素可能会发生巨大变化。相反,了解一天中每小时的温度变化情况,再加上降水、云量和风速,可以显著提高您为物业建模和优化能源效率的能力。
无论是股票、加密货币还是其他金融资产,时间序列数据都可以让您了解价格如何随时间变化,并帮助您发现趋势。
无论您是在记录工厂的电机温度,还是使用物联网数据来控制核聚变实验,您都可以利用时间序列数据做出更好的决策。
总之,时间序列数据的用例涉及各行各业,包括应用程序监控、运营指标跟踪、区块链记录、预测性维护等。这些应用都基于时间序列数据集的三个共同点:数据记录为新条目、按时间顺序到达、时间作为主轴。
目前,时序数据库用例越来越多。不过,无论场景或用例如何,所有时间序列数据集都有三个共同点:到达的数据几乎总是记录为新条目;数据通常按时间顺序到达;时间是主轴(时间间隔可以是规则的,也可以是不规则的)。
这种“仅追加”的数据处理方式使时间序列数据具有强大的衡量和分析变化的能力,包括过去、现在和未来的变化。因此,随着越来越多的设备连接到网络和实时数据处理需求的增加,TSDB的应用将变得越来越广泛和重要。
2.是什么让TSDB大放异彩?

是什么让时间序列数据库在大数据领域中脱颖而出?
首要因素在于所应对的数据规模庞大且持续增长。现今,日志文件动辄以PB(拍字节)计量,且仍在不断膨胀。物联网(IoT)设备的激增是这一趋势的主要推手,这些设备通常依赖于中央服务进行数据分析和展示。以Sense.com为例,它每秒收集的房屋用电量信息高达数百万次。面对如此海量的数据涌入,TSDB需要在保证存储效用的同时,避免存储负担过重。
TSDB的另一个显著特点是其数据条目的简洁性和独立性。在时间序列数据集中,不同表间的数据条目往往关联度较低,降低了基于事务锁定的需求,从而避免了数据不一致的问题。通常,每个数据包仅包含时间戳和多个传感器读数,这种简洁性为高效的数据处理提供了便利。
此外,TSDB采用了特殊的索引方式,显著提升了查询速度。例如,它能够迅速统计出一天、一周或其他指定时间段内的事件数量。这种优化的索引结构使得TSDB能够迅速响应有关数据范围的各类统计查询。
在数据库维护方面,TSDB同样展现出了其优势。由于许多维护任务是定期且易于自动化的,TSDB能够自动处理旧数据,同时仅提供最新的统计信息。与旨在永久存储数据的标准数据库不同,TSDB可以配置为为数据元素设定特定的生存时间,或者采用循环算法来存储固定数据集。
最后,TSDB在数据压缩方面也有着独到之处。随着时间的推移,它会部署专门的压缩函数,将时间序列数据存储在更小的空间中。如果传感器读数在一段时间内没有变化,那么就没有必要存储相同值的多个副本。以Timescale.com为例,由于其压缩算法针对常规数据模式进行了优化调整,因此能够实现高达94%-97%的存储空间节省。这种高效的数据压缩能力不仅降低了存储成本,还提升了数据处理效率。


3.谁是最大受益者?

首先,受益的是用户。跟踪人员、机器和组织随时间推移的行为方式是应用定制的关键。优化时间序列数据收集和分析的时间序列数据库为提供调整和避免一刀切标准化的业务模型提供了机会。例如,投放广告的算法可以查看最近的行为。恒温器等智能设备可以搜索事件并了解人们在一天中的不同时间想要什么。
其次,时序数据库是数据库行业中增长最快的部分。但是哪个时间序列数据库最好和最受欢迎的呢?确定受欢迎程度的方法有很多种,独立网站 DB-Engines 会根据搜索引擎受欢迎程度、社交媒体提及、招聘信息和技术讨论量对数据库进行排名。
不得不说,其中星环科技、InfluxDB、Prometheus、Kdb+、Graphite、TimescaleDB、DolphinDB、ApacheDruid、TDengine、RRDtool、QuestDB等专业的时序数据库用户增长最快,非常收欢迎。
最后,时序数据库的替代者也是受益者。
关系数据库管理系统(RDBS)通常被认为是通用数据库系统,可用于存储和检索时间序列数据。凭借RDBMS的灵活性,它们可以存储与TSDB相同的数据,一个关键的区别是数据如何写入存储介质。由于RDBMS与TSDB具有不同的设计目标,因此RDBMS没有针对时间序列数据进行优化,并且插入和检索时间序列数据的速度往往较慢。
另一种类型的数据库NoSQL也经常用于存储时间序列数据。由于NoSQL数据库在每条记录的数据格式方面更加灵活,因此它们非常适合从许多不同的来源捕获时间序列数据。用于时间序列数据的 NoSQL 数据库的实现通常是TSDB 的一个很好的替代方案,同时可以提供适用于时间序列数据之外的功能。

4.传统玩家是如何接近TSDB的?

正如上文所言,长期以来,所有主要数据库都包含用于存储日期和时间的字段。传统玩家通常使用传统查询来搜索或制表这些时间记录。例如,甲骨文数据库一直在华尔街备受青睐,用于存储常规报价。虽然它们没有经过像新数据库那样的优化,但这并不意味着它们不能使用更多的计算能力来回答问题。有时,购买更大的机器比切换到新的数据库更加经济实惠。
在某些情况下,一些应用程序可能会收集各种数据值,而某些应用程序可能更适合传统数据库的稳定性。例如,银行应用程序充满了分类账交易,这些交易只是总存款的时间序列表。尽管如此,银行开发人员可能是最保守的,他们可能更偏好具有悠久历史的旧数据库,而不是效率更高的新工具。
有时,传统公司正在推出具有竞争力的新模式。例如,甲骨文也在调整其NoSQL数据库,以搜索和分析来自传感器和其他实时来源的时间序列数据流。API将维护正在运行的新数据点集合,并对数据实施生命周期控制,以避免存储过载。
较新的数据分析引擎通常包括专门为时间序列数据构建的工具。例如,Microsoft的SQL Server数据挖掘工具具有一组函数,可以查看历史数据并预测未来趋势。
云公司也在为这个市场增加数据存储服务。例如,AWS推出了Timestream服务,这是一种针对物联网数据优化的工具。它还将通过Lambda函数等标准路径以及SageMaker等机器学习选项的自定义路径与AWS堆栈的其余部分集成。

5.哪些新的创业公司正在涌现?

新公司通过专注于添加适量的索引和后处理来快速有效地进行查询,从而看到了机会。
星环科技在其大数据基础平台TDH 9.0中,实现9种存储引擎支持10种数据模型。其中,时序数据库Timelyre已经升级到了2.2版本。
为了满足序列数据的处理需求,Timelyre改进压缩算法,进一步降低了20%~50%存储空间占用,提升2倍写入性能。同时相比于开源时序产品,Timelyre基于TDH多模型架构下的分布式扩展能力,让Timelyre具备了更多设备标签存储能力,以及基于TDH统一SQL分析能力,让Timelyre具备了复杂关联查询能力。
作为一个开源数据库,InfluxDB数据库一直是时间序列数据库使用量增加的一个关键因素。现在可作为独立安装或 InfluxDB Cloud 中的弹性无服务器选项使用。该公司的 Flux查询语言简化了计算数据流的移动平均线等任务。该语言是功能性的,并且设计为易于组合,因此可以从其他查询构建查询。
TimescaleDB也是一个开源的SQL 数据库,有一个单独的引擎,与PostgreSQL 完全集成,用于可能需要传统关系表和时间序列数据的任务,也可以通过使用称为 Aiven 的多云管理平台在各种云中使用。该公司的基准测试吹嘘将数据摄取速度提高了20倍。用于搜索数据或识别有效值(如最大值)的查询速度可以快数千倍。
Prometheus 会自动存储带有时间戳的所有数据,并提供一组标准查询来分析数据的变化。它的 PromQL 与新兴的查询数据格式 GraphQL 有一些相似之处,这使开发人员可以轻松设置可能由数据异常触发的警报。
Redis 创建了一个特殊模块,用于将快速数据流摄取到数据库中。索引例程生成一组有关数据演变的平均统计信息。为了节省内存,它还可以对元素进行下采样或聚合。
Kdb+可以描述为支持内存计算和关系建模的列式时间序列数据库。它与关系数据库保持连接,使得使用某些占主导地位的关系模式变得更加简单。数据库构建的流分析既提供传统统计数据,也提供一些机器学习算法。
开源的QuestDB是一个 SQL 数据库。它使用列结构来存储数据,并将新数据附加到每列的底部,记录传入数据的时间顺序。该数据库还可以支持使用时序数据进行关系建模(可以写入联接,同时使用 SQL 查询读取数据)。
Druid被描述为一个基于时间的分析数据库,带有基于时间的分区和压缩的位图索引,用于修剪不需要的数据。它使用基于 JSON 的查询语言,也提供 Druid SQL。

6.下一步:更大、更快、更智能、更便宜

开源项目和初创公司与其他技术项目有许多共同目标,致力于通过更复杂的分析来处理更大的数据流,使这些分析在更高效的环境中运行——更大、更快、更智能、更便宜。
除此之外,各团体也开始考虑对无休止的数据流可能需要长期监护的责任。例如,Whisper开源数据库旨在将可能从快速流中编译的高分辨率数据转换为较低分辨率的历史摘要,以便可以更有效地存储和分析。其目标是节省空间,同时提供有用的摘要。
一些公司正专注于开发人员用于编写查询的语言。QuestDB通过添加按时间分组和分析数据的功能来重新审视和扩展SQL。它认为SQL是一种可以继续存在的语言,部分原因是许多数据库管理员都熟悉它。
另一些公司则在构建更接近函数式编程语言的专用语言。例如,InfluxDB的Flux语言鼓励开发人员从多个较小、可重用的函数中组成他们的解决方案。
此外,一些公司还将推动扩展演示层。许多数据库已经与图形仪表板(如Grafana)松散耦合。这些联系将日益紧密,在许多情况下,这些工具将有效地与时间序列数据库整合。例如,Matomo被设计为用于跟踪网站访问者的产品。
7.TSDB有什么做不到的吗?

时间序列数据库的应用范围很广,几乎所有的应用都可以从中受益。传统数据库虽然可以维护构建表的事务日志,但对于跟踪数据随时间变化的需求,它们可能并不如时间序列数据库那样强大。
有时,即使在传统应用中也存在跟踪数据随时间变化的隐藏机会。例如,在跟踪机票售出数量的应用中,销售时间的跟踪可以帮助航空公司制定更准确的定价策略。通过了解需求是领先还是落后于历史规范,航空公司可以更好地预测和满足市场需求。这样一来,即使是看似不需要跟踪时间变化的传统应用,也可以通过使用时间序列数据库来改进。
时间序列数据库的优势在于专注于处理和分析大量的时间序列数据,提供了高效的存储和查询功能,能够处理大规模的数据流,并提供复杂的分析能力。而传统数据库可能在处理时间序列数据时会遇到一些挑战。例如,它们可能在处理大型数据集时性能下降,或者在查询复杂的时间范围时变得笨拙。
然而,时间序列数据库并非适用于所有场景。在一些情况下,传统数据库仍然可能更加适合。例如,当数据值的种类和结构非常多样时,传统数据库的灵活性和稳定性可能更胜一筹。
此外,对于一些应用程序而言,购买更大的机器可能比切换到新的时间序列数据库更加经济实惠。
总而言之,时间序列数据库在处理和分析时间序列数据方面具有明显的优势,但并不是解决所有问题的银弹。在选择数据库时,需要根据具体应用的需求和数据特性进行权衡和选择。
参考资料:
·https://venturebeat.com/business/database-trends-the-rise-of-the-time-series-database/
·https://www.timescale.com/blog/time-series-data/#:~:text=What%20Are%20Some%20Examples%20of%20Time-Series%20Data%3F%201,Observability%20...%208%20Web3%20and%20blockchain%20data%20
·https://hazelcast.com/glossary/time-series-database/
·https://www.influxdata.com/time-series-database/



2024春节
龙年大吉 万事勝意

相关文章
·2024玩转大数据:图数据库七大未来风暴:Graph AI崛起,洞察数据连接新价值,引领未来智能化潮流!
·2024玩转大数据:GenAI+大数据引爆2024年狂潮,让数据创造无限可能
·2024玩转大数据:2024年大数据之巅:揭秘企业如何跨越9大挑战,引领数据技术革命
·2024玩转大数据:大数据未来已来:2024年18大看点全解析,点亮数字世界新航标!
·2024玩转大数据:湖仓一体、SQL替代、NLP自助服务、数据治理、超个性化数据应用··· 2024年12大数据管理与分析的独门绝技预言
·2024玩转大数据:将非结构化信息转换为向量将司空见惯,哪些说向量数据库即将过时人可能会错过几个亿




