暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

时间序列数据库TSDB

Reborn2020 2020-06-14
872


一、定义

时间序列数据库TSDB(Time Series Database)是一种高性能、低成本、稳定可靠的在线时序数据库服务


二、应用场景

1.物联网设备监控分析

物联网设备无时无刻不在产生海量的设备状态数据和业务消息数据,这些数据有助于进行设备监控、业务分析预测和故障诊断

设备将原始数据通过MQTT协议发送到物联网套件,经由物联网套件将数据转发到消息服务系统,继而通过流计算系统对这些数据进行实时计算处理后写入到TSDB中存储,或者经由物联网套件直接将原始数据写入TSDB中存储。前端的监控系统和大数据处理系统会利用TSDB的数据查询和计算分析能力进行业务监控和分析结果的实时展现


2.电力化工及工业制造监控分析

传统电力化工以及工业制造行业的设备需要通过实时的监控系统进行设备状态检测、故障发现以及业务趋势分析

设备通过工业接口协议将自身状态数据和生产业务数据接入工业设备网关,然后通过MQTT协议发送到物联网套件,继而传输到云上的消息服务系统并经过流计算系统处理后写入TSDB,完成时序数据的存储和分析


3.系统运维和业务实时监控

通过对大规模应用集群和机房设备的监控,实时关注设备运行状态、资源利用率和业务趋势,实现数据化运营和自动化开发运维

通过日志或者其他方式对原始指标数数据进行采集和实时计算,最后将实时计算的结果数据存储到TSDB,实现监控分析展现


三、功能特性

1.时序数据高效读写

1)数据写入:TSDB支持通过HTTP方式和TSDB的写入协议进行数据写入,最高可以支撑每秒千万数据点的写入

2)数据查询:TSDB支持通过HTTP协议访问和控制台查询两种方式进行数据的查询操作。控制台的数据查询功能支持数据分组、降采样、空间聚合和可视化数据展现,百万数据点的读取,响应时间小于5秒


2.数据管理

1)数据时效设置:您可以通过控制台或者API设置数据的有效期。数据时效开启并设置完成后,系统对于定义的过期数据将立即标记失效,并在特定时间进行自动化清理

2)数据清理:您可以在控制台上根据度量(Metric)进行数据清理,或者通过API进行更灵活的数据清理


3.高效压缩存储

TSDB使用高效的数据压缩技术,将单个数据点的平均使用存储空间降为1~2个字节,可以降低90%存储使用空间,同时加快数据写入的速度


4.时序数据计算能力

TSDB提供专业全面的时序数据计算函数,支持降采样、数据插值和空间聚合计算,能满足各种复杂的业务数据查询场景


5.监控运维

TSDB提供实例运维系统,让您可以实时的掌握实例的运行情况、性能指标和存储空间使用情况,并通过设置报警通道,实时发现资源瓶颈


6.数据和实例安全

提供VPC的实例访问方式,充分保证实例访问的安全性

提供IP白名单功能:您可以通过设置允许访问实例的机器名单,进一步保证实例和数据的访问安全。如果一台机器在VPC内部,但不在设置的白名单内,则不能访问实例

TSDB的数据存储默认采取三副本策略,充分保证数据的可用性


7.流计算支持

TSDB已与阿里云实时计算(Flink)产品集成


四、产品架构

1.整体系统架构

TSDB时间序列数据库系统的核⼼是分布式时间序列数据库引擎

分布式时间序列引擎是由以若⼲TSDB节点构成的对等分布式系统,以及底层的HBase/HDFS存储系统构成

每个TSDB节点具有三⼤核⼼组件:倒排索引,⾼压缩⽐缓存和分布式聚合引擎。倒排索引⽤于加速多维查询;⾼压缩⽐缓存⽤于加速时间序列数据读写;分布式聚合引擎⽤于提升聚合器性能


2.系统组件和技术原理

1)倒排索引

倒排索引和时间序列数据都持久化存储在HBase中,TSDB节点启动的时候把倒排索引信息和最近若⼲小时的时间序列数据预先加载到内存

2)高压缩比缓存

TSDB内部使⽤⾼压缩⽐缓存来缓存最近⼀段时间的热数据,缓存以写回(WriteBack)的⽅式⼯作

为了防⽌数据丢失,未写回HBase的数据会记录在binlog中,binlog存储在和HBase共享的HDFS⽂件系统⾥,依靠HDFS来提供性能⽔平扩展,全局⼀致可⻅和⾼可⽤

3)分布式聚合引擎

TSDB使⽤分布式聚合引擎来提⾼数据查询/聚合的性能,每次查询/聚合请求都会被转化成⼀个临时的流处理任务

和典型的流处理架构(⽐如flink或者gearpump)类似,在TSDB中的流任务被转换成⼀个在⼯作节点之上的拓扑结构,数据在拓扑结构中单向流经处理节点,最后得到输出结果

和通⽤的流处理架构相⽐,TSDB的分布式聚合引擎可以在更短的时间内启动⼀个流处理任务,以保证查询/聚合的性能

4)集群和负载

TSDB本⾝以对等节点的⽅式组成集群,通过Gossip协议分享数据分⽚的信息,数据分⽚是对⽤⼾透明的,也就是说,⽤⼾通过SLB读/写TSDB的时候,可以把请求发送到任何⼀个TSDB节点,TSDB节点会把数据根据Gossip共享的分⽚信息,发送到不同的TSDB节点上

5)存储引擎

TSDB底层的存储引擎是HBase,数据最终都会持久化到HDFS上。通过HBase/HDFS的⽔平扩展和⾼可⽤机制来保证数据存储的性能⽔平扩展和⾼可⽤

TSDB对外提供的接口兼容OpenTSDB协议,以HTTP/JSON的⽅式运作,因此可以通过SLB提供负载均衡和故障切换


五、产品优势

1.性能卓越

具有高效的读写能力,相比较开源的OpenTSDB和InfluxDB,读写效率提升数倍


2.存储成本低

基于高效压缩算法有效压缩原始数据,最多可节约 90% 的存储空间


3.使用简单

兼容OpenTSDB的数据访问协议,开发简单

控制台提供丰富的数据管理和运维功能,操作简单便捷,让您轻松完成日常数据管控和运维


4.专业运维支持

TSDB的研发团队具备全球一流的数据库专家,提供专业技术支持

提供专业的监控和报警系统,快速具备运维能力


六、技术优势

1.存储计算分离架构

TSDB采⽤存储计算分离架构,提升机器资源利⽤率,有利于保证⾼可⽤和集群管理

计算节点负责协议的解析,索引的管理,原始数据的聚合分析。存储节点负责有状态数据的下沉,保证数据的持久化,多副本可靠性


2.时间分区索引算法

⾃研的时间分区索引算法,内置索引评估器,通过⼤数据概率算法区分⾼低基数索引,选择最优执⾏计划,减少资源消耗,提升查询效率

基于时间周期的索引组织⽅式,易于过滤⽆效时间线,减少数据的额外访问开销。部分频繁访问索引缓存在内存中,提⾼索引命中率


3.流式聚合

查询优化器基于规则评估构造Operator Tree;聚合执⾏器采⽤pipeline迭代聚合⽅式,减少内存开销以及对于底层存储的查询压⼒,具备查询场景降级能⼒,对于不规则查询降级到雾化聚合


4.自研压缩算法

⽀持基于数据类型的⾃适应压缩算法,可以针对布尔,整形,字符串,浮点等数据类型⾃动提供相匹配的最佳压缩算法。尤其浮点型采⽤⾃研的HiMO压缩算法,通过字节对⻬和XOR等⽅式实现⾼效压缩


5.数据模型

动态Schema,⽆需预建索引,⽀持多值,单值等多种接⼊数据模型


文章转载自Reborn2020,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论