Aliware打造史上最强时序数据库,HiTSDB每秒写入时序数据达1000万!

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 近日,Aliware对外正式发布HiTSDB高性能时序数据库。HiTSDB引入了高效压缩算法,能够将每个数据点的平均内存开销压缩到2字节以下,并且支持最高每秒1000 万的时序数据点写入,同时可以通过“预降精度”的方式,将业务精度的数据在入库的过程中计算完成,提升查询的效率。

HiTSDB 是一种高性能、低成本、稳定可靠的在线时序数据库服务;提供高效读写,高压缩比存储、时序数据插值及聚合计算。是物联网(IoT)设备监控系统 ,企业能源管理系统(EMS),生产安全监控系统,电力检测系统等行业领域的专业数据库。

HiTSDB高性能的秘密

HiTSDB内部使用高性能内存缓存,缓存策略和压缩算法都是专为时序场景定制。有利的方面是:在时序场景中,数据的写入顺序大致按照时间排列,而且越近期的数据访问越频繁,因此可以使用简单的“缓存最近的数据”策略;不利的方面是:时序场景写入的数据量很大,很短时间的数据就会填满缓存。为了提高缓存能力,HiTSDB引入的高效的压缩算法(基于FaceBook的Gorilla系统中的压缩算法改进)。该压缩算法在一般的数据分布下,能够将每个数据点的平均内存开销压缩到2字节以下,相对于原始数据有十倍以上的压缩率,大大提高了缓存能力。

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 在阿里云官网启动免费公测

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
5月前
|
存储 SQL 多模数据库
多模数据库Lindorm再升级:对接Dataphin,打通数据治理“最后一公里”
Lindorm通过与Dataphin的深度整合,进一步解决了数据集成和数据治理的问题,为企业提供更加高效和更具性价比的方案。
多模数据库Lindorm再升级:对接Dataphin,打通数据治理“最后一公里”
|
4月前
|
安全 数据管理
DataphinV4.1大升级:支持Lindorm开启高性价比数据治理,迎来“公共云半托管”云上自助新模式
DataphinV4.1大升级:支持Lindorm开启高性价比数据治理,迎来“公共云半托管”云上自助新模式
|
5月前
|
数据采集 安全 API
DataphinV4.1大升级: 支持Lindorm开启高性价比数据治理,迎来“公共云半托管”云上自助新模式
Dataphin 是阿里巴巴旗下的一个智能数据建设与治理平台,旨在帮助企业构建高效、可靠、安全的数据资产。在V4.1版本升级中,Dataphin 引入了Lindorm等多项新功能,并开启公共云半托管模式,优化代码搜索,为用户提供更加高效、灵活、安全的数据管理和运营环境,提升用户体验,促进企业数据资产的建设和价值挖掘。
1546 3
DataphinV4.1大升级: 支持Lindorm开启高性价比数据治理,迎来“公共云半托管”云上自助新模式
|
5月前
|
存储 DataWorks 安全
DataWorks产品使用合集之没有使用独享资源组,如何将Lindorm中的数据导出或迁移到其他数据存储服务
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
45 0
|
5月前
|
时序数据库
时序数据库工具grafana里的$timeFilter查询1个小时内的数据如何写查询条件
【6月更文挑战第24天】时序数据库工具grafana里的$timeFilter查询1个小时内的数据如何写查询条件
621 0
|
6月前
|
数据可视化 数据格式 索引
lindorm时序数据引擎可否将查询结果导成excel格式?
lindorm时序数据引擎可否将查询结果导成excel格式?
75 0
|
消息中间件 存储 弹性计算
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
|
存储 NoSQL Oracle
「时序数据库」使用cassandra进行时间序列数据扫描
「时序数据库」使用cassandra进行时间序列数据扫描
|
SQL 存储 分布式计算
【时序数据库】时间序列数据和MongoDB第三部分-查询、分析和呈现时间序列数据
【时序数据库】时间序列数据和MongoDB第三部分-查询、分析和呈现时间序列数据
|
存储 分布式计算 NoSQL
「时序数据库」时间序列数据与MongoDB:第一部分-简介
「时序数据库」时间序列数据与MongoDB:第一部分-简介