时序数据库(TSDB)-为万物互联插上一双翅膀

1. 什么是时序数据库(Time series database)?

时序数据库(Time Series Database,简称TSDB)是一种特定类型的数据库,主要用来存储时序数据。

维基百科上的解释:

A time series database (TSDB) is a software system that is optimized for handling time series data, arrays of numbers indexed by time (a datetime or a datetime range).

翻译过来就是“时序数据库用来存储时序(time-series)数据并以时间(点或区间)建立索引的软件。”

一般时序数据都具备如下两个特点:

  • 数据结构简单
  • 数据量大
  • 所谓的结构简单,可以理解为某一度量指标在某一时间点只会有一个值,没有复杂的结构(嵌套、层次等)和关系(关联、主外键等)。

    数据量大则是另一个重要特点,这是由于时序数据由所监控的大量数据源来产生、收集和发送,比如主机、IoT设备、终端或App等。

    随着5G技术的不断成熟,物联 技术将会使得万物互联。物联 时代之前只有手机、电脑可以联 ,以后所有设备都会联 ,这些设备每时每刻都会吐出大量的按照时间组织的数据,需要存储下来进行查询、统计和分析。

    2. TSDB数据库特点

    时序数据和普通的业务数据在各个方面都有很大的不同。TSDB作为一种专为时序数据优化而设计的数据库,在很多方面都和传统的RDBMS和NoSQL数据库不太一样,比如它不关心范式和事务。

  • 写多于读,95%-99%的操作都是写操作
  • 顺序读,基本都是按照时间顺序读取一段时间内的数据。
  • 为了提高读取的响应时间,有两种策略:

    一是以写性能优先,不为读取做存储优化,但是通过分布式和并发读,来提高读取的速度。

    二就是在写入的时候就考虑到读的性能问题,将统一指标、时间段的数据写入到同一数据块中,为读取进行写入优化。

    3. DB-Engines中时序数据库排名

    DB-Engines Ranking of Time Series DBMS

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

    排名前15 名如下所示,其中InfluxDB排名第一,由Golang语言编写。

    最近24个月,每种数据库类别的受欢迎程度变化趋势图。TSDB 排名第一。

    4. TSDB应用场景

    运维、监控系统大多数都采用了TSDB 作为数据库系统来存储海量的、严格按时间递增的、在一定程度来说结构非常简单的各种指标(英文可能为metric、measurement或者类似的其他单词)数据。

    实际上,TSDB的潜力还没有爆发,至少在现在还没有。在可预知的未来3~5年,随着物联 以及工业4.0的到来,所有设备都会携带传感器并联 ,传感器收集的时序数据将严重依赖TSDB的实时分析能力、存储能力以及查询统计能力。

    上图是一个智慧工厂示意图,工厂中所有设备都会携带传感设备,这些传感设备会实时采集设备温度、压力等基本信息,并发送给服务器端进行实时分析、存储以及后期的查询统计。除此之外,比如现在比较流行的各种穿戴设备,以后都可以联 ,穿戴设备上采集的心跳信息、血流信息、体感信息等等也都会实时传输给服务器进行实时分析、存储以及查询统计。

    5. TSDB时序数据库总结

    TSDB将是未来一个非常具有市场性、挑战性的数据库,现在虽然已经有这样那样的服务,但大多都有这样那样的问题,现在很难谈得上成熟。为了在物联 时代、工业4.0 时代中占有一定地位,TSDB是必须要拓展的技术。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2019年6月1日
    下一篇 2019年6月1日

    相关推荐