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

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

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

DM8数据库安装后配置

1 前言 在上篇文章中,我们已经成功将库装好。在安装完成后,为了能够更好地满足应用需求和保障系统的安全稳定运行,通常需要进行一些基本的配置。下面是一些常见的配置项: 数据库服务注册:默认包含14个功能模块,将这些模块注册成服务后,可以更好的启动和管理这些功能;基本的实例参数配置:契合应用场景和发挥系统的最大性能;备份:有备无患;… 2 注册实例服务 注册了实例服务后,可以使用系统服务管理,

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争

开源分布式数据库中间件

转自:https://www.csdn.net/article/2015-07-16/2825228 MyCat:开源分布式数据库中间件 为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代。如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷。 MyCat的目标就是:低成本地将现有的单机数据库和应用平滑迁移到“云”端

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

MyBatis 切换不同的类型数据库方案

下属案例例当前结合SpringBoot 配置进行讲解。 背景: 实现一个工程里面在部署阶段支持切换不同类型数据库支持。 方案一 数据源配置 关键代码(是什么数据库,该怎么配就怎么配) spring:datasource:name: test# 使用druid数据源type: com.alibaba.druid.pool.DruidDataSource# @需要修改 数据库连接及驱动u

CentOS下mysql数据库data目录迁移

https://my.oschina.net/u/873762/blog/180388        公司新上线一个资讯网站,独立主机,raid5,lamp架构。由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区。apache,mysql,php均使用yum安装(也尝试

Java基础回顾系列-第九天-数据库编程

Java基础回顾系列-第九天-数据库编程 数据库简介工具包java.sql API 内容与数据库建立连接执行SQL语句数据库检索和更新查询结果SQL类型对应Java类型映射元数据异常 API方法DriverManagerConnectionStatementPreparedStatementCallableStatementResultSetjava.sql.Date批处理、存储过程、事务