摘要: 2017云栖大会·上海峰会上,阿里云发布了面向物联网场景的高性能时间序列数据库 (High-Performance Time Series Database , 简称 HiTSDB) 。HiTSDB 可支持每秒1000万时序数据点写入;具备PB级别的数据存储能力,提供高效压缩算法,整体存储成本降低90%;提供时序数据插值计算,降精度计算,时间纬度聚合计算,空间纬度聚合计算的能力。
HiTSDB 是一种高性能、低成本、稳定可靠的在线时序数据库服务;提供高效读写,高压缩比存储、时序数据插值及聚合计算。是物联网(IoT)设备监控系统 ,企业能源管理系统(EMS),生产安全监控系统,电力检测系统等行业领域的专业数据库。
HiTSDB 打造物联网智慧园区
HiTSDB 已经在阿里巴巴内部孵化多年,在阿里巴巴集团已经支持了20多个核心业务场景,比如阿里智慧园区的物联网(IoT)建设。
智慧园区主要解决办公园区的设备的管理和智能控制。设备管理主要是将设备接入到统一的设备管理平台,同时对所有设备的运行情况进行监控,及时发现故障设备,了解整体的设备运行情况以便于做出相应的决策。
而智能控制就是系统能够根据设备的运行状态,通过某些规则的设定自动的进行各种调控,比如:当某个办公区域的人数大于20人时,可以自动开启亮灯,小于20人是可以自动关灯,或者当某一区域的一氧化碳的水平高于预警值,则自动启动报警开关,对于园区的安全管理也非常必要。
对于技术而言,设备的监控和智能控制的规则的匹配,本质是数据的收集和监控分析。
园区的设备种类繁多,包括摄像头、电灯、空调、空气检测,这些设备上都有非常多的传感器,这些传感器每一时刻都在实时的产生数据,这些数据随着时间的推进,会在时间轴上产生一些列的数据,就是我们说的时序数据,比如温度、湿度、用电量等。要实现设备的监控管理,其实就是将这时序数据进行实时的采集存储和分析展现,而 HiTSDB 就是时序数据领域的专业数据库。
HiTSDB 集群可支持每秒 1000 万的时序数据点写入
HiTSDB 具备关系数据库及NoSQL 数据库所不具备的写入能力。
智慧园区以及其他的IoT场景,设备的规模通常是万级别至百万级别,每个设备都实时产生数据,需要将实时数据快速的写入到数据库中,那么每秒就要写入上百万甚至上千万的实时数据。
百万甚至千万级别的实时数据写入对于数据库并发写入的压力非常巨大,使用关系型数据库完全不可行。 因为 InnoDB 的写入性能是很有限的,实际测试在24台机器上,存储使用SSD硬盘,一秒钟只能持续写入只有两万左右,主要原因在于B树索引。InnoDB 的索引是一个B树,这个B树的更新有很大的开销。虽然我们可以通过一些办法优化,但时序数通常是一个多维数据,通常是 ADhoc 的查询,为了优化所有排列组合查询,需要建很多多列的索引,这些索引每次在写的时候每个都需要更新,所以就会导致很多的IO。
而 HiTSDB 针对时序数据库的进行写入优化,基于时间序列的时间线数据结构进行存储写入,实际业务使用场景中最高支持到每秒 1000 万的时序数据点写入。基于阿里云 4C8G规格的 ECS,单台平均达到10万/秒的数据写入,峰值达15万/秒。
HiTSDB 具备领先的时序数据分析技术优势
在数据查询方面,HiTSDB 也具备领先的技术优势。在时序数据领域“插值(interpolation)”,“降精度(DownSimple)”以及“聚合计算(Aggregation)”是常见的业务需求。举个例子, 智慧园区的业务系统需要查看一个楼宇的某盏灯的耗电量情况,那么就需要把这盏灯的耗电量数据从数据库中查询并展示出来,如果由于采集的故障导致某个时刻用电量数据缺失,那么需要通过特定算法来近似的估算出这个数据,这个计算补全数据的过程就是“插值”。而当需要查看这盏灯一年的耗电趋势情况时,通常只需要计算出每一天的耗电量,进行查看,而不需要把每一个时刻采集的数据全部输出出来,这个将原始精度转化为业务需求精度的过程就是“降精度”。而如果要统计某一个楼层或者楼宇的用耗电量整体趋势数据时,就需要将所有统计范围内的灯具的耗电量数据做“合并统计”,这个类似的统计过程就是Aggregation。
时序数据降精度是在时间序列维度上做的。对于关系数据库来说,首先要把时间序列维度拿出来,然后在中间插值,而实际上 SQL 是按点来操作的。所以如果要做降精度的话,需要用一个值查询把整条时间序列上的数据查询出来,插好值之后才能做时间序列之间的聚合,那么服务和 SQL 服务器之间的吞吐量非常大,相当于 SQL 只是一个数据通道需要把所有值都拉出来运算一遍,这个查询性能会非常慢,并且每一次计算都需要重新拉取数据,相对 HiTSDB,这个性就能差了几百倍。
HiTSDB 支持线性插值,可以尽量弥补数据异常缺失造成的统计失败。HiTSDB 支持 Max ,Min ,AVG 等各种降精度的计算函数,同时也可以通过“预降精度”的方式,将业务精度的数据在入库的过程中计算完成,提升查询的效率。HiTSDB 在的空间聚合 Aggregator 支持也非常全面,支持 ADhoc 查询,HiTSDB 通过引入倒排索引和数据分片提升检索时间序列的效率,通过并行计算架构,整体计算性能提升非常明显。
HiTSDB 兼容 OpenTSDB 协议,写入性能提升20倍,压缩效率提升10倍。
HiTSDB 兼容 OpenTSDB 访问协议。OpenTSDB 是时序数据库领域相对活跃的技术产品,HiTSDB 通过技术优化后相对于 OpenTSDB 写入性能提升20倍以上。HiTSDB 压缩效率相比较 OpenTSDB 提升10倍左右,通常原始时序数据的大小在 200-300 Byte,OpenTSDB 单数据点消耗约20 Byte,HiTSDB 单数据点消耗约 2Byte,通过 HiTSDB 可以节约90%以上的数据库存储成本。
HiTSDB 所具备的高效数据写入和高压缩比的特性,以及阿里长期业务实践的所提供的稳定性保证,结合阿里云上丰富的产品生态,可以帮助 IoT 企业快速构建自己的智慧物联网监控分析系统,也可以帮助传统的石油化工及制造企业插上物联网的翅膀,打造属于企业自己的智慧系统。
现在,HiTSDB 在阿里云官网启动免费公测。公测名额有限,立即申请
http://click.aliyun.com/m/27110/
相关推荐
HiTSDB时序数据库引擎在服务于阿里巴巴集团内的客户时,根据集团业务特性做了很多针对性的优化。然而在HiTSDB云产品的打磨过程中逐渐发现,很多针对性的优化很难在公有云上针对特定用户去实施。于此同时,在公有云...
主要讲解时序数据和时序数据库的特性,介绍目前DB-Engines排名第一的时序数据库InfluxDB,以及阿里云时序数据库InfluxDB®的特点和优势,详细讲解如何使用InfluxDB®管理时序数据,包括数据收集与存储、数据查询和...
阿里云栖大会中介绍的阿里高性能时间序列数据库HiTSDB,是专门为物联网(IoT)设计的数据库解决方案,它针对物联网应用中的大规模、高频率数据处理需求进行了优化。时间序列数据库是一种专门处理时间序列数据的数据库...
3. **云原生时序数据库**:随着云计算技术的发展,越来越多的时序数据库开始采用云原生架构,利用容器化、微服务等技术提高系统的可伸缩性和可用性。 ### 四、时序数据库与云计算的关系 云计算为时序数据库提供了...
边云融合的时序数据库实践”强调了边云融合如何提升时序数据库的性能和效率,以及在实际案例中的应用。 **核心知识点:** 1. **时序数据特点**: - 时间序列数据是按照时间顺序排列的一系列数值,如环境温度监测...
工业大数据的发展推动了时序数据库的需求,时序数据库需要能够提供高性能、可扩展性、高可靠性和实时性的服务。Tbase是一个基于时序数据库的解决方案,能够满足工业大数据的需求,提供高性能、可扩展性、高可靠性和...
传统的数据库如MySQL在处理这种高并发写入和复杂时间范围查询时可能会遇到性能瓶颈。 时序数据库的核心特性包括: 1. **高速写入**:由于时序数据通常是连续且频繁的,数据库需要支持每秒上千万甚至上亿的数据点...
在NoSql的框架下,时序数据库提供了一种灵活且高性能的方式来处理时序数据。例如,某些时序数据库产品如InfluxDB、OpenTSDB和Cassandra等,它们支持多种数据模型和API,允许开发者根据具体业务需求选择合适的解决...
HiTSDB(High-Performance Time Series Database)是一个面向时序场景优化的时序数据库,其底层存储优势在于使用了HBase。HiTSDB针对时序数据进行了特别设计,包括使用异步的HBase客户端(AsyncHbaseClient)以及...
### 阿里云数据库 PG、PPAS、HDB for PG 云生态、产品指南、企业全栈应用案例、开发管理实践 #### 一、PostgreSQL, GPDB 技术发展与云生态 PostgreSQL是一种功能强大的开源关系型数据库管理系统,因其稳定性、安全...
CeresDB是一款专为应对高性能、分布式环境设计的云原生时序数据库,其核心特性在于其Schema-less架构,能够灵活适应不断变化的数据模式,并且能够同时高效地处理时序型数据和分析型数据,这在数据库领域具有显著的...
该项目是TDengine的高性能分布式时序数据库设计源码,主要使用C语言开发,同时包含C、Python、Java、Shell、JavaScript、HTML、Lua、Go、C++、CSS、C#、MATLAB、Rust等多种语言。项目共包含3423个文件,其中包括630...
《藏经阁-时序数据库技术和架构演进》是一份深度探讨时序数据库技术与架构发展的文档,由阿里云提供。时序数据库是专门用于处理时间序列数据的数据库系统,广泛应用于物联网(IoT)、监控系统、金融交易等领域,因为...
时序数据库介绍与简单应用 Influxdb2.0-版本中概念与flux语法使用、函数简介
阿里云专有云企业版V3.12.0的时序时空数据库开发指南主要针对的是在阿里云平台上使用特定版本的时序时空数据库的开发者和管理员。此指南提供了详细的操作和开发指导,帮助用户更好地理解和利用这个数据库系统。时序...
直播讲师:倪劲峰(花名:劲峯),阿里巴巴高级...内容简介:本次技术分享,我们将向大家讲解阿里云时序数据库TSDB新增加的SQL查询引擎,为大家介绍如何用结构化查询语言SQL进行时序数据的查询分析和计算,并现场演示。
InfluxDB 是一个时间序列数据库,GO 编写的,旨在处理高写入和查询负载。InfluxDB 旨在用作涉及大量时间戳数据的任何用例的后备存储,包括 DevOps 监控、应用程序指标、物联网传感器数据和实时分析。 特点: 专门为...
为此,阿里云推出的时序数据库(TSDB)服务,是特别为物联网场景设计的新型数据库解决方案,它能够满足物联网数据的存储、计算和分析需求。 云计算是当前互联网技术的重要组成部分,它允许用户通过网络使用共享的计算...