首页 理论教育 物联网技术应用-数据库与数据存储技术

物联网技术应用-数据库与数据存储技术

时间:2023-11-20 理论教育 版权反馈
【摘要】:在物联网应用中数据库起着记忆和分析的作用,因此没有数据库的物联网是不完整的。实时数据库的一个重要特性就是实时性,它包括数据实时性和事务实时性。作为两种主流的数据库,实时数据库比关系型数据库更能胜任海量并发数据的采集、存储工作。关系型数据库和实时数据库的区别见表4-2。No SQL数据库能够满足物联网应用的大数据需求,并随着物联网应用的发展不断开发新的应用,拓展更大的发展空间。

物联网技术应用-数据库与数据存储技术

在物联网应用中数据库起着记忆(数据存储)和分析(数据挖掘)的作用,因此没有数据库的物联网是不完整的。目前,常用的数据库技术一般分为关系型数据库和非关系型数据库。

(一)关系型数据库

1.关系型数据库的概念

关系型数据库是指采用关系模型来组织数据的数据库。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。

例如,表4-1的学生基本情况表就是一个二维数据表。

表4-1 学生基本情况

关系型数据库可以简单地理解为二维数据库,表的格式有行有列。常用的关系型数据库有Oracle、SqlServer、Informix、MySql、SyBase等,我们平时看到的数据库都是关系型数据库。

目前,关系型数据库广泛应用于各个行业,是构建管理信息系统,存储及处理关系数据不可缺少的基础软件

2.关系型数据库的特点

关系型数据库具有以下特点。

(1)容易理解

二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解。

(2)使用方便

通用的SQL语言使得操作关系型数据库非常方便,程序员数据管理员更容易在逻辑层面操作数据库,而不必在理解其底层实现上浪费精力。

(3)易于维护

丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大降低了数据冗余和数据不一致的概率。

(二)实时数据库

物联网完成数据采集后必须要建立一个可靠的数据仓库,而实时数据库可以作为支撑海量数据的数据平台。

实时数据库(Real Time Data Base,RTDB)是数据库系统发展的一个分支,是数据库技术结合实时处理技术产生的,适用于处理不断更新的快速变化的数据及具有时间限制的事务

1.实时数据库的作用

实时数据库系统是开发实时控制系统、数据采集系统、CIMS系统等的支撑软件。

在流程行业中,大量使用实时数据库系统进行控制系统监控,系统先进控制和优化控制,并为企业的生产管理和调度、数据分析、决策支持及远程在线浏览提供实时数据服务和多种数据管理功能。

实时数据库已经成为企业信息化的基础数据平台,可直接实时采集、获取企业运行过程中的各种数据,并将其转化为对各类业务有效的公共信息,满足企业生产管理、企业过程监控、企业经营管理之间对实时信息完整性、一致性、安全共享的需求,为企业自动化系统与管理信息系统间建立起信息沟通的桥梁,帮助企业的各专业管理部门利用这些关键的实时信息,提高生产销售的营运效率

目前,实时数据库已广泛应用于电力石油石化、交通冶金军工环保等行业,是构建工业生产调度监控系统、指挥系统、生产实时历史数据中心的不可缺少的基础软件。

2.实时数据库的重要特性

实时数据库最初是基于先进控制和优化控制而出现的,对数据的实时性要求比较高,因而实时、高效、稳定是实时数据库最关键的指标。

实时数据库的一个重要特性就是实时性,它包括数据实时性和事务实时性。

(1)数据实时性

数据实时性是现场IO数据的更新周期。作为实时数据库,不能不考虑数据实时性。一般数据的实时性主要受现场设备的制约,特别是对于一些比较老的系统而言,这种情况更加突出。

(2)事务实时性

事务实时性是指数据库对其事务处理的速度。它一般分为事件触发方式和定时触发方式。

第一,事件触发是该事件一旦发生可以立刻获得调度,这类事件可以得到立即处理,但是比较消耗系统资源。

第二,定时触发是在一定时间范围内获得调度权。

作为一个完整的实时数据库,从系统的稳定性和实时性而言,必须同时提供两种调度方式。

(三)关系型数据库和实时数据库的选择

关系型数据库和实时数据库在一定程度上具有相似的性能和相同之处。作为两种主流的数据库,实时数据库比关系型数据库更能胜任海量并发数据的采集、存储工作。面对越来越多的数据,关系型数据库的处理响应速度会出现延迟甚至“假死”,而实时数据库则不会出现这样的情况。

关系型数据库和实时数据库的区别见表4-2。

表4-2 关系型数据库和实时数据库的区别

续表

从上表中可以看出,根据数据库结构的性能差异,二者有着不同的应用范围。对于仓储管理、标签管理、身份管理等数据量相对比较小,实时性要求低的应用领域,选用关系型数据库比较合适。而对于智能电网、水域监测、智能交通、智能医疗等面临海量迸发、对实时性要求极高的应用领域,实时数据库具有更大的优势。(www.xing528.com)

另外,在项目处于试点工程阶段时,需要采集点较少,对数据也没有存储年限的要求,此时关系型数据库可以替代实时数据库。但随着试点项目工程的不断推广,其应用范围越来越广泛,采集点就会相应增多,实时数据库就是最好的选择。

(四)No SQL数据库

随着物联网、云计算等技术的发展,大数据广泛存在,同时呈现出了许多云环境下的新型应用,如社交网络、移动服务、协作编辑等。这些新型应用对海量数据管理(云数据管理系统)提出了新的需求,如事务的支持、系统的弹性等。

No SQL数据库能够满足物联网应用的大数据需求,并随着物联网应用的发展不断开发新的应用,拓展更大的发展空间。

1. No SQL数据库的产生

No SQL(Not Only SQL)意思是“不仅仅是SQL”,它泛指非关系型的数据库。

随着互联网Web2.0网站的兴起,传统的关系数据库在应付Web2.0网站时已显得力不从心,暴露了很多难以克服的问题。而非关系型的数据库依靠其本身的优势得到迅速发展。

No SQL数据库的产生解决了大规模数据集合多重数据种类带来的挑战,尤其是解决了大数据应用难题。No SQL数据库的主要功能是。

(1)满足对数据库高并发读写的需求;

(2)满足对海量数据的高效率存储和访问的需求;

(3)满足对数据库的高可扩展性和高可用性的需求。

2. No SQL数据库的四大分类

No SQL不使用SQL作为查询语言,而是使用如Key-Value存储、列存储、文档型、图形等存储数据模型。

常用的No SQL数据库包括以下4类。

(1)键值(Key-Value)存储数据库

这一类数据库主要使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说,其优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value的效率低下。

(2)列存储数据库

此种数据库通常用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。

(3)文档型数据库

文档型数据库与第一种键值存储类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值,而且文档型数据库比键值数据库的查询效率更高。

(4)图形(Graph)数据库

图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它使用灵活的图形模型,并且能够扩展到多个服务器上。No SQL数据库没有标准的查询语言(SQL),因此进行数据库查询需要制定数据模型。

上述四类No SQL数据库的应用场景、数据模型、优缺点对比见表4-3所示。

表4-3 No SQL数据库的四大分类对比分析

3. No SQL数据库的特征

No SQL并没有一个明确的范围和定义,但普遍存在以下特征。

(1)不需要预定义模式

No SQL不需要事先定义数据模式、预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。

(2)无共享架构

相对于将所有数据存储的存储区域网络中的全共享架构,No SQL往往将数据划分后分别存储在各个本地服务器上。因为从本地磁盘读取数据的性能往往好于通过网络传输读取数据的性能,从而提高了系统的性能。

(3)弹性可扩展

No SQL可以在系统运行的时候,动态增加或者删除结点。不需要停机维护,数据可以自动迁移。

(4)分区

相对于将数据存放于同一个节点,No SQL数据库需要将数据进行分区,将记录分散在多个节点上。并且通常分区的同时做复制。这样既提高了并行性能,又能保证没有单点失效。

4. No SQL数据库适用场合

No SQL数据库适用于以下情况。

(1)数据模型比较简单;

(2)需要灵活性更强的IT系统;

(3)对数据库性能要求较高;

(4)不需要高度的数据一致性;

(5)对于给定key,比较容易映射复杂值的环境。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈