时序数据库为万物互联打下坚实的基石
本文分享自华为云社区《GaussDB(DWS)带你走近IoT时代-时序数据库为万物互联打下坚实的数仓基石》,作者: AndyCao。
概述
随着5G技术的不断成熟,物联网技术得到了快速发展,万物互联的场景在我们身边也越来越触手可及。我们身边的电子设备变得越来越多,手机、电脑、智能手表、全屋智能、自动驾驶汽车等等,承载的信息量成倍增加,数以亿计的信息昼夜不停地描绘着这个世界。
物联网时代,每个物体每时每刻都在产生各种维度的数据信息,这些信息尽可能全面的刻画我们所生活的世界,这些采集到的数据信息,帮助我们更好的生活,不断改变我们的生活方式。例如当下非常火热的自动驾驶,需要在汽车上配备各种传感器,用于实时采集运行时汽车的各项监控数据,采集的维度包括:坐标、速度、方向、温度、功率等等。每辆汽车上的传感器每天采集数据的数量可能达到TB级。
这些采集到的数据和时间强相关,采样时间间隔固定,描述了物体在历史时刻中测量数据的变化,我们将这种类型的数据统称为时间序列(Time Series)数据。我们将这些时序数据存储起来,这些海量数据不仅帮助我们了解物体的实时状态,通过多个维度的分析,更能够帮助数据使用者更好的指定策略,分析目标对象的趋势和规律等,甚至能够帮助我们预测不确定的未来。
时序数据的特征
下图是一个典型的风力发电机采集时序数据示意图。时序数据由两个维度坐标来表示,横坐标表示时间轴,随着时间的不断流逝,数据源源不断的采集。纵坐标由两种元素构成,分别是数据源和测量值。数据源是由一些特定的标签(tag)组成,且唯一表示。下面是时序数据集的一些基本概念:
标签(tag):描述数据源特征,通常不随时间变化,例如图中的生产厂商、风场地址、型号和ID。
度量(metric):代表同一类时序数据的集合,类似关系型数据库中的表的概念。
时间戳(timestamp):表示数据产生的时间点,可以由系统自动生成。
测量值(field):表示数据源的测量维度的具体数值,随时间变化。
时间线(timeseries):数据源的某个指标随时间变化形成一条时间线,通过tag + field + timestamp组合确定一条时间线。图中每条虚线都是一条时间线。
图中的风力发电机的生产厂商、风场位置、型号和ID唯一确定一台发电机。图中主要采集功率和风速这两种维度数据。沿着时间线不断延伸,可以采集到每个时间点对应的功率和风速。因此我们可以通过tag标签 + 采样指标 + 时间点这三个组合来唯一确定一个时间点的时序数据。
通过上述的风力发电机的采样模型我们对时序数据有一定的初步认识。那么相比较于传统数据库的应用场景,时序场景下的数据存储带来了哪些挑战呢?时序数据在实际采集过程中存在以下技术要求和特点:
- 海量数据写入能力
例如在自动驾驶汽车监测的数据每秒只采集5种测量数据(速度、温度、发动机功率、方向、坐标),1000W量汽车每秒中将会有5000W的TPS。
- 写入平稳、持续
传统业务数据通常和应用的访问量成正比,而访问量通常存在波峰波。不同于传统业务场景,时序数据的产生通常以一个固定的时间频率进行采集,不会受其他因素的制约,其数据生成的速度是相对比较平稳。
- 写多读少
时序数据90%左右的操作都是写操作。主要与其应用场景相关,例如在监控场景下,虽然每天需要存储很多数据,但是真正去读取的数据通常比较少,通常只会关注几个特定关键指标在一定时间范围内的数据。
- 高压缩率
高压缩率能够带来两方面的收益。一方面能够节省大量的硬件存储成本,节省硬盘的开销。另一方面压缩后的数据可以更容易存储到内存中,显著提高查询的性能。
- 实时写入最近生成的数据,无更新
时序数据的写入是实时的,采集的数据是反应物体客观信息,数据是随着时间推进不断产生,不存在旧数据更新场景。
- 最近的数据读取概率高
最近时间的数据具有的价值越高,因此最近的数据被读取的概率越高。例如在监控场景下,最近几个小时或者几天的监控数据最可能被访问,而一个季度或者一年前的数据极少访问。
- 多维度分析
时序数据来自不同个体,这些个体可能拥有不同的属性。在监控场景下,我们对某个集群上每台机器上的网络流量监控,可以对集群下的某台机器的网络流量查询,也可以对集群总的网络流量查询。
时序数据库应用场景
典型时序数据库主要服务两类业务场景,应用性能监控(Application Performance Management, APM)和物联网(Internet of Things, IoT),使用场景涵盖以下多种场景:
- 商业零售:电商系统订单交易金额,支付金额数据,尚品库存,物流数据;
- 金融交易:股票交易系统持续记录股票价格,交易量等;
- 社会生活:智能电表会实时记录每个小时的用电量数据等;
- 工业领域:工业机器数据例如风力发电机,获取实时转速、风速数据、发电量数据等;
- 系统监控:IT基础设施的负载和资源使用率,DevOps监控数据、移动/Web应用程序事件流等;
- 环境监测:自然环境(如温度、空气、水文、风力等)的监测,科学测量结果等;
- 城市管理:城市交通的监测(车辆、人流、道路等);
- 自动驾驶:自动驾驶汽车持续收集所处环境中的变化数据等。
总结
在万物互联的时代,时序数据库将会是一个非常具有市场和挑战性的领域。如何帮助用户更好的解决时序场景下遇到的难题,也是华为云服务的宗旨,帮助客户在物联网时代更快更好的适应潮流的发展,发挥出更有力的作用和创造更大的价值。
GaussDB(DWS) IoT数仓针对时序场景下的各种特点和技术要求,在高性能(全并行架构、实时分析)、高扩展(1024大集群、逻辑集群)、多模融合、安全可靠(HA、容灾、备份)、智能运维(智能调优,智能调度)等方面,不断进行创新和挑战中前进,为万物互联的美好时代,打下坚实的数据存储基石。
点击关注,第一时间了解华为云新鲜技术~
时序数据库为万物互联打下坚实的基石相关推荐
- 时序数据库(TSDB)-为万物互联插上一双翅膀
本文由 网易云 发布. 时序数据库(TSDB)是一种特定类型的数据库,主要用来存储时序数据.随着5G技术的不断成熟,物联网技术将会使得万物互联.物联网时代之前只有手机.电脑可以联网,以后所有设备都会 ...
- 墨天轮国产数据库沙龙 | 四维纵横姚延栋 :MatrixDB,All-in-One高性能时序数据库
分享嘉宾:姚延栋 北京四维纵横数据有限公司创始人.原Greenplum 北京研发中心总经理.Greenplum中国开源社区创始人.PostgreSQL中文社区常委.壹零贰肆数字基金会(非营利组织)联合 ...
- 万物互联之~RPC专栏
3.RPC引入 上篇回顾:万物互联之~深入篇 Code:https://github.com/lotapp/BaseCode/tree/master/python/6.net/6.rpc/ 其他专栏最 ...
- 时序数据库永远的难关 — 时间线膨胀(高基数 Cardinality)问题的解决方案
简介: 本文主要讨论 influxdb 在遇到写入的数据出现高基数 Cardinality 问题时,一些可行的解决方案. 作者 | 徐建伟 (竹影) 前序 随着移动端发展走向饱和,现在整个 IT 行业 ...
- field list什么意思_时序数据库有什么不一样?
前言 如今在万物互联(IoT)兴起的推动下,时间序列数据(衡量事物随时间变化的数据)应用和场景激增,是增长最快的数据类型之一,比如监控指标数据,传感器数据,日志,财务分析等等:时间序列数据具有特定的特 ...
- 万物互联 | 你的企业可能需要这样一个物联网平台
★ 在这个万物互联世界中,我们的生活和工作模式也随之变化.比如在生活中,通过手机或者智能音箱,我们能实现智能家电的远程控制管理:在工作中,我们能通过各类智能终端设备实现工作协同和设备操作,极大提高工作 ...
- 时序数据库(TSDB)
时序数据库(TSDB)是一种特定类型的数据库,主要用来存储时序数据.随着5G技术的不断成熟,物联网技术将会使得万物互联.物联网时代之前只有手机.电脑可以联网,以后所有设备都会联网,这些设备每时每刻都会 ...
- 实时数据库:一夜之间,我感受到了时序数据库的威胁
作者:fledgling_ 链接:https://www.jianshu.com/p/abe1ec1855ad 嗨 进入正题之前,咱们先讲个故事. 在2018年接触到工业互联网之前,我完全没了解过时序 ...
- 2022 IoTDB Summit:京东刘刚《Apache IoTDB 在京东万物互联场景中的应用》
12 月 3 日.4日,2022 Apache IoTDB 物联网生态大会在线上圆满落幕.大会上发布 Apache IoTDB 的分布式 1.0 版本,并分享 Apache IoTDB 实现的数据管理 ...
最新文章
- 使用es6实现iview的选项卡切换
- HIVE 插入中文分区值的问题
- node简单实现一个更改头像功能
- 解决ftp上传connection reset错误
- python按日期排序_python按修改时间顺序排列文件的实例代码
- properties 配置回车_在Ubuntu上部署基于Docker的RSSHub,并配置SSL证书
- IIS处理并发请求时出现的问题及解决
- python写快排_python 实现快速排序
- OpenStack组件
- 【渝粤教育】国家开放大学2018年春季 4992T农村文化建设 参考试题
- 浅谈Flutter的状态State
- 瑞幸咖啡获2.5亿美元融资:将用于债务重组及与SEC和解
- (转)Python 面向对象编程(一)
- Ubuntu下部署zabbix 开源监控系统
- PHP程序员求职的一点思考
- 【2022】安装神通数据库及DataGrip连接
- deepin安装maven
- 拆t460拆机图解_雷神st pro怎么拆机?雷神st pro拆解详细评测图解
- 微信小程序实现自动语音功能:小程序语音提醒演示
- Tomcat8.5后版本不返回200 OK的问题解决