什么是时序数据?有哪些应用场景?终于有人讲明白了
导读:本文主要讲解时序数据的定义、典型特点、时序数据的应用场景、数采难点及时序数据工具等内容。
分析故障,看主要的设备故障是什么; 分析产能,看如何优化配置来提升生产效率; 分析能耗,看如何降低生产成本; 分析潜在的安全隐患,以降低故障时长。
数据是时序的,一定带有时间戳:联网的设备按照设定的周期,或受外部事件的触发,源源不断地产生数据,每个数据点是在哪个时间点产生的,这个时间对于数据的计算和分析十分重要,必须要记录。 数据是结构化的:网络爬虫的数据、微博、微信的海量数据都是非结构化的,可以是文字、图片、视频等。但物联网设备产生的数据往往是结构化的,而且是数值型的,比如智能电表采集的电流、电压就可以用4字节的标准的浮点数来表示。 数据极少有更新操作:联网设备产生的数据是机器日志数据,一般不容许而且也没有修改的必要。很少有场景,需要对采集的原始数据进行修改。但对于一个典型的信息化或互联网应用,记录是一定可以修改或删除的。 数据源是唯一的:一个物联网设备采集的数据与另外一个设备采集的数据是完全独立的。一台设备的数据一定是这台设备产生的,不可能是人工或其他设备产生的,也就是说一台设备的数据只有一个生产者,数据源是唯一的。 相对互联网应用,写多读少:对于互联网应用,一条数据记录,往往是一次写,很多次读。比如一条微博或一篇微信公众号文章,一次写,但有可能会有上百万人读。但物联网设备产生的数据不一样,对于产生的数据,一般是计算、分析程序自动读,而且计算、分析次数不多,只有分析事故等场景,人才会主动看原始数据。 用户关注的是一段时间的趋势:对于一条银行记录,或者一条微博、微信,对于它的用户而言,每一条都很重要。但对于物联网数据,每个数据点与数据点的变化并不大,一般是渐变的,大家关心的更多是一段时间,比如过去5分钟,过去1小时数据变化的趋势,一般对某一特定时间点的数据值并不关注。 数据是有保留期限的:采集的数据一般都有基于时长的保留策略,比如仅仅保留一天、一周、一个月、一年甚至更长时间,为节省存储空间,系统最好能自动删除。 数据的查询分析往往是基于时间段和某一组设备的:对于物联网数据,在做计算和分析时,一定是指定时间范围的,不会只针对一个时间点或者整个历史进行。而且往往需要根据分析的维度,对物联网设备的一个子集采集的数据进行分析,比如某个地理区域的设备,某个型号、某个批次的设备,某个厂商的设备。等等。 除存储查询外,往往需要实时分析计算操作:对于大部分互联网大数据应用,更多的是离线分析,即使有实时分析,但实时分析的要求并不高。比如用户画像,可以在积累一定的用户行为数据后进行。但是对于物联网应用,对数据的实时计算要求往往很高,因为需要根据计算结果进行实时报警,以避免事故的发生。 流量平稳、可预测:给定物联网数量、数据采集频次,就可以较为准确地估算出所需要的带宽和流量、每天新生成的数据大小。 数据处理的特殊性:与典型的互联网相比,还有不一样的数据处理需求。比如要检查某个具体时间的设备采集的某个量,但传感器实际采集的时间不是这个时间点,这时往往需要做插值处理。还有很多场景需要基于采集量进行复杂的数学函数计算。 数据量巨大:以智能电表为例,一台智能电表每隔15分钟采集一次数据,每天自动生成96条记录,全国就有接近5亿台智能电表,每天生成近500亿条记录。一台联网的汽车每隔10到15秒就采集一次数据发送到云端,一台汽车一天就很容易产生1000条记录。如果中国2亿辆车全部联网,那么每天将产生2000亿条记录。5年之内,物联网设备产生的数据将占世界数据总量的90%以上。
高并发、高吞吐量的写入能力:如何支持每秒钟上千万数据点的写入,这是最关键的技术能力。 数据高速聚合:如何支持以秒级的速度对上亿数据进行分组聚合运算,如何能高效地在大数据量的基础上将满足条件的原始数据查询出来并聚合,要知道统计的原始值可能因为时间比较久远而不在内存中,因此这可能是一个非常耗时的操作。 降低存储成本:如何降低海量数据存储的成本,这需要时序数据库提供高压缩率。 多维度的查询能力:时序数据通常会有多个维度的标签来刻画一条数据,如何根据几个维度进行高效查询就是必须要解决的一个问题。
时序数据在各行各业有着广泛应用的,例如在电力行业智能电表、电网发电设备集中监测; 在石油化工行业油井、运输管线运输车队的实时监测; 在园区,在智慧城市实时路况、卡口数据路口流量监测,在金融行业交易记录、存取记录ATM、POS机监测,智能安防(楼宇门禁、车辆管理、井盖、电子围栏)、应急响应(消防、人群聚集、危化品、结构健康、电梯)等。
以PI为代表的实时数据库
没有水平扩展能力,数据量增加,只能依靠硬件的纵向扩展解决。 技术架构老旧,很多还是运行于Windows系统中的。 数据分析能力偏弱,不支持现在流行的各种数据分析接口。 不支持云端部署,更不支持SaaS。 在传统的实时监控场景,由于对各种工业协议的支持比较完善,实时数据库还占有较牢固的市场地位,但是在工业大数据处理上,因为上述几个原因,几乎没有任何大数据平台采用它们。
schemaless(无结构),可以是任意数量的列 可扩展(集群) 方便、强大的查询语言 Native HTTP API 集成了数据采集、存储、可视化功能 实时数据Downsampling 高效存储,使用高压缩比算法,支持retention polices 数据采集支持多种协议和插件:行文本、UDP、Graphite、CollectD、OpenTSDB
存储数值型时序列数据 根据请求对数据进行可视化(画图)
高并发写入:数据先写入内存,再周期性的 Dump 为不可变的文件存储。且可以通过批量写入数据,降低网络开销 低成本存储:通过数据上卷(Rollup),对历史数据做聚合,节省存储空间。同时利用合理的编码压缩算法,提高数据压缩比
无论是插入,还是查询,性能都高出许多。 因为性能超强,其所需要的计算资源不及其他软件的1/5。 采用列式存储,对不同数据类型采取不同的压缩算法,所需要的存储资源不到其他软件的1/10。 无须分库、分表,无实时数据与历史数据之分,管理成本为零。 采用标准SQL语法,应用可以通过标准的JDBC、ODBC接口插入或查询数据,学习成本几乎为零。
评论