更新时间:2024-05-07 GMT+08:00
分享

IoT数仓简介

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

例如,当下非常火热的自动驾驶,需要在汽车上配备各种传感器,用以实时采集运行时汽车的各项监控数据,采集的维度包括:坐标、速度、方向、温度、功率等等。每辆汽车上每天采集的数据量可达到TB级。而这些数据和时间强相关,采样时间间隔固定,包含了物体在历史时刻中测量数据的变化,这种类型的数据统称为时间序列(Time Series)数据。通过这些时序数据不仅能了解物体的实时状态,而且还能从多个维度分析目标对象的趋势和规律等,甚至能够预测不确定的未来。

GaussDB(DWS)的IoT数仓提供自研的时序引擎,提供扩展的时序场景语法,以及分区管理、时序计算、时序生态函数等服务功能,基于时序表提供时序计算能力。

与标准数仓的区别

IoT数仓与标准数仓是GaussDB(DWS)的两种不同类型产品,在使用上也存在一定差异,具体可参考表1进行对比分析。

表1 IoT数仓与标准数仓的差异

数仓类型

标准数仓

IoT数仓

适用场景

融合分析业务,一体化OLAP分析场景。主要应用于金融、政企、电商、能源等领域。

应用性能监控及物联网IoT等实时分析场景。主要应用于环境监测、自动驾驶、系统监控等行业。

产品优势

性价比高,使用场景广泛。

支持冷热数据分析,存储、计算弹性伸缩,无限算力、无限容量等。

高效的时序计算和IoT分析能力。

丰富的时序处理函数,支持实时和历史数据关联,内置时序算子,海量数据写入,高压缩以及多维度分析等能力。并且继承标准数仓的各种优势场景。

功能特点

支持海量数据离线处理和交互查询,数据规模大、复杂数据挖掘具有很好的性能优势。

千万时间线,秒级聚合,典型IoT场景下导入和查询较传统引擎提升数倍。

SQL语法

SQL语法兼容性高,语法通用,易于使用。

兼容标准数仓语法,新增IoT数仓特有DDL语法。

GUC参数

丰富的GUC参数,根据客户业务场景适配最适合客户的数仓环境。

兼容标准数仓GUC参数,新增支持IoT数仓调优等GUC参数。

数据特征

时序数据列可以分为三类:

  • Tag列:将表征数据源来源或者属性信息的列作为Tag列,该列的数值相对稳定,不随时间变化而变化。
  • Field列:将采样的维度作为数据列,因为该列的数据一般随时间变化而变化,存储各个指标的value。
  • Time列:表示采样时刻的时间戳。

图1为典型发电机组数据采样示意图。共有三台发电机组,每个时间点分别采样四种数据:电压、功率、频率和电流相角。随着时间的流逝,每个采样的时间点将采样到的数据源源不断的传输。示意图中每条虚线都可以表示为一条时间线。

图2所示可以将示意图转化为具体的一张表来存储数据,发电机组的某个指标随时间变化形成一条时间线,通过tag + field + time组合确定一条时间线。

橙色区域的tag列包含发电机、生产厂商、型号、位置、ID,不会随时间的变化而变化;

蓝色区域的field列包含电压、功率、频率、电流相角,这些列是目标采样维度,存储的采样数据会随着时间动态变化;

黄色区域为time列,表示采样的时间点。

图1 发电机组数据采样示意图
图2 存储数据表

技术特点

  • 海量数据写入能力

    ​ 在自动驾驶汽车监测的数据每秒只采集5种测量数据(速度、温度、发动机功率、方向、坐标),1000W辆汽车每秒中将会有5000W的TPS。

  • 写入平稳、持续

    ​不同于传统业务场景,时序数据的产生通常以一个固定的时间频率进行采集,不受其他因素的制约,其数据生成的速度是相对平稳。

  • 写多读少

    与应用场景相关,时序数据90%左右的操作都是写操作。例如在监控场景下每天需要存储很多数据,但是读取的数据比较少,通常只会关注几个特定关键指标在一定时间范围内的数据。

  • 高压缩率

    高压缩率能够带来两方面的收益。一方面能够节省大量的硬件存储成本,节省硬盘的开销。另一方面压缩后的数据可以更容易存储到内存中,显著提高查询的性能。

  • 实时写入新数据

    时序数据的写入是实时的,采集的数据反应客观信息,数据是随着时间推进不断产生,不存在旧数据更新场景。

  • 数据读取概率高

    最近时间的数据具有的价值更高,因此被读取的概率高。例如在监控场景下,最近几个小时或者几天的监控数据最可能被访问,而一个季度或者一年前的数据极少访问。

  • 多维分析

    ​时序数据来自不同个体且拥有不同属性。例如在监控场景下,通过对某个集群上每台机器的网络流量监控,可以查询分析某台机器的网络流量,也可以同时查询集群总的网络流量。

应用场景

典型IoT数仓主要服务两类业务场景,应用性能监控(Application Performance Management,APM)和物联网(Internet of Things,IoT),主要体现在以下几个方面:

  • 商业零售:电商系统订单交易金额,支付金额数据,尚品库存,物流数据;
  • 金融交易:股票交易系统持续记录股票价格,交易量等;
  • 社会生活:智能电表实时记录每小时的用电量数据等;
  • 工业领域:工业机器数据例如风力发电机,获取实时转速、风速数据、发电量数据等;
  • 系统监控:IT基础设施的负载和资源使用率,DevOps监控数据、移动/Web应用程序事件流等;
  • 环境监测:自然环境(如温度、空气、水文、风力等)的监测,科学测量结果等;
  • 城市管理:城市交通的监测(车辆、人流、道路等);
  • 自动驾驶:自动驾驶汽车持续收集所处环境中的变化数据等。
分享:

    相关文档

    相关产品