写点什么

时序数据库是什么:概念、特点与分类简析

作者:Apache IoTDB
  • 2024-10-31
    北京
  • 本文字数:2956 字

    阅读完需:约 10 分钟

时序数据库是什么:概念、特点与分类简析

作为将数据价值转化为产能能效的“核心大脑”,数据库的发展依然处于加速期,面向不同数据类型的数据库类型也在不断增加。


在众多细分领域数据库类型中,伴随制造业数字化转型的行业趋势和多项政策推动,赋能智慧工业管理的时序数据库愈发受到关注。


对于数据库的概念大家应该并不陌生,但是‘时序’是什么?时序数据库有哪些特点,基本架构是什么,市面上又有哪些产品类型?


本文将一一为你解答上述问题。


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 的主要功能,欢迎各位扩展阅读并和我们讨论!

用户头像

Apache IoTDB

关注

还未添加个人签名 2021-12-30 加入

海量时序数据管理的解决方案,一款高吞吐、高压缩、高可用、物联网原生的开源时序数据库。

评论

发布
暂无评论
时序数据库是什么:概念、特点与分类简析_Apache IoTDB_InfoQ写作社区