工业物联网 —— 新型数据库的召唤

2024-02-25 13:20

本文主要是介绍工业物联网 —— 新型数据库的召唤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

各位小伙伴大家好,我们又见面了,我们都知道时序数据库的主要应用场景之一就是工业物联网(IIoT)行业,因此本次Jesse就想和大家聊聊IIoT。 

本文仅代表个人观点,如有偏颇之处,还请海涵~

我们正在进入工业4.0时代,一系列的新技术使我们的生产经营和组织模式变得高效,比如预测性的机器分析、计算机视觉技术、无人驾驶的车辆以及具有增强现实功能的工业级可穿戴设备等等。虽然新技术多种多样,但我们还是能从中看到这些技术的共性—— 为了支持数据化的科学决策,他们都需要采集、处理、存储和分析大量的数据。IIoT(工业物联网)的核心价值就是希望使组织能够以可扩展、高性能、高效的方式来从大量数据中分析和提取价值。而数据库技术正是实现这一价值的核心。

不幸的是,由于缺乏必要的技能和相关基础设施技术的挑战,Cisco之前的调查认为70%的物联网项目是失败的。与此同时,工业组织大都面临传统基础设施转型的挑战,通过云端实时优化其流程是他们可供选择的转型方式之一。

IIoT数据是一个挑战

首先,IIoT所涉及的数据源和前端数据采集点广而分散,所以其数据规模和类型与传统和网络规模下的数据有诸多不同,传统的数据库和基础设施技术根本不适合处理IIoT规模的机器数据量。关于IIoT数据规模如果没有直观体会,我们可以试想一下,现在有一个拥有数万传感器的工厂,从一万个不同类型的传感器主动收集数据,同时这个组织还可能在世界各地经营着100家这样的工厂,运营着每条供应链。IIoT场景下选用的数据库,其任务不仅是收集这些庞大的传感器数据量,而且还要提供高效的性能并实现纳秒级的实时数据分析。

其次,IIoT场景的数据具有多样性的特点。IIoT传感器数据通常存储为多层嵌套的JSON文件。还有一些相关数据,例如文章和产品信息、批次信息、拓扑结构和固件,这些数据必须与传感器数据相关联,并结合情景才有意义。

最后,IIoT场景还生成带有时间戳的时序数据。比如,用于跟踪流程、地理空间以协调移动设备的数据点、用于验证产品状况的图像和其他多媒体BLOB数据。随着工业组织规模的扩大,如此庞大的数据范围必须易于管理。工业组织希望保持简单易用,因此他们更倾向于使用单个数据库而不是协调多个数据库。

传统数据库不适合IIoT

首先,传统的SQL类型数据库,比如,Oracle、MySQL等。他们的缺点我们在之前的介绍中其实以及多次提到过,其扩展成本很高,同时也满足不了IIoT场景下的高数据量和复杂查询,其问题很多。

其次,NoSQL和NewSQL数据库(如MongoDB和Apache Cassandra),他们的易用性使得它们有一定吸引力。不过,它们需要专业的工程师和复杂的管理,从而导致高昂的人员成本。同时,绝大多数工业工程堆栈都是SQL连接的,这使得这些NoSQL和NewSQL解决方案难以与现有工具集成和适应。最后,这些数据库选项也并未针对IIoT工作负载进行性能优化。

最后,我们来看看现有的时序数据库产品,看起来它们目前是IIoT场景下最有力的数据库提供商。但它们大都也有自己的不足,比如某国际领先的时序数据库厂商:其一,其开源版本没有完全分布式的架构,例如,连接、子查询和聚合查询不是以完全分布式的方式实现的,这使得横向扩展计算能力来满足这些需求变得困难。其二,它可以轻松存储数据并制作时间序列图表,但不是为运行高度并发的工作负载而构建的。而IIoT工作负载可能需要处理每个节点的数千个连接。例如,在高负载下运行交互式仪表板并同时写入系统。由于工业环境中数据的海量和速度,一个数据库每秒必须处理多个时序查询,这比标准时序数据库的顶级查询速度要快得多。

IIoT呼唤新的数据库

IIoT需要无限的可扩展性,因为IIoT解决方案可以轻松达到TB甚至PB级的数据。数据库不仅必须处理该数据量,还必须满足计算端的性能需求。存储和计算的可扩展性必须像添加新节点一样简单,这就好比我们在搭建乐高积木。此外,我们希望数据库是通用的数据模型,能够存储IIoT所需的不同类型的数据。它还必须支持大规模和高度并发的工作负载,并具有动态架构,使组织能够在运行时添加列,而无需重新标记或重放数据。最后,数据库必须为混合云和本地边缘部署提供支持。工厂需要能够在没有可靠的互联网连接或不需要云连接的情况下实时做出关键决策并启用分析。

IIoT的成功取决于效率

IIoT部署必须易于集成和操作,同时考虑效率。例如,文档和关系型数据库可能需要八个节点才能以可接受的速度运行一个 IIoT用例。相比之下,IIoT新的数据库可能只需要三个节点就可以单独处理相同的用例,从而大幅提高效率。效率还意味着能够规模化终端用户数量。例如,当组织利用交互式仪表板看到相关结果和机会时,他们可以迅速扩大员工数量。这是计算需求的巨大增长,当然扩展必须简单且价格合理。此外,高效的IIoT数据库解决方案是任何开发人员都可以开箱即用的解决方案,并且在将其作为分布式引擎运行时具有较低的复杂性。理想情况下,数据库将在很少维护和监督的情况下运行,并且不需要专门的DevOps人员。

数据库世界的发展日新月异,面对新的IIoT场景,我们期待新的数据库出现,CnosDB正在朝着这一方向努力。

CnosDB简介

CnosDB是一款高性能、高易用性的开源分布式时序数据库,现已正式发布及全部开源。

欢迎关注我们的代码仓库,一键三连🙇🙇🙇:https://github.com/cnosdb/cnosdb

这篇关于工业物联网 —— 新型数据库的召唤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/745607

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区

MySQL Workbench工具导出导入数据库方式

《MySQLWorkbench工具导出导入数据库方式》:本文主要介绍MySQLWorkbench工具导出导入数据库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录mysql Workbench工具导出导入数据库第一步 www.chinasem.cn数据库导出第二步

Mysql数据库中数据的操作CRUD详解

《Mysql数据库中数据的操作CRUD详解》:本文主要介绍Mysql数据库中数据的操作(CRUD),详细描述对Mysql数据库中数据的操作(CRUD),包括插入、修改、删除数据,还有查询数据,包括... 目录一、插入数据(insert)1.插入数据的语法2.注意事项二、修改数据(update)1.语法2.有

查看MySQL数据库版本的四种方法

《查看MySQL数据库版本的四种方法》查看MySQL数据库的版本信息可以通过多种方法实现,包括使用命令行工具、SQL查询语句和图形化管理工具等,以下是详细的步骤和示例代码,需要的朋友可以参考下... 目录方法一:使用命令行工具1. 使用 mysql 命令示例:方法二:使用 mysqladmin 命令示例:方