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

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

相关文章

关于如何更好管理好数据库的一点思考

本文尝试从数据库设计理论、ER图简介、性能优化、避免过度设计及权限管理方面进行思考阐述。 一、数据库范式 以下通过详细的示例说明数据库范式的概念,将逐步规范化一个例子,逐级说明每个范式的要求和变换过程。 示例:学生课程登记系统 初始表格如下: 学生ID学生姓名课程ID课程名称教师教师办公室1张三101数学王老师101室2李四102英语李老师102室3王五101数学王老师101室4赵六103物理陈

数据库期末复习知识点

A卷 1. 选择题(30') 2. 判断范式(10') 判断到第三范式 3. 程序填空(20') 4. 分析填空(15') 5. 写SQL(25') 5'一题 恶性 B卷 1. 单选(30') 2. 填空 (20') 3. 程序填空(20') 4. 写SQL(30') 知识点 第一章 数据库管理系统(DBMS)  主要功能 数据定义功能 (DDL, 数据定义语

给数据库的表添加字段

周五有一个需求是这样的: 原来数据库有一个表B,现在需要添加一个字段C,我把代码中增删改查部分进行了修改, 比如insert中也添入了字段C。 但没有考虑到一个问题,数据库的兼容性。因为之前的版本已经投入使用了,再升级的话,需要进行兼容处理,当时脑子都蒙了,转不过来,后来同事解决了这个问题。 现在想想,思路就是,把数据库的表结构存入文件中,如xxx.sql 实时更新该文件: CREAT

SQL Server中,查询数据库中有多少个表,以及数据库其余类型数据统计查询

sqlserver查询数据库中有多少个表 sql server 数表:select count(1) from sysobjects where xtype='U'数视图:select count(1) from sysobjects where xtype='V'数存储过程select count(1) from sysobjects where xtype='P' SE

SQL Server中,添加数据库到AlwaysOn高可用性组条件

1、将数据添加到AlwaysOn高可用性组,需要满足以下条件: 2、更多具体AlwaysOn设置,参考:https://msdn.microsoft.com/zh-cn/library/windows/apps/ff878487(v=sql.120).aspx 注:上述资源来自MSDN。

SQL Server中,用Restore DataBase把数据库还原到指定的路径

restore database 数据库名 from disk='备份文件路径' with move '数据库文件名' to '数据库文件放置路径', move '日志文件名' to '日志文件存放置路径' Go 如: restore database EaseWe from disk='H:\EaseWe.bak' with move 'Ease

数据库原理与安全复习笔记(未完待续)

1 概念 产生与发展:人工管理阶段 → \to → 文件系统阶段 → \to → 数据库系统阶段。 数据库系统特点:数据的管理者(DBMS);数据结构化;数据共享性高,冗余度低,易于扩充;数据独立性高。DBMS 对数据的控制功能:数据的安全性保护;数据的完整性检查;并发控制;数据库恢复。 数据库技术研究领域:数据库管理系统软件的研发;数据库设计;数据库理论。数据模型要素 数据结构:描述数据库

MySQL数据库(四):视图和索引

在数据库管理中,视图和索引是两种关键工具,它们各自发挥独特的作用以优化数据查询和管理。视图通过简化复杂查询、提高数据安全性和提供数据抽象,帮助用户轻松访问数据。而索引则通过加速查询、确保数据唯一性以及优化排序和分组操作,显著提升数据库性能。理解和合理运用这两者,对数据库系统的高效运行至关重要。 目录 一、视图概念(面试) 二、视图的作用(面试) 三、视图的创建和使用 3.1

Java中如何优化数据库查询性能?

Java中如何优化数据库查询性能? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨在Java中如何优化数据库查询性能,这是提升应用程序响应速度和用户体验的关键技术。 优化数据库查询性能的重要性 在现代应用开发中,数据库查询是最常见的操作之一。随着数据量的增加和业务复杂度的提升,数据库查询的性能优化显得尤为重

BD错误集锦7——在集成Spring MVC + MyBtis时使用c3p0作为数据库时报错Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatem

异常信息如下: Type Exception ReportMessage Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstractDescr