0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SQL关系数据库和实时数据库的区别

控制工程中文版 来源:控制工程中文版 2023-10-16 15:56 次阅读

结构化查询语言(SQL)可以帮助SCADA软件用户提高连接性以及发送和接收数据的能力。

将结构化查询语言(SQL)用于自动化并不是什么新鲜事。不同系统的后台使用SQL数据库已经有几十年了,但即使在今天,仍有一些人对将SQL与监控和数据采集(SCADA)等工业自动化软件集成在一起犹豫不决。随着越来越多的SCADA软件用户感受到在当今这个以数据为驱动力的互联世界中与时俱进的压力,SQL受到了更多的关注。

数据库通常是任何控制系统中最重要的组件之一。经过多年的发展,有一点越来越清楚,使用与开放数据库(如SQL)集成的控制系统比使用专有数据库的系统更具优势,这就是为什么SQL和工业应用平台的结合如此有价值的原因。

01SQL编程语言

根据美国国家标准学会(ANSI)的定义,SQL是在关系数据库管理系统(RDBMS)中管理数据的标准编程语言,也是关系数据库中使用最广泛的语言之一。它最初是在20世纪70年代为IBM开发的,近50年来一直用于在SQL数据库中存储和管理数据。

它的主要功能是使用SQL语句,“查询”或快速高效地询问从少量到大量数据的问题,用户可以在数据库中存储、更新、检索、搜索或删除特定数据。

软件工程师使用SQL语言的各种组件(如标识符、变量和搜索条件)构建SQL查询,以形成正确的语句。他们还可以将SQL查询保存为“存储程序”以便日后使用,这样用户就不必重写经常使用的查询。这就是SQL如此高效的一部分原因,即使是专有数据库也经常使用同样的基本结构。

02SQL关系数据库

虽然所有数据库都存储数据以供将来或持续使用,但数据库的类型很多,且因结构而异。使用最广泛的数据库类型被称为关系数据库。在关系数据库中,每个数据点都与其周围的数据相关,其功能是组织和检索关系数据。

“SQL数据库是数据存储和访问检索最重要的技术之一。” Inductive Automation首席技术架构师Kevin McClusky说。

用户可以认为SQL数据库有两个主要功能:由SQL执行的访问检索;以及使用数据库引擎执行的存储。SQL数据库将数据组织成文件和特定存储区域,或者保存在物理硬盘,或者保存在基于云的SQL数据库的在线服务器上。

SQL数据库的结构类似于具有行、列和单元格的Excel表,这使得组织和检索任何数量的数据都很容易。这种结构对于实时和时间序列(或历史)数据特别有用。它有助于将与其它数据相关的数据,按照通用特性组织到表中,以显示事件或数据集的视图。

SQL数据库最强大的功能之一,是它能够“查询”或询问数据并与之建立关系。SQL查询允许用户执行分析、回答复杂问题、操作和聚合数据,而无需许多步骤,因此可以从多个表中检索数据,将记录与常见字段类型关联,利用数据中的关系,精确控制数据的去向或排除数据。

例如,一家公司可能有和员工相关的两个不同表格,一个表格用于员工的个人数据,如姓名、地址和出生日期,另一个表格则包含每个员工工资的详细信息。虽然雇员表和工资表分别存在于数据库中,但它们的数据可以相互关联,并可能一起检索。

这种关联是通过表格中唯一的标识符(通常被称为主键)来实现的,该标识符可以在另一表格中引用。例如,员工唯一的ID号可以是员工表中的主键,而该ID可以用作工资表中的外部标识符(通常被称为外键)。这使得员工表中员工的数据,可以通过其唯一员工ID,与工资表中的工资数据相关联。创建这种关联或关系的能力,是这类数据库被称为关系数据库的原因。

通过在表之间创建这些关系,可以编写查询来聚合多个表的汇总结果,例如按部门列出员工工资。如果SQL数据库连接到车间,用户可以实时找到一个房间或多个房间的平均温度、温度控制机器何时或是否停机或工作了多长时间、多个停机事件数据集之间的标准偏差等等。

SQL查询可以是简单的:只需要一两行代码来查询一个表;也可以是极其复杂的:需要数百行代码来查询多个表。不过,一般来说,查询越短、越简洁越好。McClusky说:“这些查询的复杂程度取决于你的实际需要。”SQL查询的范围和灵活性,是关系型SQL数据库成为数据检索、存储和管理的强大而通用工具的部分原因。

03SQL的四个主要优势

每年的技术趋势此起彼伏。然而,在出现近50年后,SQL仍然很强大。以下是SQL表现持续优秀的四个主要原因:简单易用、可扩展性、可访问性及其多种选择。

1.简单易用

SQL是经过高度开发的,而且非常容易学习。学习SQL有很多免费资源,有很多人使用SQL,因此找到熟悉SQL的IT人员或工程师通常不是问题。此外,用户只需要了解一些基本操作即可检索、更新、删除或聚合数据。

2.可扩展性

与许多专有数据库不同,SQL数据库费用并不高,可以处理大量数据,这使其易于扩展到任何业务。一些最流行的SQL数据库甚至可以免费使用,比如MySQL和Postgres。

3.可访问性

像SQL数据库这样的开放标准技术,对每个人都是可用的,而且很容易访问,这和专有技术不同,专有技术通常需要高昂的付费,而且通常很难从中提取或迁移数据。用户还可以将SQL数据库与许多其它技术集成在一起,不必拘泥于单一的供应商,也不必使用受限的定制数据库。

4.多种选择

“我认为它仍然如此强大的另一个原因,是有很多不同的选择。SQL是一种标准的查询语言,有多个不同的数据库供应商,您不必被迫使用某一种类型的SQL数据库,可以有很多选择。”McClusky说。

在21世纪初,将SQL数据库与历史数据库相结合并不常见,这导致了在处理超大量数据时出现问题。为了帮助解决这个可扩展性问题,同时继续使用SQL数据库的一些基本结构,软件工程师在1998年开发了NoSQL,然后在2011年开发了NewSQL。

不过,当初NoSQL和NewSQL着手解决的可扩展性问题,现在已经比较少见,因为存储空间更便宜,而且您可以将SQL数据库与历史记录结合起来创建高性能数据库。近年来,NoSQL越来越受欢迎。MongoDB和亚马逊网络服务的DynamoDB是目前最受欢迎的两个NoSQL数据库。

04收集和存储时间序列数据

SQL数据库的另一个主要好处是,它们可以帮助用户从企业的时间序列数据中获得更多价值。时间序列数据是以连续的时间间隔加上时间戳的数据序列。这些数据通常存储在数据库中,检索后以表格或图表的形式显示任何类型的和时间进度相关的数据,如温度、重量、体积等。

一些人认为,时间序列数据只对确定特定时间点的单个数据点的状态、跟踪特定趋势有用,在其它方面则用处不大。然而,时间序列数据实际上是从连接到SCADA系统的监控机器和过程中获得的最有价值的数据。时间序列数据可能有助于挽回因停机而造成的数百万美元损失,为提高能源效率制定更详细的计划等等。

然而,许多企业要么没有收集数据的手段,要么没有存储和检索数据的应用,因此它们并不收集时间序列数据。存储时间序列数据基本上有三种选择:可编程逻辑控制器PLC)、专有过程历史数据库、或者SQL数据库。

将数据存储在PLC中不是一个好的解决方案。PLC存储的数据越多,其效率就越低,不可避免地会降低整体运行速度。如果没有连接到数据库,在PLC中检索所存储的数据也很困难。

过程历史数据库比PLC更好,但它们可能非常贵。它们也不像SQL数据库那样通用,并且不允许用户轻松升级数据库。

McClusky说:“你可能会找到一个很好的解决方案,但这个解决方案只能来自特定供应商的生态系统中,而对于未来的升级不会有任何好处。”

对于存储时间序列数据来说,SQL数据库通常是最佳选择。他们能够为SCADA系统处理大量的时间序列数据,将时间序列数据转换为整个组织都能读取的简单格式,从而丰富了时间序列数据。

许多大型企业系统已经使用SQL数据库很多年了。这些数据库有时是IT数据库,其中包含来自公司其它部门的信息;有时这些数据库与企业资源规划(ERP)软件有关。客户关系管理(CRM)和MES软件也有使用SQL数据库的悠久历史。将SCADA系统或应用程序连接到SQL数据库,用户可以快速有效地共享这些信息,并使其它系统更容易访问这些数据。

一旦进入SQL数据库,时间序列数据就可以描述生产的方方面面,或者揭示看不见的趋势,为企业节省一大笔财富。通过叠加这些信息,用户可以实时查看每个系统如何影响另一个系统,并找到提高效率和盈利能力的新方法。

例如,假设一家钣金制造商注意到,尽管两条生产线都运行良好,但其中一条生产线材料的消耗速度比另一条快。在检查了与每条生产线的材料库存相连的SQL数据库后,发现它们接收到的原材料数量相同。然后,用户检查连接到SCADA系统的SQL数据库,从机器的PLC和传感器收集时间序列数据。

在比较了这两条生产线后,用户发现其中一条生产线生产的金属板比另一条厚几微米。这可能是机器测量出了问题,可能是机器磨损需要更换,也可能是设置不正确。即使额外的几微米在可接受的范围内,解决这个问题也将为以后节省大量库存和资金——这一切都是因为将时间序列数据存储在易于访问的SQL数据库中。

05连接OT和IT

在这一点上,SQL听起来可能像是梦想成真,但并不是自动化行业的每个人都最初都使用SQL数据库。OT专业人员,尤其是SCADA用户,对使用SQL处理时间序列数据持怀疑态度,而更喜欢专门为该任务设计的专有数据库。然而,IT专业人员通常将拥有专有代码和代码翻译器的专有数据库,视为获取有价值数据以及与业务其它部门有效沟通的另一个障碍。

让问题对立双方的专家意见统一,从来都不是一件容易的事,但幸运的是,Ignition和SQL等工具可以让OT与IT分歧的双方再次合作。将SCADA系统连接到SQL数据库,是IT和OT部门之间实现相互理解的一大步。

“SCADA系统获取这些数据。它需要把这些数据存储在某个地方,如果把它放在SQL数据库中,你就拥有了SQL数据库的所有优势。” McClusky说。

集成了这些技术就不必担心连接到可能导致问题并阻碍系统其它部分的专有数据库。此外,大多数IT员工都熟悉SQL,因此对于那些使用SQL数据库和工业自动化平台对SCADA系统进行现代化改造的员工来说,通常不需要对员工进行培训就可以使用。

尽管有些人仍然不愿意将SQL与SCADA集成,但SQL和其它开放标准技术正变得越来越受欢迎。McClusky说:“对于那些拥有陈旧的制造业设置,想要实现基础设施的现代化、正在转向Ignition的人来说,SQL的使用绝对在增加,而且应该在增加。”

这是因为SQL数据库与任何使用这些开放标准的新技术或应用都是兼容的。SQL数据库和SCADA的集成带来了很多优势,因为技术变化非常快,而SQL由于其互操作性可以跟上需求的发展。

关键概念:

SQL 可以帮助 SCADA 用户更好地管理数据。

SQL 数据库比其它数据库更简单易用,可以让用户在管理和处理数据方面拥有更多的自由度。

思考一下:

您如何从时间序列数据中获得更多价值?

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SQL
    SQL
    +关注

    关注

    1

    文章

    759

    浏览量

    44060
  • 数据库
    +关注

    关注

    7

    文章

    3759

    浏览量

    64265
  • 编程语言
    +关注

    关注

    10

    文章

    1937

    浏览量

    34586
  • SCADA
    +关注

    关注

    6

    文章

    267

    浏览量

    36709

原文标题:SCADA中使用SQL 关系数据库 vs. 实时数据库

文章出处:【微信号:控制工程中文版,微信公众号:控制工程中文版】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数据库原理与应用,下载

    第一章   数据库基础 第二章   关系数据库的基本理论 第三章   数据库设计 第四章   关系数据库
    发表于 05-14 16:55 0次下载

    基于WINCC工控组态软件的关系数据库的研究

    重点介绍了在工控组态软件WINCC上的数据库通信方法和采集过程,基于WINCC组态软件的数据库后台是关系数据库SQL Server。结合实际应用来研究
    发表于 11-30 15:02 80次下载

    关系数据库是什么?

    关系数据库是什么? 数字时代伊始,数据库就一直是商业计算的核心组成部分。事实上,关系数据库诞生于1970年。那一年,IBM的研究员E.F. Codd撰写了一篇论文,概述了主
    发表于 07-31 12:26 2198次阅读

    数据库SQL语句电子教程

    电子发烧友为您提供了数据库SQL语句电子教程,帮助您了解数据库 SQL语句 ,学习读懂数据库SQL
    发表于 07-14 17:09 0次下载

    Ebase实时数据库手册

    Ebase实时数据库系统(Ebase Real-time Database Management System,简称EBase实时数据库)是上海谷益科技有限公司推出的具有自主知识产权的实时数据库管理系统及套件产品。
    发表于 09-17 15:28 25次下载
    Ebase<b class='flag-5'>实时数据库</b>手册

    紫金桥实时数据库在天然气生产指挥调度系统的应用

    天然气生产指挥调度系统的核心是紫金桥实时数据库实时数据库负责获取各分站的数据,并通过WEB发布功能将收到的数据动态显示在用户的IE浏览器上,并且设置群集功能增加系统的稳定性,自定义
    发表于 10-12 14:46 9次下载
    紫金桥<b class='flag-5'>实时数据库</b>在天然气生产指挥调度系统的应用

    紫金桥实时数据库在石化领域的应用

    紫金桥实时数据库针对石化行业的特点,提出一套以生产系统为中心的实时数据库管理平台,通过实时数据库与全公司各分厂控制系统的连接,实现管理层与控制层的集成,为上层应用提供统一的数据平台,同
    发表于 10-13 10:40 11次下载
    紫金桥<b class='flag-5'>实时数据库</b>在石化领域的应用

    紫金桥实时数据库_实时数据转储功能深度剖析

    在紫金桥软件的实时数据库版本中,提供了一组与关系数据库通讯的工具——数据转储工具,数据转储工具包括数据转储组态和
    发表于 10-13 16:26 8次下载
    紫金桥<b class='flag-5'>实时数据库</b>_<b class='flag-5'>实时数据</b>转储功能深度剖析

    数据库学习入门资料之关系数据库标准语言SQL的详细资料概述

    本文档的主要内容详细介绍的是数据库学习入门资料之关系数据库标准语言SQL的详细资料概述主要内容包括了:1 SQL概述2 数据定义3 查询4
    发表于 10-25 16:29 20次下载

    数据库教程之关系数据库标准语言SQL的详细资料介绍

    本文档的主要内容详细介绍的是数据库教程之关系数据库标准语言SQL的详细资料介绍主要内容包括了:1 SQL概述2 学生-课程数据库3
    发表于 12-18 15:07 7次下载

    为什么要使用非关系数据库

    着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类
    发表于 09-25 17:38 10次下载
    为什么要使用非<b class='flag-5'>关系数据库</b>

    数据库系统原理与应用教程之关系数据库的详细资料说明

    关系数据库是目前应用最为广泛的数据库系统。关系数据库模型特点是:具有严格的数学理论基础,用户接口比较简单,可用于并行式数据库、分布式数据库
    发表于 10-24 16:16 4次下载
    <b class='flag-5'>数据库</b>系统原理与应用教程之<b class='flag-5'>关系数据库</b>的详细资料说明

    关系数据库标准语言SQL的资料说明

    本文档的主要内容详细介绍的是关系数据库标准语言SQL的资料说明。
    发表于 03-23 16:51 6次下载
    <b class='flag-5'>关系数据库</b>标准语言<b class='flag-5'>SQL</b>的资料说明

    如何使用工业实时数据库与西门子PLC通讯?

    工业实时数据库是一个基于时间信息的存储仓库,存储大量的过程数据,并且提供灵活的数据检索过程。 我们平时经常使用MySQL/SQL Server/Oracle等这些传统的
    的头像 发表于 03-29 15:46 8999次阅读
    如何使用工业<b class='flag-5'>实时数据库</b>与西门子PLC通讯?

    数据库数据恢复—SQL Server数据库出现823错误的数据恢复案例

    SQL Server数据库故障: SQL Server附加数据库出现错误823,附加数据库失败。数据库
    的头像 发表于 09-20 11:46 280次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>SQL</b> Server<b class='flag-5'>数据库</b>出现823错误的<b class='flag-5'>数据</b>恢复案例