人工智能 频道

一文读懂时序数据库

  时序数据库入门篇

  今天简单带大家了解一下时序数据库,聊聊什么是时序数据库,有什么特点,用在什么场景,和传统关系型数据库的区别与联系,以及开源解决方案调研。

  什么是时序数据库

  时间序列数据(time series data,tsd,以下简称时序)从定义上来说,就是一串按时间维度索引的数据。用描述性的语言来解释什么是时序数据,简单的说,就是这类数据描述了某个被测量的主体在一个时间范围内的每个时间点上的测量值。它普遍存在于IT基础设施、运维监控系统和物联网中。

  应用场景

  股市、币圈:如果你是一个股民,某只股票的股价就是一类时序数据,其记录着每个时间点该股票的股价。

  物联网领域:笔者之前有物联网从业经历,我们是国内最大共享单车平台。其实你随便骑的一辆单车,无论你骑没骑,时时刻刻都在上报自身数据,比如电池电量数据、sim卡相关数据、设备地理位置数据。这些数据其实都需要时时写入时序数据库,我们需要统计设备的sim卡有效无效数据、设备地理位置坐标及统计分布数据等。

  APM监控:如果你是一个运维人员,监控数据是一类时序数据,例如对于机器的CPU的监控数据,就是记录着每个时间点机器上CPU的实际消耗值。

  数据模型

  对时序数据进行建模的话,会包含三个关键组件:时间戳(Time)、指标(Metric)和标签(Tag)。其中:

  时间戳:记录数据的时间,通常以秒或毫秒为单位。

  指标:描述数据的具体值,例如温度、压力、高度等。

  标签:描述数据的附加信息,例如设备ID、位置、传感器类型等。

  时序数据库的特点

  高并发写入:时序数据库需要处理大量并发写入操作,因为通常会有大量的传感器或设备同时产生数据。

  高频次查询:由于需要实时监控和报警,时序数据库需要支持高频次的查询操作。

  数据压缩和存储优化:由于数据量巨大,时序数据库通常会使用一些数据压缩和存储优化技术来减少存储空间的需求。

  支持灵活的时间排序:由于不同的应用场景可能需要不同的时间排序方式,时序数据库通常支持灵活的时间排序方式。

  支持海量数据处理:由于需要处理大量的数据,时序数据库通常支持海量数据处理能力。

  支持分布式部署:由于需要处理大量的数据,时序数据库通常支持分布式部署方式。

  与传统关系型数据库的区别与联系

  数据结构不同:关系型数据库以表格形式存储数据,而时序数据库则以时间序列形式存储数据。

  查询语言不同:关系型数据库使用SQL语言进行查询操作,而时序数据库通常使用特定的查询语言进行查询操作。

  数据存储方式不同:关系型数据库通常将数据存储在磁盘上,而时序数据库则通常使用内存进行数据存储以提高查询效率。

  适用场景不同:关系型数据库适用于需要复杂查询和事务处理的应用场景,而时序数据库则适用于需要实时监控和报警的应用场景。

  数据压缩和存储优化不同:关系型数据库通常不进行专门的数据压缩和存储优化,而时序数据库则需要进行专门的数据压缩和存储优化以减少存储空间的需求。

0
相关文章