本文分享自华为云社区《GaussDB(DWS)带你走近IoT时代-时序数据库为万物互联打下坚实的数仓基石》,作者:AndyCao。
随着5G技术的不断成熟,物联网技术得到了快速发展,万物互联的场景在我们身边也越来越触手可及。我们身边的电子设备变得越来越多,手机、电脑、智能手表、全屋智能、自动驾驶汽车等等,承载的信息量成倍增加,数以亿计的信息昼夜不停地描绘着这个世界。
物联网时代,每个物体每时每刻都在产生各种维度的数据信息,这些信息尽可能全面的刻画我们所生活的世界,这些采集到的数据信息,帮助我们更好的生活,不断改变我们的生活方式。例如当下非常火热的自动驾驶,需要在汽车上配备各种传感器,用于实时采集运行时汽车的各项监控数据,采集的维度包括:坐标、速度、方向、温度、功率等等。每辆汽车上的传感器每天采集数据的数量可能达到TB级。
这些采集到的数据和时间强相关,采样时间间隔固定,描述了物体在历史时刻中测量数据的变化,我们将这种类型的数据统称为时间序列(Time Series)数据。我们将这些时序数据存储起来,这些海量数据不仅帮助我们了解物体的实时状态,通过多个维度的分析,更能够帮助数据使用者更好的指定策略,分析目标对象的趋势和规律等,甚至能够帮助我们预测不确定的未来。
下图是一个典型的风力发电机采集时序数据示意图。时序数据由两个维度坐标来表示,横坐标表示时间轴,随着时间的不断流逝,数据源源不断的采集。纵坐标由两种元素构成,分别是数据源和测量值。数据源是由一些特定的标签(tag)组成,且唯一表示。下面是时序数据集的一些基本概念:
图中的风力发电机的生产厂商、风场位置、型号和ID唯一确定一台发电机。图中主要采集功率和风速这两种维度数据。沿着时间线不断延伸,可以采集到每个时间点对应的功率和风速。因此我们可以通过tag标签 + 采样指标 + 时间点这三个组合来唯一确定一个时间点的时序数据。
通过上述的风力发电机的采样模型我们对时序数据有一定的初步认识。那么相比较于传统数据库的应用场景,时序场景下的数据存储带来了哪些挑战呢?时序数据在实际采集过程中存在以下技术要求和特点:
例如在自动驾驶汽车监测的数据每秒只采集5种测量数据(速度、温度、发动机功率、方向、坐标),1000W量汽车每秒中将会有5000W的TPS。
传统业务数据通常和应用的访问量成正比,而访问量通常存在波峰波。不同于传统业务场景,时序数据的产生通常以一个固定的时间频率进行采集,不会受其他因素的制约,其数据生成的速度是相对比较平稳。
时序数据90%左右的操作都是写操作。主要与其应用场景相关,例如在监控场景下,虽然每天需要存储很多数据,但是真正去读取的数据通常比较少,通常只会关注几个特定关键指标在一定时间范围内的数据。
高压缩率能够带来两方面的收益。一方面能够节省大量的硬件存储成本,节省硬盘的开销。另一方面压缩后的数据可以更容易存储到内存中,显著提高查询的性能。
时序数据的写入是实时的,采集的数据是反应物体客观信息,数据是随着时间推进不断产生,不存在旧数据更新场景。
最近时间的数据具有的价值越高,因此最近的数据被读取的概率越高。例如在监控场景下,最近几个小时或者几天的监控数据最可能被访问,而一个季度或者一年前的数据极少访问。
时序数据来自不同个体,这些个体可能拥有不同的属性。在监控场景下,我们对某个集群上每台机器上的网络流量监控,可以对集群下的某台机器的网络流量查询,也可以对集群总的网络流量查询。
典型时序数据库主要服务两类业务场景,应用性能监控(Application Performance Management, APM)和物联网(Internet of Things, IoT),使用场景涵盖以下多种场景:
在万物互联的时代,时序数据库将会是一个非常具有市场和挑战性的领域。如何帮助用户更好的解决时序场景下遇到的难题,也是华为云服务的宗旨,帮助客户在物联网时代更快更好的适应潮流的发展,发挥出更有力的作用和创造更大的价值。
GaussDB(DWS) IoT数仓针对时序场景下的各种特点和技术要求,在高性能(全并行架构、实时分析)、高扩展(1024大集群、逻辑集群)、多模融合、安全可靠(HA、容灾、备份)、智能运维(智能调优,智能调度)等方面,不断进行创新和挑战中前进,为万物互联的美好时代,打下坚实的数据存储基石。
点击下方,第一时间了解华为云新鲜技术~
华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云