时序数据库如何选型?详细指标总结!

news2024/11/23 15:14:29

1880a70f9b09f362e5f995edd9894202.jpeg

工业物联网场景,如何判断什么才是好的时序数据库?

工业物联网将机器设备、控制系统与信息系统、业务过程连接起来,利用海量数据进行分析决策,是智能制造的基础设施,并影响整个工业价值链。工业物联网机器设备感知形成了海量时间序列数据(带时间标签的数据,每条时间序列是按时间戳顺序存贮的一组数据点),蕴含丰富的工业语义,是工业大数据的规模与价值主体。

为应对海量工业物联网数据管理,更好地实现工业数字化、智能化发展,专门管理时序数据的时序数据库产品应运而生。那么如果需要使用时序数据库,该如何衡量时序数据库的性能表现?好用的时序数据库,又该满足哪些条件?本文将梳理时序数据库的性能选型标准,供大家参考。

01 时序数据管理难点

时序数据库的选型标准,跟时序数据本身处理的难点是息息相关的。

(1)软件技术挑战

工业生产涉及的设备数量庞大,常见的业务场景中包含数万到数百万个设备,而单设备的传感器数量也可能很多,每一个传感器上报对应的指标/测量值(比如温度、速度等等),最终上报时序数据的测点(也就是指标/测量值的数量)可能达到几十万、上百万,甚至亿级,还会随着业务扩展动态地继续增加。

同时,时序数据的采样频次可能很高,实际应用中可能达到毫秒级的上报。设备多、测点多、采样频次高,这就导致时序数据的体量是非常庞大的,存储的成本也就随之增加,而且因为业务的需要,经常需要实现历史数据长期的存储。

(2)工业特色需求

工业物联网业务背景也催生了与工业应用强相关的特性需求。测点层级管理成为工业领域使用时序数据库的功能需求之一。这意味着时序数据库需要能够处理从集团、厂站、系统、设备到传感器等不同层级的测点数据,并能够实现这些数据的有效组织和管理,让企业可以方便地对应到数据产生的不同层级。

此外,端边云数据协同也是时序数据库在工业应用中的关键需求。因为工业设备的部署状态与边缘计算的兴起,数据不再只是从设备端直接传输到集团云端,而是在厂站或省域的边缘节点进行初步处理和分析,再向云端进行同步。这种协同机制能够充分利用边端算力,节省云端带宽成本。因此,时序数据库需要确保数据在不同终端之间能够顺畅协同,从而实现更加智能和高效的工业管理。

02 基本能力:写入、压缩、查询、分析

了解了上述的时序数据管理难点,再结合时序数据库应用的主要业务场景,也就是针对工业大数据智能管理转型所衍生的状态监控、故障告警、数字画像等等,选型时需要注重的性能指标主要包括以下几项:

(1)写入吞吐

第一是写入吞吐,也就是单位时间内成功写入时序数据的量,这个值越大代表同样时间内能写入的数据量越大。体量庞大的时序数据,需要保障其能够全量写入时序数据库,不产生数据丢失,同时需要保障自带强时间属性的低频时序数据和高频时序数据的写入实时性。实际场景中,时序数据库的高通量写入性能需要达到百万或千万数据点/秒

(2)压缩比

第二是压缩比,也就是原始数据量除以磁盘存储空间的值,这个值越大代表数据库的压缩性能越好。时序数据量庞大会很容易导致磁盘空间占用很高,而能够实现高压缩比的时序数据库,同样的数据量占用的空间、需要的存储成本也就越小。实际场景中,时序数据库的压缩比需要达到至少 20 倍以上,在企业对比数据存储成本时会更加有竞争力。

(3)查询耗时及分析能力

第三是查询耗时及分析能力,耗时越短、分析能力越强,也就代表着企业能够更快地获知所需的数据结果,并进行更多样的深度挖掘。实际应用中,对于最新值查询、聚合查询等业务常用场景,时序数据库的查询延迟需要控制在毫秒级。在保障海量数据处理低延迟的基础上,时序数据库还需要支持数据计算、查看数据走向、数据缺失修复等分析功能

03 挑战需求:面向工业物联网进行优化

上述指标能够让时序数据库实现工业数据管理的基本需求,而面对工业物联网场景的需求特性,更好的时序数据库可以实现为工业物联网“量身定制”的适配架构及功能。

(1)测点建模

工业时序数据常常是按照类似“集团-省域-厂站-产线-设备-传感器”的层级彼此关联起来的,而因为数据量庞大、层级多,管理的时候存在天然的困难度。因此,在数据建模方面,时序数据库应该在保证存储规模的前提下,实现与工业场景中的层级相对应的数据结构,并能够做到以采集、应用等团队的不同视角,实现对数据结构按设备地点、分析应用的多面组织管理,以减少企业的学习、理解成本。

(2)数据同步

工业设备常常部署于多个省域的不同厂站,时序数据可能从多地同时产生,并需要汇总到省域侧或集团侧进行分析。因此,时序数据库需要适配多类主流协议,实现实时、易用、安全的数据同步方案,把设备端侧,厂站边侧,集团云侧的数据链路打通,方便企业更好地实现数据协同,也需要支持跨网闸传输、加密传输等工业场景所需要的特性传输方式,并保证在数据同步的过程中不影响本地的数据存储、计算。

(3)高可扩展

多终端、分散的工业设备上报时序数据的特性,也要求时序数据库能够以分布式的形态部署于多个厂站。面对多站点、更庞大的数据量,时序数据库需要保证集群容量的扩展性,能够管理上亿设备和测点,并具有高可用性,全面消除单点瓶颈,容忍部分节点失效,并能够随负载增加实现秒级扩容,及时分担负载压力。

(4)乱序写入、AI 分析

其实,对于上面提到的写入、分析等基础性能,也可以针对工业物联网场景进一步实现优化。比如,面对工业环境断网、延迟而产生的乱序数据,时序数据库需要能够有效应对,保障乱序数据写入的高实时性。再比如,面对工业故障监控、告警需求的进一步延伸,对于故障预测需求场景,时序数据库需要拥抱智能化分析,引入多类机器学习算法,以实现序列预测、异常预测等深度学习功能。

04 总结

针对不同工业领域和细分场景,时序数据库还可能有更多的关注重点,与更多技术融合的可能,上文总结的时序数据选型指标必将在未来进一步更新、扩展。

而国产自研的时序数据库 IoTDB,针对上面的选型指标都达到了稳定、高效的性能表现。IoTDB 的写入吞吐、存储占用、读取延迟等指标,在国际数据库第三方性能测试排行榜 benchANT 中,均位居第一,并在乱序数据写入、智能数据分析、数据协同传输、分布式扩展部署等工业物联网场景需求方向,都实现了相关功能的支持。

同时,IoTDB 商业化友好,具备便捷的二次开发能力,并已拥有一系列适配的易用性工具,包括集群管理工具 IoTDB-OpsKit、系统监控面板、可视化控制台 Workbench、组态软件等等,无疑能够更好地帮助数据库运维人员与业务人员发挥 IoTDB 的最大价值。

想要详细了解 IoTDB 的相关功能,欢迎点击阅读“时序数据库IoTDB:功能详解与行业应用”并联系我们!

11a7595840c421ab42348e87ffa93388.gif

de3152b1d9a6950fa123c0e9dce9a4c2.jpeg

b1d627a47bddf56d6797f0b73cd3c49c.jpeg

24bf242f4c43af211dc21421c90f608d.jpeg

69b0b0f2b4a25379527f390b6da455a5.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1936843.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ubuntu 24 PXE Server (bios+uefi) 批量部署系统

pxe server 前言 PXE(Preboot eXecution Environment,预启动执行环境)是一种网络启动协议,允许计算机通过网络启动而不是使用本地硬盘。PXE服务器是实现这一功能的服务器,它提供了启动镜像和引导加载程序,…

以Zookeeper为例 浅谈脑裂与奇数节点问题

一、脑裂现象的定义与影响 脑裂(split-brain)是指在分布式系统中,因网络分区或其他故障导致系统被切割成两个或多个相互独立的子系统,每个子系统可能独立选举出自己的领导节点。这一现象在依赖中心领导节点(如Elastic…

MVC架构在Web开发中的实现

MVC架构在Web开发中的实现 1、MVC架构概述2、MVC架构的实现 💖The Begin💖点点关注,收藏不迷路💖 在Web开发领域,MVC(Model-View-Controller)架构模式是一种广泛使用的软件设计模式&#xff0c…

数据可视化配色新工具,颜色盘多达2500+类

好看的配色,不仅能让图表突出主要信息,更能吸引读者,之前分享过很多配色工具,例如, 👉可视化配色工具:颜色盘多达3000+类,数万种颜色! 本次再分享一个配色工具pypalettes,颜色盘多达2500+类。 安装pypalettes pip install pypalettes pypalettes使用 第1步,挑选…

在VS Code上搭建Vue项目教程(Vue-cli 脚手架)

1.前期环境准备 搭建Vue项目使用的是Vue-cli 脚手架。前期环境需要准备Node.js环境,就像Java开发要依赖JDK环境一样。 1.1 Node.js环境配置 1)具体安装步骤操作即可: npm 安装教程_如何安装npm-CSDN博客文章浏览阅读836次。本文主要在Win…

哪种SSL证书可以快速签发保护http安全访问?

用户访问网站,经常会遇到访问http网页时,提示网站不安全或者不是私密连接的提示,因为http是使用明文传输,数据传输中可能被篡改,数据不被保护,通常需要SSL证书来给数据加密。 SSL证书的签发速度&#xff0…

Selenium之execute_script()方法执行js脚本

目录 场景应用和使用 页面滚动 获取返回值 返回JavaScript定位的元素对象 修改元素属性 弹出提示框 场景应用和使用 在自动化测试中,部分场景无法使用自动化Selenium原生方法来进行测试: 滚动到某个元素(位置) 修改…

数据分析入门指南:数据库入门(五)

本文将总结CDA认证考试中数据库中部分知识点,内容来源于《CDA模拟题库与备考资料PPT》 。 CDA认证,作为源自中国、面向全球的专业技能认证,覆盖金融、电信、零售、制造、能源、医疗医药、旅游、咨询等多个行业,旨在培养能够胜任数…

STM32 TIM定时器从模式控制器

TIM 从模式控制器 从模式控制器控制框图 从机模式 /** defgroup TIM_Slave_Mode TIM Slave mode* {*/ #define TIM_SLAVEMODE_DISABLE 0x00000000U /*!< Slave mode disabled */ #define TIM_SLAVEMOD…

IDEA创建Java工程、Maven安装与建立工程、Web工程、Tomcat配置

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试&#xff08;Debug&#xff09; 第七章 …

[C++]优先级队列

1 .了解优先级队列 优先级队列是一种容器适配器&#xff0c;根据一些严格的弱排序标准&#xff0c;专门设计使其第一个元素始终是它所包含的元素中最大的元素。 此上下文类似于堆&#xff0c;其中可以随时插入元素&#xff0c;并且只能检索最大堆元素&#xff08;优先级队列中顶…

idea2019版本创建JavaWeb项目并配置Tomcat步骤

一、创建JavaWeb项目 1.新建项目File->New->Project 2. 选择JavaWeb应用在New Project窗口中选择Java后勾选Java EE中的Web Application后点击next即可 3.设置项目名称后点击finish即可 4.至此项目创建完成&#xff0c;检查文件是否齐全&#xff0c;开始配置Tomcat 二、…

【iOS】——消息传递底层实现

消息传递是什么 Objective-C是一种动态类型语言&#xff0c;这意味着在编译时并不确定对象的具体类型&#xff0c;而是在运行时决定。消息传递机制允许程序在运行时向对象发送消息&#xff0c;对象再决定如何响应这些消息。 当你通过对象调用方法时&#xff0c;例如像这样[ob…

React 从入门到实战 一一开发环境基础搭建(小白篇)

React 从入门到实战一一开发环境基础搭建&#xff08;小白篇&#xff09; React 介绍什么是 react &#xff1f;react 主要功能react 框架特点 开发工具渲染测试 React 介绍 最近两年&#xff0c;react 也愈来愈火热&#xff0c;想要在里面分一杯羹&#xff0c;那肯定逃不过 r…

CentOS 7开启SSH连接

1. 安装openssh-server 1.1 检查是否安装openssh-server服务 yum list installed | grep openssh-server如果有显示内容&#xff0c;则已安装跳过安装步骤&#xff0c;否则进行第2步 1.2 安装openssh-server yum install openssh-server2. 开启SSH 22监听端口 2.1 打开ssh…

阿里云盾占用资源的问题AliYunDun,AliYunDunUpdate

目录 1.关闭AliYunDunUpdate&#xff0c;AliYunDun&#xff0c;AliYunDunMonitor。 2.发现报错如下 3.打开阿里云安全中心控制台 4.成功解决 2.开启云盾命令 “如果您在解决类似问题时也遇到了困难&#xff0c;希望我的经验分享对您有所帮助。如果您有任何疑问或者想分享您…

【考研数学】线代满分经验分享+备考复盘

我一战二战复习都听了李永乐的线代课&#xff0c;二战的时候只听了一遍强化&#xff0c;个人感觉没有很乱&#xff0c;永乐大帝的课逻辑还是很清晰的。 以下是我听向量这一章后根据听课内容和讲义例题总结的部分思维导图&#xff0c;永乐大帝讲课的时候也会特意点到线代前后联…

spark shell

1.进行shell命令行 spark-shell 2.创建RDD 2.1 读取文件创建RDD 2.1.1读取linux文件系统的文件创建RDD --需要保证每一个worker中都有该文件 val data1 sc.textFile("file:/opt/file/word.txt") 2.1.2读取hdfs文件系统上的文件创建RDD val data2sc.textFile("…

基于dcm4chee搭建的PACS系统讲解(一)docker搭建精简版

文章目录 知识点PACSdcm4chedcm4chee部署dcm4chee方式 docker部署docker编排 总结 最近项目开始需要用到PACS系统&#xff0c;于是研究了一番&#xff0c;选用了dcm4chee搭建PACS系统&#xff0c;抛出 dcm-arc-light的git地址 。 知识点 PACS Picture Archiving and Communic…

视频压缩文件太大了怎么缩小?怎么压缩视频大小?视频压缩方法:10个!(宝藏)

视频压缩文件太大了怎么缩小&#xff1f;让我看看是谁下班之后不是一手刷手机短视频&#xff0c;顺便葛优躺在沙发上的&#xff1f;互联网发展到现在&#xff0c;视频已成为我们生活中不可或缺的一部分。不管是视频录制还是视频缓存&#xff0c;视频文件体积越来越庞大&#xf…