时序数据与时序数据库的“保姆级”科普!
作为将数据价值转化为产能能效的“核心大脑”,数据库的发展依然处于加速期,面向不同数据类型的数据库类型也在不断增加。
在众多细分领域数据库类型中,伴随制造业数字化转型的行业趋势和多项政策推动,赋能智慧工业管理的时序数据库愈发受到关注。
对于数据库的概念大家应该并不陌生,但是‘时序’是什么?时序数据库有哪些特点,基本架构是什么,市面上又有哪些产品类型?
本文将一一为你解答上述问题。
01
什么是时序数据
时序数据库顾名思义,是“管理时序数据的数据库”,所以在了解时序数据库之前,首先需要了解什么是时序数据。
时序数据是按时间维度,记录系统、设备状态变化的数据类型。它的基本结构特点就是数据中自带数据产生的时间,也就是数据带有时间戳。在网络良好的情况下,时序数据是以时间顺序上报的。
时序数据举例
物联网、工业物联网、金融、医疗等领域各种类型的设备和传感器网络都会产生海量的时序数据,时序数据的应用场景主要分为两个目的:
降本:面向生产设备进行状态监控、实时告警、故障预测,降低系统运维成本与故障风险。
增效:面向工艺步骤、生产流程展开深入分析,加快工艺改进,提高生产效率。
因此,时序数据为企业提供的新的利润增长点是非常可观的。
以风机运行场景为例,测风仪可能随着环境因素(震动,腐蚀等)出现偏差,主控系统依据错误风向数据偏航导致迎风角错误,将会导致风机发电效率衰减,影响产能。
此时如果实现了对风机时序数据的全量存储与充分分析,及时判断是否需要对测风仪误差进行补偿,每台风机每年即可多发电数万元,每年可能为业主带来上亿元经济收益。
可以说,数字化的基础是对联网设备进行状态检测,而产生的时序数据就是机器设备的“心电图”。
02
时序数据库的特点
时序数据库是一种专门用于存储、管理和处理时序数据的数据库管理系统。因为时序数据一般存在采样频次高、实时性强、数据量大等显著特点,导致写入要求高、存储代价大、处理难度高,一旦时序数据体量增加,单靠传统数据库可能力不从心。
而时序数据库在管理时序数据方面就存在很多性能优势,主要包括:
高吞吐写入能力:时序数据往往体量庞大,并可能存在高频数据上报。时序数据库通过优化数据结构和存储机制,可以在高并发的情况下保持高效的写入性能。
高压缩存储能力:使用传统方法的情况下,海量时序数据的存储往往占用空间大、存储成本高。而时序数据库可以通过时序数据处理的相关技术,来大幅减少存储空间。
低延迟查询能力:时序数据时间属性强,时序数据库能够支持用户用更简单的代码逻辑,实时进行基于时间范围的多类查询,方便灵活地获取所需结果。
支持多维数据分析和数据可视化:管理时序数据的目的是监控设备状态、优化生产流程。时序数据库通过工具/组件,支持数据大屏、报表等多形式的可视化成果,实现数据实时监控,并结合机器学习等前沿技术,进一步完成数据结果的深入分析。
高可扩展性:工业场景中伴随业务发展,设备数量往往将不断增加。时序数据库底层架构易于扩展建模,以管理更多设备数据。
灵活、安全的数据传输:工业场景中,设备一般在多个场站持续上报时序数据,在场站初步处理后,往往需要汇总至中心/集团侧进行进一步分析。同时,生产网、办公网可能相互隔离并搭建单向网闸,因此,支持灵活、简便、安全的数据同步方案对于时序数据库至关重要。
03
时序数据库中的基本概念
讲完时序数据库的整体侧重点,下面以时序数据库 IoTDB 为例,为大家介绍几个时序数据库数据模型的基本概念:
设备/实体(Device/Entity):实际场景中拥有物理量的设备或装置,可以是一个物理设备、测量装置、传感器集合等。
时间戳(Timestamp):代表数据点到来的时间。
物理量/测点/字段(Measurement/Meter/Field):实际场景中设备所记录的测量维度,例如传感器上报的温度、湿度等,记录随时间戳而变化的数据。
数据点(Data Point): 一个“时间戳-值”对,也就是一个时间点,一个设备上报的一个数据值,或重新二次计算的一个数据值,称为一个数据点。
可以看到,设备/实体上报的时序数据涵盖实时时间戳、多个物理量和不断变化的数据点,而多个时序数据可被高效管理于时序数据库中。
不同的时序数据库也可能根据自己的数据模型衍生出其他概念。比如 IoTDB 采用了树形模型,按照物联网实际管理层级(集团层-厂站层-实体层-物理量层)组织数据,以从根节点 ROOT 到物理量叶子节点的路径(Path)来命名一个时间序列,如 root.ln.wf01.wt01.status。IoTDB 也支持用户将任意前缀路径,比如 root.ln 设置成数据库(Database),方便数据的物理隔离。
IoTDB 树形模型
04
时序数据库的类型与产品
从 1999 年出现 RRDtool(Round Robin Database Tool)提出了专门面向时序数据存储、处理的方法开始,时序数据库发展至今已超过 20 年。
在没有专门管理时序数据的数据库之前,人们通常使用关系型数据库管理时序数据,因此部分时序数据库的架构是基于关系型数据库进行优化的。
还有一类基于 KV (key-value)存储的时序数据库,通过扩展 NoSQL 数据库实现时序数据存储,并使用分布式文件系统保障其扩展性。
随着大数据时代到来,2010 年之后,时序数据爆发式增长,时序数据库的发展走上了“快车道”。为了适应更多的场景,实现更好的性能,面向时序数据存储全新研发的原生时序数据库也越来越多。
目前,市场上已有多种时序数据库产品,对应上述的不同架构类型,典型代表列举如下:
TimescaleDB:TimescaleDB 基于 PostgreSQL 的时序数据库扩展,兼具关系型数据库和时序数据库的特点。通过在 PostgreSQL 的查询计划器、数据模型和执行引擎添加钩子,TimescaleDB 可以构建高度定制化的扩展层,并可以利用 PostgreSQL 丰富的第三方工具。
OpenTSDB:OpenTSDB 是一款基于 HBase 的分布式时序数据库,采用键值对的数据模型,运用针对写入密集的工作负载优化的 LSM-tree 结构,OpenTSDB 能够应对时序数据高通量写入的应用场景,并能保障扩展性。
InfluxDB:InfluxDB 在其类似 LSM-tree 的 TSM-tree 结构中,引入了 series-key 的概念,根据时间特征对数据进行分类,从而减少冗余存储,提高数据压缩率,并支持设置标签(Tag)和字段(Field),方便用户进行多维度查询。
IoTDB:IoTDB 是一款国产全自研、低成本、高可用的时序数据库产品。以自研的时序数据标准文件格式 Apache TsFile 为基底,合并乱序数据处理、时序大模型、端边云同步方案等多项技术,保障时序数据库的高吞吐、高压缩、低延迟查询性能,并提供丰富的数据分析功能与低流量、高安全性的数据同步功能。同时,IoTDB 实现了单机版、分布式版、边缘版等多类形态部署,数据模型具有高扩展性,能够有效满足企业在多种计算资源条件下、多种终端配置下,构建物联网时序数据管理解决方案的需要。
05
总结
作为全面数字化、服务转型升级的基础,时序数据管理对于工业、金融等领域至关重要。由于时序数据的特性与管理难点,时序数据库成为了构建智能化、一体化时序数据解决方案的重要一环。
随着物联网、云计算、大数据等技术的发展,时序数据库在未来将迎来更多的发展机会和挑战。在实时数据处理、智能分析、跨平台兼容性、数据安全性等方面,时序数据库还在持续创新。
之前的文字中,我们对于时序数据库的发展过程、选型指标和分类对比都进行了详细梳理,并归纳了时序数据库 IoTDB 的主要功能,欢迎各位扩展阅读并和我们讨论!
规上企业应用实例
能源电力:中核武汉|国网信通产业集团|华润电力|大唐先一|上海电气国轩|清安储能|某储能厂商|太极股份