APP下载

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

消息来源:baojiabao.com 作者: 发布时间:2024-05-19

报价宝综合消息时序数据库(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是必须要拓展的技术。

2019-08-18 12:52:00

相关文章