概要介绍
时间序列数据是一种表示物理设备, 系统, 应用过程或行为随时间变化的数据, 广泛应用于物联网, 工业物联网, 基础运维系统等场景. 阿里云 TSDB 时间序列数据库可以解决大规模时序数据的可靠写入, 降低数据存储成本, 实时灵活的完成业务数据聚合分析.
什么是时序数据
我们来看感受一下平时自己特别熟悉的场景, 就会发现时序和每个人都存在非常紧密的关系:
电商系统获取每笔订单交易金额和支付金额数据以及商品库存和物流数据;
智能电表, 会实时记录每个小时的用电量数据, 比给出账单数据;
高山上的风车的获取实时转速, 风速数据, 发电量数据.
应用服务调用量有没有异常, 服务器的负载和资源使用率如何?
这些应用程序均依赖一种衡量事物随时间的变化的数据形式, 每一个数据源定期发送新的读数, 创建一系列随时间推移收集到的测量结果, 这就是时序数据, 时序数据数据集主要有以下三个特点:
新入库数据几乎总是作为新条目被记录
数据通常按照产生时间顺序入库
所有的数据都自带时间戳,
因此, 我们这样定义时间序列数据: 统一表示系统, 过程或行为随时间变化的数据
时序数据的价值
相较域非时序数据, 核心区别在于时序数据能够反映 "变化" 本身. 当你为某个物联网设备收集新数据时, 是覆盖以往的读数, 还是在新的一行创建全新的读数? 尽管这两种方法都能为你提供系统的当前状态, 但只有第二种方法才能跟踪系统的所有状态.
所以时序数据的价值在于将系统的每个变化都记录为新的一行, 从而可以去衡量变化, 分析过去的变化, 监测现在的变化, 以及预测未来将如何变化.
时序数据库 TSDB 的价值
为什么不能用常规数据库来管理时序数据呢, 为什么需要时序数据库呢? 事实上答案是你可以使用非时间序列数据库, 如同你可以为航天飞行器配备一个普通的汽车发动机, 虽然也可以飞起来, 但是终究不能实现航天飞行的 "梦想".
而更多业务场景选择择时序数据库而非通用数据库技术也是类似的原因归结起来就是两个核心点: 规模和可用性.
(1)规模: 时间序列数据累计速度非常快. 例如, 一辆联网汽车每小时产生几百 GB 的数据. 关系型数据库处理大数据集的效果非常糟糕; NoSQ 数据库可以很好地处理规模数据, 但是仍然比不上一个针对时间序列数据微调过的数据库. 相比之下, 时间序列数据库将时间作为最高优先级来处理, 通过提高区间数据实时查询效率来处理这种大规模数据, 并带来性能的提升, 包括: 每秒写入速度, 能够支撑的设备指标量, 读取数据效率和非常高的存储压缩比. 而时间序列数据在技术领域的关注度也日益提升.
来源: https://yq.aliyun.com/articles/646959