TSDB系列(一):什么是时序数据库

1,882 阅读7分钟

今天我们来聊一下时序数据库,看看有哪些场景是可以应用时序数据库的。

1. 什么是时序数据库?

时序数据库(TSDB,time series database),顾名思义,就是针对时间戳或者时间序列数据进行一定优化的数据库。时间序列数据指的是随着时间的推移被追踪、监控、采样以及聚合的测量指标或者事件。这可以是服务器指标,应用程序性能监控,网络数据,传感器数据,事件,点击,市场交易以及许多其他类型的分析数据。

时间序列数据库专门用于处理带有时间戳的指标、事件或者度量。TSDB 也针对随时间变化的测量变更数据进行了优化。时间序列数据库与其他类型数据库非常不同的特性就是对于数据生命周期的管理、汇总和当量记录的大范围扫描。

结合上面的介绍,我们大概可以清晰地了解到,时序数据库,适用于一些对时序性要求较高的场景,比如服务监控,链路追踪,物联网(传感器)等等。同时这也要求时序数据库必须支持快速写入、持久化、并且多维度聚合查询、快速响应结果等基本功能。

2. 为何如今时序数据库变得重要了呢?

时序数据库并不新鲜,但第一代时间序列数据库主要关注金融数据、股票交易的波动性以及为解决交易问题而构建的系统。但金融数据不再是时间序列数据的唯一应用——事实上,它只是各个行业众多应用中的一个。在过去十年中,计算的基本条件发生了巨大变化。一切都变得分隔开来。单体大型机已经消失,取而代之的是无服务、微服务和容器。

如今,任何可以成为组件的东西都是一个组件(构成)。此外,我们正在见证物质世界中的事物表面——街道、汽车、工程、电网、冰层覆盖、卫星、衣服、电话、微波炉、牛奶容器、行星、人体,一切都有,或将有,一个传感器。所以现在,企业内外的一切都在不断地发布指标和事件或时间序列数据。

这意味着底层平台需要发展以支持这些新的公族负载——更多的数据点、更多的数据源、更多的监控、更多的控制。我们正在目睹以及时代要求的是我们如何处理数据基础设施以及如何构建、监控、控制和管理系统的范式转变。我们需要的是一个高性能的、可扩展的、专门构建的时间序列数据库。

3. 时序数据库的好处

3.1 好处一:更准确也更有意义的时间序列指标

最明显的好处是时间序列数据库可以更轻松地监测数据如何随时间变化。有了时序数据库,你可以同时查看过去、现在和未来的数据集,以便(数据)报告更加准确、更有意义。

3.2 好处二:高效利用资源的数据存储

由于时间序列数据类型的本质,处理它可能需要大量的存储空间,这可能难以管理,而且非常昂贵。时间序列数据库拥有一些优化存储的压缩算法的工具,可以将数据聚合到预定时间段并根据需要消除某些数据流。

3.3 好处三:闪电般的数据查询

TSDB 还可以根据特定时期轻松查询和检索数据。例如,假设有人不记得他们最近读过的书名,但知道他们是三个月前读过的。时序数据库便可以帮助他弄清楚这本书是什么,而不必使用一堆通配符搜索(Elasticsearch:我觉得你在内涵我)。使用时间序列数据库,你可以根据时间范围快速查找信息——实现快速检索。

4. 时间序列数据库常用场景

4.1 处理 IoT 数据

大多数物联网部署——如连接着的水、能源和温度计——需要定期手机和报告数据。时序分析可以提供带时间戳的数据点,从而可以识别季节性模式、平均使用情况和低效利用率。例如,连接到 TSDB 的 pH 计可以告诉负责维持特定 pH 值水平的技术人员某桶水变得太酸了。物联网端点还会收集大量数据,需要高度可扩展的时序数据库。

4.2 监控网络服务、应用程序和基础设施

公司企业还可以使用时序数据来监测其应用程序和网络资产的性能。例如,开源监控系统 Prometheus 是一个时间序列数据库,使得开发人员可以随时关注性能趋势。他们能够轻松地检测到问题何时发生,从而能够计划维护并快速响应事件以维持最佳用户体验。

某些 web 和移动应用程序将其中的事件存储在 TSDB 中(例如单击按钮、播放视频或共享某些内容)。这些事件使他们能够描绘用户的系列操作,识别用户受挫的地方或者性能瓶颈,从而简化较为复杂的流程。

4.3 理解金融趋势

使用时间序列数据准确预测金融趋势是非常困难的。但是,TSDB 可以提供丰富的上下文数据来帮助分析师。我们以股市为例;航空公司库存的突然增加可能与假期旅行同时发生。或者,行政领导层清洗可能会吓到投资者,导致股票暂时下跌。时序数据库可以轻松交叉引用数据,听过更丰富、更清晰的画面。

4.4 处理自动驾驶车辆数据

自动驾驶汽车通常每天收集大约 4,000 GB 的数据,这超出了典型关系数据库的处理范围。时序数据库支持更快的数据提取和查询,以及更强的数据压缩。因此,它们非常适合处理可用于提高自动驾驶汽车安全性的大量实时数据。

4.5 销售预测

零售店一直有这么一个挑战,即预测未来销售,以准确地在货架上摆放产品。还好有时序数据库,零售商可以将统计模型与历史数据结合使用,并将其与消费者行为趋势进行交叉参考,以预测未来的模式,并就哪些产品以及何时保留库存做出明智的决定。

例如,零售商现在正在使用预测来提前计划和补充自行车,由于大流行,自行车现在正面临短缺。零售商也正使用数据来预测新产品何时会再次上市、需求情况以及消费者购买的替代自行车的替代交通方式,例如三轮车、旱冰鞋等。

总结

如你所见,随着物联网、自动驾驶,甚至于5G的发展,时序数据库的使用场景也在增多。但是,要完全发挥其功能,我们也才刚刚开始。随着功能更强大的解决方案(例如M3)的出现,我们将看到一个良性循环,可以解锁新的使用场景。

更好的是,托管服务,也就是我们常说的云服务,将有助于推动其用例的扩展,因为用户将能够专注于问题空间,而不是构建和管理基础设施。

链接