首页 优秀范文 关系数据库

关系数据库赏析八篇

发布时间:2022-10-03 07:30:28

序言:写作是分享个人见解和探索未知领域的桥梁,我们为您精选了8篇的关系数据库样本,期待这些样本能够为您提供丰富的参考和启发,请尽情阅读。

关系数据库

第1篇

关键词:非关系数据库;CouchDB;Map/Reduce

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)14-3220-03

随着以社交网络、云计算为代表的Web2.0网站的兴起,非关系数据库(NoSQL)得到了广泛的关注[1-2]。这是因为传统的关系数据库在面对这类应用的时候暴露出许多问题,在处理超大规模的数据、应对高度并发的请求时显得力不从心。这种情况下非关系数据库得到了迅速的发展,成为业界和学界所探讨的热点问题。

CouchDB是在处理半结构化的文档中具有独特的优势,在CMS系统、大数据分析和挖掘中具有广泛的用途。该文首选对非关系数据库的特征及Map/Reduce的工作方式进行分析,然后详介绍了CouchDB的安装、配置及使用方法。

1 非关系数据库

1.1 非关系数据库的特点

非关系数据库是根据Web应用发展的需要而产生的,与传统关系数据库有很大的差异。关系数据库最为显著的是ACID特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。从分布式应用的CPA理论[3,4]的角度来看,关系数据库主要关注的是一致性和可用性,能够很好的满足传统的应用需求。但是在Web2.0时代,对数据处理的要求高并发性、海量数据的处理能力和访问需求,以及对数据库的高扩展性和高可用性要求。相对而言,关系数据库所关注的一致性、读写的实时性和复杂的SQL查询在新的应用中却并不需要[5]。

CPA理论认为一致性、可用性和分区容错性不可能同时实现。因此非关系数据库的主要特征为与ACID有着显著差异的BASE模型[6]。即基本可用(Basically Available)、软状态(Soft state)和最终一致(Eventually consistent),它允许系统在一段时间内有不一致性,而放宽至只要最终状态下数据是一致的就可以了,从而以牺牲高一致性为代价获得了高可用性。由于非关系数据库没有数据库模式的约束,从而具备了良好的可扩充性。

1.2 Map/Reduce机制

Map函数的输出为数据库中的文档或数据,输出为键值对。这里的键和值可以是系统支持的任何类型的数据,用户可以在Map函数中对文档数据加以处理,把所需的数据以键值的形式输出。Map函数会对数据库中所有数据进行处理,结果由主控制器按键进行分组,如果用户不指定Reduce函数则按键分组的结果直接输出。Reduce函数的功能是把键值组合进一步处理,比如统计、汇总等。

2 CouchDB的安装及应用

2.1 CouchDB简介

CouchDB是最著名的非关系数据库系统之一,它是Apache软件基金会的顶级开源项目。CouchDB使用Erlang语言开发,继承了其强大的强大的并发性和分布式的特征,因此在大数据处理及诸如社交网络等Web2.0应用开发中具有重要的应用价值。CouchDB的早期版本只能安装在POSIX系统之上,最新版本则提供了对Windows的支持。

CouchDB是一个面向文档的、分布式的数据库,支持REST接口访问。面向文档是指CouchDB中存储的是半结构化的JSON文档,而且可以方便的将文档对象映射为具体编程语言的对象。由于JSON在Ajax技术及社交网络应用中广泛应用,因此CouchDB在这类应用的数据存储和处理中具有良好的应用前景。CouchDB是分布式的数据库系统,源于Erlang极好的并发特性,CouchDB存储系统可以分布到多台计算机之上,每台计算机称为存储系统的一个节点。CouchDB能够很好的协调和同步多个节点之间的数据一致性和完整性,有效的应用系统应用中可能出现的各种错误。CouchDB支持REST接口访问,即可以通过GET、PUT、POST、HEAD和DELETE等标准的Http请求对数据库进行写入和查询分析等操作。因此,任何一种编程语言只要具备Http请求模块就可以方便的与CouchDB进行对接,甚至只要利用正确的URL地址只要运用浏览器就可以访问CouchDB得到所需要的数据。

与其他的非关系数据库一样,CouchDB利用Map/Reduce对数据进行插入、搜索等操作。CouchDB将键值对存储在B-树引擎之上,并根据键值进行排序,因此具有高效的查询和操作性能。需要注意的是,CouchDB是一个基于版本的数据库系统,即只能添加数据不能删除和修改数据,当数据需要更新时CouchDB只是增加了新的版本,所有的版本数据依旧保存在数据库中,且可以方便的得到。如果要删除数据则需要将整个数据库删除。

2.2 CouchDB的安装和配置

CouchDB在包括Windows在内的各种操作系统中安装都非常方便,几乎不需要做任何复杂的配置,特别是在Mac OS中,下载之后直接运行即可。CouchDB默认使用5984端口,在本机可使用http://127.0.0.1:5984访问。在浏览器中访问该Url即可得到关于版本等信息的JSON格式的数据。CouchDB的管理控制台称为Futon,通过http://127.0.0.1:5984/_utils访问并操作。在Futon中可以手工创建数据库、添加和查看文档,并管理CouchDB。默认情况下,CouchDB开放admin权限,为了安全起见需要添加用户名和密码。

2.3 CouchDB的操作

3)统计和汇总

对CouchDB进行更复杂的查询需要同时使用map函数reduce函数。图5所示的代码对数据库文档数量进行统计,程序运行输出结果为数据库中文档的总数。如果数据库中仅有图2所加入的数据,则图5输出结果为2。如果要进行汇总操作,只需改变map函数返回值为需要汇总的数值,并根据需要改变group参数的值为True。

结合map函数和reduce函数,可以在CouchDB数据库中实现传统关系数据库中的运算,如选择、投影、并、交、差,以及连接等。此外,与传统数据库一样,CouchDB也可以利用ViewDefinition将查询保存为视图,其使用参数与query较为类似。不同的是视图的信息要保存在设计文档之中,因此要指定相应的键值,在使用中,数据库根据这些键值生成url用于进行访问。

3 结论

CouchDB作为一种高性能的面向文档的非关系数据库具有广泛的用途,其开源、免费,以及易用使用的特点使其在Web2.0应用开发、大数据挖掘与分析等方面都有潜在的重要应用价值。该文对CouchDB的应用的分析,有助于深入了解非关系数据库的工作机制和使用方法。需要指出的是,尽管非关系数据库在处理大数据方面有很高的效率,但是它绝不是关系数据库的替代,在数据更新频繁的传统应用中关系数据库依旧是最优的选择。

参考文献:

[1] 蔡金花.浅析NOSQL及使用[J].电脑知识与技术,2012,7(12):2757-2758.

[2] 柯栋梁,郑啸,李乔.云计算:实例研究与关键技术[J].小型微型计算机系统,2012,33(11): 2321-2329.

[3] Brewer E A.Towards Robust Towards Robust Distributed Systems[C].Proceedings of the 19th Annual ACM Symposium on Principles of Distributed Computing, 2000.

[4] Gilbert S,Lynch N.Brewer's Conjeture and the Feasibility of Consistent, Available, Partition-Tolerant Web[J]. ACM SIGACT News, 2002, 33(2):51-59.

[5] 范凯.NoSQL数据库探讨之——为什么要用非关系数据库?[EB/OL].(2009-11-25). http:///topic/524977.

第2篇

【关键词】数据库设计;单元测试;集成测试

一、数据库设计

本系统为面向关系数据库的关键字查询系统,在实验中本文选取了IMDB 数据集,为了进行实验,将数据集整理为以下七个表数据结构。

实验数据集(电影信息数据库):

Actor(演员表)、Consume(设计师)、Director(导演信息)、Business(投资)、Editor(编辑)、Color(颜色信息)、Keyword(关键词)。本数据库抽象的数据库关系E-R图如图1所示。

二、单元测试

为保证代码中SQL语句的正确性,需要对数据库中数据进行查询检测,当输入关键字为“black”时,查询结果如图2所示。

通过外键mvname的连接,再查询Business关系表,显示结果如图3所示。

图3说明当关键字是“black”时查询出来的actor表中,与business中mvname相同的值没有。当关键字为“a”时查询两表,显示结果不为空,如图4所示。

按照上述方法和SQL语句依次查询检测其他关系表。

三、集成测试

在确定系统代码中关键字转化的SQL语句都正确的前提下,进行系统测试,即进行关键字检索测试。

(一)当输入的关键字为为单关键字时,关键字分析过程比较简单,假设检索关键字选择“keyword”,查询结果如图5所示。

关键字“keyword”为表名,直接输出keyword表即可。

(二)当输入的关键字为多个时,情况比单个的复杂一些,假设检索关键字选择“director color”,检索结果如图6所示。

显示的结果中,包含director和color均为表名时两表合一的元组;director为表名color为color表中属性名时,通过mvname、mvyear、setname、episode、made、explantaion等属性值相等连接后的元组;以及director为表名、color为director和color两表中的属性值时,同样通过mvname、mvyear、setname、episode、made、explantaion等属性值相等连接所得元组。这三种情况合到一起即为关键字“director color”的查询结果。

四、结语

从单元测试的角度,在MySQL数据库中测试了系统代码中SQL语句的正确性。最后,系统测试中测试了系统的关键字检索功能,从单关键字和多关键字的角度验证了系统中的查询功能,保证了系统的正确性、可靠性。

参考文献

[1] Mac K,David J,Linda C.A hierarchical Dirichiet language model[J].Natural Language Engineering,1995,1(3).

第3篇

关键词:关系;E-R图;实体

中图分类号:TP301 文献标识码:A 文章编号:1009-3044(2013)25-5587-02

数据库技术的应用实例在我们生活中随处可见,如企业、学校、医院、超市、社区等,可见数据库技术的重要性不言而喻。而在普通高等院校、三本或高职类(非)计算机专业的群体中,数据库课程也是作为其中一门必修的公共基础课存在。开设的课程有SQL Server、Oracle、Visual FoxPro、Access等,无论是哪门课程,它们都有一个共同的特点,都是关系型数据库[1],而关系型数据库在我们现实生活中应用也是最为广泛的。下面我们就以一个简单的实例来阐述关系数据库设计的基本原则和实践应用。

1 数据库系统结构与逻辑设计

1.1 三级模式和二级映像结构的优点

数据库系统的标准结构为三级模式和二级映像。三级模式分别为内模式、模式和外模式,二级映射为内模式/模式映像和模式/外模式映像。如图1所示:

模式即概念模式,该模式是对数据的逻辑结构和特征的描述,是对所有应用程序的数据综合抽象得到的全局数据视图;外模式是所有应用程序或用户访问数据的逻辑结构和特征的描述;内模式是数据的底层物理存储结构的描述。二级映像保证了各级数据在不破坏底层数据存储结构的基础上完成上层数据的所有操作任务,保证了数据库中数据较高的逻辑独立性和物理独立性。

1.2 逻辑设计内容和方法

计算机处理客观应用问题的一般框架如图2所示:

在设计开发数据库时,逻辑设计的内容有应用语义环境下如何设计表、定义表、定义表间关系、如何操作表等,可通过文字或一套业务实体表格来描述。大致可通过两步来完成,第一步:从应用问题中提取核心概念建立概念模型;概念模型可用实体—关系图(E-R图)来描述;第二步基于一定的转换原则建立关系数据模型。关系模型的表示形式为:R(U, F),其中,R为关系名,U为属性集,F为函数依赖关系。转换原则有以下七种[2][3]:

1)一个实体型转换为一个关系模式,通俗的说即一个实体对应一张二维表。

2)一个1:1实体联系可转换为一个独立关系模式,也可以与任意一端对应的关系合并。

3)一个1:N实体联系可转换为一个独立关系模式,也可以与任意一端对应的关系合并。

4)一个M:N实体联系一定转换为一个独立的关系模式,特别是带有属性的联系。

5)三个以上实体间的多元联系可转换为一个关系模式。

6)相同码的关系模式可以合并。

7)同一实体集的实体间联系与对应的关系合并为一个关系模式。

除此之外,数据库的设计不仅需考虑理论支持,还需要结合实际的业务流程。

2 应用实例解析

其中,实体“学生”、“课程”和“系别”分别转换为三个关系模式,照应原则1;另外有两个联系,“所属”联系可以独立转换为一个关系模式,也可以与“学生”和“系别”任意一个关系合并,照应原则3;而“选课”联系自身具有特殊属性“成绩”,特殊性体现在该属性既不能作为“学生”的属性存在,也不能作为“课程”的属性存在,故必须将该联系转换为一个独立的关系模式,照应原则4。综上所述,E-R图可被转换为4个关系模式,根据对该领域的认识和经验为每个关系添加属性描述其特征,同时指定关系的主码、外码以及用户自定义完整性约束,最终实现E-R图到关系模型合理正确的转换,建立数据库同时进一步优化其性能[4]。

原则4实际应用的例子有很多,又如销售商与供应商之间的供销关系问题。在该业务流程中三个主要的实体:供应商,源材料和工厂。他们之间时刻有着密切的业务往来,而在三个实体间共同存在“供销”联系,而该联系具有属性“供应量”,供应量就如同上述的“成绩”一样,需转换为一个独立的关系模式来描述。

3 结束语

文中以关系数据库基本理论为依据展开阐述数据库逻辑设计的内容和方法,并以简单实例来论证理论方法的指导意义和应用效果。

参考文献:

[1] 萨师煊,王珊. 数据库系统概论[M].北京:高等教育出版社,2000.

[2] 袁国铭.关系数据库设计的总体原则[C].第七届中国通信学会学术年会论文集,2010:168-171

第4篇

关键词:查询优化;索引结构;算法分析;对象关系数据库

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)25-1366-02

Object Relational Data Base Management Systems

LIU Da-ming1,2

(1.Ningxia Vocational Technological Institution,Yinchuan 750002;2.Ningxia Radio and TV University,Yinchuan 750002, China)

Abstract: Object-relational database technology combines the relational and object-oriented capabilities in one database system. It provides support for richer object structures and powerful query-oriented functions. This kind of DBMS can meet the requirement of some newly emerging application areas, such as GIS. Now, the Object-Relational DataBase technology is regarded as one of the most promising research and product development directions. This paper gives a method of accessing spatiotemporal vector data in an Object-Relational database. Results provide path of spatiotemporal data storage in Web environment.

Key words: query optimization; index structure; loin algorithm; algorithm analysis; ORDB

面向对象的开发方法是当今的主流,但是同时不得不使用关系型数据库,将两者更好地结合起来将在很大程度上加快软件的开发[1]。对象/关系数据库通过将面向对象程序设计中的对象映射到基于SQL的关系模型的数据结构中去,能给软件的开发带来很多好处如:数据库结构清晰,便于实现OOP,数据库对象具有独立性,便于维护,需求变更时程序与数据库重用率高,修改少。地理时空数据小不同于一般的属性数据和空间数据时空数据主要有以下特性:空间性、时间性、抽象性,进而带来多维性、多态性和多尺度[2]。GIS的时空数据组织与管理一直是GIS理论界关注的一个热点问题,传统的基于文件方式的GIS数据存储技术以及基于混合方式的GIS数据存储技术有其各自的不足,采用对象关系数据库技术存储时空数据是今后一段时间内GIS数据管理发展的一个方向[3]。

1 对象关系数据库管理系统(ORDBMS)的基本原理

“对象关系数据库”实现既非纯粹的面向对象的数据库也非纯粹的关系数据库,它代表两者的结合[4]。扩充现有数据库系统以支持面向对象的概念,我们习惯上称这样的系统为扩充数据库系统。在关系数据库基础上加以扩充的, 称之为对象-关系数据库(ORDBMS)。RDBMS派认为RDB具有坚实而成熟的理论基础, 主张对现有的RDBMS 进行扩充和改进, 使之升级为ORDBMS。这种系统既支持已经被广泛使用的SQL,具有良好的通用性, 又具有面向对象特性, 支持复杂对象和复杂对象的复杂行为, 是对象技术和传统关系数据库技术的最佳融合。

由于在ORDBMS 中,关系和对象两者共存,因此由面向用户层和内部接口层构成的两层体系结构来构造一个ORDBMS。面向用户层主要是对ORSQL ,ORDML 及ORDDL 这类语言进行转换和处理,通过解析各种用户命令语句,并完成视图转换和查询优化,以产生执行代码。内部接口层在存储管理器之上运行。存储管理器是一个既支持表存储又支持对象存储的内核机制。依靠操作系统的页、Buffer 及内存管理,存储机制实现从逻辑到物理的存储的转换。存储和存取机制的任务就是把上层操作转换成单个的对象操作或记录操作。ORDBMS体系结构图1所示。

2 Oracle对象关系数据库管理系统在GIS中的应用

Oracle是以高级结构化查询语言(SQL)为基础、支持分布式海量数据存储与处理的对象关系数据库管理系统。目前很多GIS软件平台及其相关产品采用Oracle作为空间数据库管理系统的基础平台。因此如何在Oracle中快速、有效地管理和操作海量空间数据成为GIS平台和应用系统研发人员十分关心的问题。Oracle Spatial解决空间数据的方法是:提供一个MDSYS模式,在其中包含了关于空间数据管理的所有内容,即提供一个对象数据类型(SDO_GEOMETRY)、索引功能及多个针对SDO_GEOMETRY的函数/运算符。这样就可以在Oracle数据库中快速有效地存储、访问和分析空间数据。Oracle Spatial所提供的功能完全集成在数据库服务器中。用户可使用SQL定义来操纵空问数据,也可以利用Oracle的标准特性,从而确保数据的完整性、可恢复性和安全性等特征。

2.1 对象-关系模型

对于空间几何对象,Oracle Spatial可以用对象关系模型来表达,该对象关系模型通常用表的一个MDSYS.SDO_GEOMETRY类型字段来表示,同时每一记录表示一个几何对象地实例。该对象关系模型有以下的优点:

1) 支持多种几何对象类型,包括:弧、圆、复合多边形、复合线串、矩形。

2) 容易创建和维护空间索引并进行空间的查询。

3) 用一行和一列表示几何对象的模型。

4) 可以达到最优的性能。

2.2 数据模型

空间数据模型可分为几何元素、几何对象、层等三级结构,每一种结构都对应于空间数据的一种表达。层是由几何对象组成,而几何对象则由几何元素组成。例如:一个点表示一个建筑物,一条线表示一条公路或是跑道,一个多边形表示一个省、城市或某个区域。

1) 几何元素(element)

元素是几何对象(Geometry)的基本构成单元,支持的空间元素有点、线、面和多边形,例如:元素可以构成星群(由点串构成),公路(由线串构成)、县的边界(多边形构成),元素的每个坐标存储为x,y坐标对。一个带洞的多边形的外部环和内部环被认为是两个不同的元素所构成的复合多边形。

2) 几何对象(Geometry)

一个几何对象表示一个空间几何特征,它是由一个或多个几何元素的有序组成:一个几何对象可以由一个几何元素组成,也可以由同一类型的几何元素集合或不同类型的几何元素集合组成。

3) 层(layer)

层是具有相同属性特征的几何对象的集合。例如:地理信息系统中,一层包括拓扑特征,而另一层描述它的人口密度,第三层则描述路和桥的网络结构,每一层对应一个空间索引。

2.3 空间查询模型

Oracle Spatial用两层查询模型来解决空间查询和空间联合查询。这两层模型是指主过滤和次过滤。主过滤主要从被选记录中作快速选择并传给次过滤,它近似地比较几何对象以减小复杂度计算,它是一种内存、时间消耗的过滤;次过滤是对来自于主过滤的几何对象结果集作精确的计算。

2.4 空间索引

通过Oracle Spatial把空间索引化能力导入数据库引擎是空间产品的一个关键特征。一个空间索引就是以空间标准为基础、限制表内(或数据空间内)的搜索的机制。为了高效地执行查询过程,索引是必不可少的,比如在查询区域的数据空间内寻找对象,通过一个查询多边形(栅栏定位)。第二种查询(空间联合)类型是在两个存在空间关联的数据空间内寻找对象组。

2.5 空间关系与过滤

Oracle Spatial用次过滤来决定数据库中的空间对象之间的空间关系。空间关系是以几何对象的位置为基础的,最基本的空间关系是基于拓扑和距离。如:区域的边界包含一系列把外部的空间分隔开来的弧段,区域的内部包含区域内的所有不在边界的点。为此我们说,拥有部分共同边界而没用共同内部点的两个区域的空间关系为临近的。两个空间几何对象的距离定义为他们之间的任何两点的最小距离。如果两个几何对象之间的距离小于给定的距离,则我们说一个几何对象在另一个对象的某一距离内。

3 结论

面向对象的开发方法是当今的主流,但是同时不得不使关系型数据库,将两者更好地结合起来将在很大程度上方便软件的开发。伴随着关系数据库日益增长用和面向对象程序设计的普及,对对象/关系数据库的关注越来越多。由于将目前最为流行的关系数据库和面向对象程序设计很好的结合起来,而且己经有了比较稳定的对象/关系数据库的映射下具,因此对象/关系数据库会有一定的应用前景。本文正是利用对象关系数据库管理地理时空数据所具备的优越性,将其用于存取矢量时空数据,为地理时空数据的存储提供了一条有效途径。

参考文献:

[1] Carey M J,Dewitt D J.Of Objects and Databases: A Decade of Turmoil[M].22nd VLDB,1996:3-14.

[2] Stonebraker M.Object-Relational DBMSs The Next Grew' Wave[M].Morgan Kaufmann Publishers,Inc,1996.

第5篇

关键词:公共信息模型CIM;SqlBulkCopy与OracleBulkCopy;Oracle;关系数据库

中图分类号: G250 文献标识码: A 文章编号:

0引言

目前,由于电力生产的迅猛发展,高科技的广泛应用,用电需求不断增加,并且随着我国经济的不断发展,用电需求将持续增大,电网规模越来越庞大,也就直接造成了电网模型的膨胀性发展;电网具有调度、运行、维护、检修、改造等工作量大的特点,需满足调度工作“实时、可靠、灵活、协作”的原则,因此如何快速有效的将庞大的电网模型建模入库,使调度员能不间断、高效完成调度工作成为首要解决的问题。

1影响入库性能因素分析

公共信息模型(Common Information Model , CIM模型)[ 1]是一个抽象模型,它包含了所有与电力生产有关的数据,实际为一种XML格式数据,可以作为一种数据库直接使用。

烟台供电公司是山东电力集团公司直属的国有大一型供电企业,承担着烟台市14个县市区的供用电工作。目前,烟台电网以500千伏变电站为支撑,220千伏环网和110千伏辐射网为主网架,公司直辖35千伏及以上变电站54座,变电总容量946万千伏安,35千伏及以上输电线路143条,总长2437千米。电网模型十分庞大,相对于的CIM模型巨大,并且随着用电需求将持续增大,直接影响入库速度。

CIM采取了面向对象的技术来抽象电力系统的实现。通过提供一种对象类和属性及他们之间的关系来表示电力系统资源的标准。但是,目前面向对象的数据库发展还不成熟,而使用最广泛、技术最成熟的数据库管理系统大都是关系型的。所以需要将面向对象的CIM与关系型数据库结合起来[ 2]。

通用信息模型之间的关系比较复杂,将所有关系全部映射成关系数据库[3]的表,这些复杂的通用信息模型关系将会不可避免的生成很多关系表,使数据库的表的数量增大。而且表之间的关系性也非常强。标准的意义在于将系统涉及的通用信息模型对象和关系全部映射成表,如果只是其中一部分,数据库便不能完全的遵循通用信息模型。

关系型数据库[4]是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

XML缺少关系型数据库具备的特性[5]:高效的存储、索引和数据修改机制、严格的数据安全访问控制、完整的事务和数据一致性控制、多用户访问机制、触发器、完善的并发控制等。因此,数据量大、数据集成度高以及性能要求高的数据环境中仍是使用关系型数据库较好,在这里的比较中不考虑直接使用XML数据库的情况。

2各种方法入库的性能比较及应用

将CIM对象模型写入关系数据库的方法很多,可以用SQL语句或存储过程,也可以用SqlBulkCopy或OracleBulkCopy方法[6],然而不同的方法在性能方面又有他们的不同。下面分别对各种方法写入数据库进行了分析。

2.1 SQL语句

优点:以烟台电网CIM 模型118.2M的数据为例,采用SQL语句直接写入数据库的方法只需执行一次SQL的连接字符串,非常方便。

缺点:在客户端代码中,使用拼接SQL语句方式实现数据写入时,由于SQL语句是动态执行的,所以恶意用户可以通过拼接SQL的方式实施SQL注入攻击。

2.2 存储过程

优点:与SQL语句相比,存储过程存在很多优势。存储过程允许标准组件式编程,能够实现较快的执行速度,能够减少网络流量,而且可被作为一种安全机制来充分利用。

缺点:由于其实现方式是利用数据库访问类调用存储过程,利用循环逐条插入,所以这种方式的效率不高。还有两个方面是他的可移植性和可扩展性,因为一般大型的Web应用程序都是多Web服务器,然后用双数据库服务器做双机热备,其中一台开机,但是是闲置的。这里只是解决单点故障的问题,但形成了多Web应用服务器,单数据库服务器的情况。如果所有的运算都用存储过程实现,那么会造成数据库服务器负担过重。而Web服务器负荷不足的情况,扩展数据库服务器的话就会非常的麻烦,而且投资较大,程序也需要改。

2.3 SqlBulkCopy

优点:SqlBulkCopy可以实现数据的批量写入操作,并且写入速度非常快。可以使用其他源的数据有效批量加载SQL Server表。Microsoft SQL Server 提供一个命令提示符实用工具,用于将数据从一个表移动到另一个表,表既可以在同一个服务器上,也可以在不同服务器上。SqlBulkCopy 类允许编写提供类似功能的托管代码解决方案,还有其他将数据加载到 SQL Server 表的方法(例如 INSERT 语句),但相比之下 SqlBulkCopy 提供明显的性能优势。

缺点:使用 SqlBulkCopy 类只能向 SQL Server 表写入数据,数据源不限于 SQL Server,可以使用任何数据源,只要数据可加载到 DataTable instance 或可使用 DataReader 读取数据。SqlBulkCopy的另一个缺点是写入前的数据判断和过滤。

2.4 OracleBulkCopy

OracleBulkCopy是中的一个类,是才有的功能。

优点:调用WriteToServer方法,可以快速有效的实现大数据量导入数据库。OracleBulkCopy支持超大文本的导入,支持从数据中的某一行开始导入,可以决定是否保存数据行号,列映射不区分大小写,支持导入常量列,支持源列自动检测,当相同源列导入多目标列时,只分配一次内存,更加节约内存。

缺点:OracleBulkCopy目前还不支持事务回滚。并且Oracle 11g及以上的版本才支持OracleBulkCopy。

2.5 入库时间比较分析

下面以118.2M烟台电网CIM模型数据作为实例写入数据库,应用各种不同方法写入数据库的时间比较如下表1。

表1各种写入数据库方法时间比较

在上述比较过程中由于采用编码技术及CIM模型数据关系的特殊性,写入时间有差距,仅供参考。

综合以上对各种方法的分析以及不同方法写入数据库的时间比较,在处理海量数据方面,OracleBulkCopy较其他方法有明显的优势。并且考虑到CIM模型的巨大,因此,采用OracleBulkCopy的方式写入关系数据库是最高效的。

3总结

本文分析了将庞大的电网模型建模入库的影响因素,并对多种写入数据库的各种方法的性能进行了比较。最后通过烟台电网实际CIM模型数据作为实例对各种方法入库的时间进行了比较。综合各方面的分析表明:使用OracleBulkCopy方法写入Oracle数据库是最快,最高效的。解决了烟台供电公司基于综合数据平台的调度智能防误系统中CIM模型快速入库的问题。

参考文献:

孟祥治.电力系统CIM模型及其数据库设计[J].《企业科技与发展》,2009,24.

赵丽华,刘军.基于C #的电力系统网络数据模型解析[J].《现代计算机》,2011,10.

翁芳芳,林俐,杨以涵.CIM模型与关系模型的一种映射方法的探讨[J].《现代电力》, 2005,22(4).

陈明磊,薛永强,邵玉槐.基于CIM的变电站设备数据库模型探讨[J].《太原理工大学学报》,2008,39(1).

第6篇

关键词: 关系数据库; NoSQL; 海量数据; 教学

中图分类号:TP311.13 文献标志码:A 文章编号:1006-8228(2013)02-47-03

Analyzing the relationship between NoSQL and teaching database

Lou Ying

(Electronic Information Engineering College, Henan University of Science and Technology, Luoyang, Henan 471003, China)

Abstract: Because of the dominant position in database, the relational database has been always the main content in database curriculum of university. With the rise of Web2.0, in the huge data environment, NoSQL (not relational database) technology is used widely and the current database course teaching has been impacted deeply. NoSQL technology is introduced in this paper and then the challenges of NoSQL database technology to teaching database are analyzed. Finally, the teaching methods of database course are proposed.

Key words: relational database; NoSQL; massive data; teaching

0 引言

NoSQL指的是非关系型的数据库。随着互联网Web2.0网站的兴起,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的社交网络类型的Web2.0纯动态网站已经显得力不从心,暴露出了很多难以克服的问题。例如:关系数据库为了降低数据冗余,保证数据约束性,在数据查询时不得不使用多个数据表之间的连接操作,这极大地降低了查询效率,不能够满足当前Internet的高实时性的要求。而非关系型数据库对并发的大规模访问有着效率上的优势,因此,非关系数据库是在具体应用背景下得到了迅速的发展。

其实,NoSQL概念最早出现在1998年,当时的含义是反SQL技术革命运动,但并未引起太多的关注。直到2009年,NoSQL概念被来自Rackspace的Eric Evans再次提出,这时的NoSQL已经不是单纯的反SQL运动,指的主要是非关系型的分布式数据库,并且不支持原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)的数据库设计模式[1]。在亚特兰大举行的有关NoSQL的讨论会上,学者给出了NoSQL较为普遍的解释,即“非关系型的”。并且指出Key-Value存储和文档数据库是NoSQL的主要特点,本文认为NoSQL是一项新的与传统关系数据库有显著区别的新技术。

1 NoSQL的主要特点

1.1 Key-Value存储

Key-Value本身是一种数据结构的模式,其基本思想为:一个主键下有相应的值,在实现上可以通过哈希表或B树等不同的数据结构完成。Key-Value存储是以键值对的数据模型存储数据,并能提供持久化分布式存储系统,查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询机制和数据同步等功能[2]。

现有非关系型数据库采用不同的方式实现了Key-Value存储,并且拥有各自的优缺点。然而,性能优良的Key-Value存储需要满足下列条件:高可用性,即在Key-Value存储模式下可以提供不间断的服务;可扩展性,海量数据的处理要求存储模式能够具有可扩展性;故障恢复,要求该存储模式下能够对故障自动感知并能自动恢复。

在具体的实现上,多数非关系数据库采用单文件进行存储,虽然单个文件操作具有一定的方便性,但在数据量不断增大时,会遇到存储瓶颈。为了提高响应速度,Key-Value存储一般只支持数据的添加操作,而不是支持数据更新操作。为了实现故障可恢复,需要对数据进行备份,数据备份操作即从主端向从端的数据复制,应用系统的性能在备份过程中会受到影响,备份策略决定了影响程度。然而,数据可靠性和性能是一对平衡关系,越是可靠性高的数据保障,其性能相对会下降。

1.2 最终一致性

一致性是关系数据库中主要特点[3],关系数据库为了保证一致性需要使用约束条件,从而影响了数据的读写效率。而非关系数据库只要求保证数据的最终一致性,基本思想是:在数据的读写过程中,对一致性的要求是松散的,而最终完成操作后的结果是一致的。

假设A为对数据库的写操作,而B和C都代表对数据库的读操作,且A,B和C之间是相互独立的。当执行了A,即向数据库中写入数据,若数据库系统能够保证随后B和C的读操作都能够读到最新的数据,则说明该数据库系统具有强一致性,关系数据库能够保证强一致性;当执行了A,B和C不能够立即读到最新的数据,而是需要经过一段时间才能获取更新的数据,则说明该数据库系统具备弱一致性,这段时间也叫做不一致性时间窗口;最终一致性属于弱一致性的特例,当执行了A,在该数据没有再被更新的条件下,B和C最终都读取到最新的数据,这就是最终一致性。

最终一致性是在高数据量(十几亿条记录、数TB数据)和高访问量(数千TPS、数万QPS)需求下的选择,在缺乏种种约束的情况下,最终一致性在一致性要求不高的应用场景下能够极大提高数据访问效率。

1.3 可扩展

这里的扩展性主要指的是水平扩展性,应用无关和容错性。关系数据通常通过读写分离,更换高性能的服务器来提高性能[4],而在海量数据的环境下,这些方法仍然无法满足某些应用需求。非关系数据库具有水平扩展性的特点。

尽管现有的非关系型数据库采用不同的技术实现可扩展性,但其基本的目标是:在应用不间断的情况下,增加或删除数据节点,实现水平扩展;利用分布式计算的技术,通过节点之间的通讯,实现数据分布式处理,满足海量数据的读写性能要求。

2 NoSQL技术对数据库教学的影响

长期以来,普通高校计算机专业的数据库课程以关系数据库为讲授内容。作为当前数据库领域不可忽视的力量,NoSQL技术已经引起了许多高校的关注,它给传统的数据库教学带来了以下几个方面的挑战:

挑战一,教师的认知和讲授能力。长期以来,在讲授数据库课程时,往往认为关系数据库占主导和统治地位,忽略了对其他数据库的研究。当前高校与市场的联系远远不如想象的那样紧密,因此,当前高校教师面对着对NoSQL技术的认知能力,这里不仅包含对技术的掌握和熟悉,而更重要的是对该新兴技术的认可。

在授课的过程中,如何把握NoSQL技术和关系数据库的之间的关系,巧妙地融合两种技术,使学生有个全面和清晰的认识是数据库课程教师的重要工作之一。

挑战二,学生的接受水平。对于刚刚接触专业课程的学生,同时掌握两种具有对立性质的技术也是学生学习过程中的一个难点。

挑战三,学校的实验环境。实验一直是数据库课程教学的重要环节,现有大多数学校的实验条件和环境能够基本满足关系数据库技术的教学需要,对于NoSQL技术所在大规模数据处理下的优势,如何构建实验环境也是教学的一个重要挑战。

为了应对这些挑战,我们至少需要弄清楚两个方面的问题:①为什么要使用NoSQL;②NoSQL技术和关系数据库的联系和区别。

2.1 为什么要使用NoSQL技术

NoSQL技术不是实验室的产物,而是以实际需求推动的,这里的推动主要指的是互联网的发展在推动。Web2.0时代,用户每天使用网络的同时也在制造网络的内容。例如:用户在浏览微博网站的同时也会自己的信息。这种特点改变了对网站后台数据库的访问方式,从原先频繁的读操作变成了频繁的读写操作,这时,往往要达到每秒上万次读写请求,关系数据库还能同时勉强应付上万次的SQL查询,但是要同时应付上万次的SQL写数据请求,关系数据库系统就已经无法承受了,对数据读写操作需求的变化推动了新技术的发展。

社交网络是Web2.0的一个重要产物,近年来,社交网络用户的规模日渐增长,2011年8月,Facebook的活跃用户已经接近7亿,用户对Web的要求也逐步的提高,缩短用户操作的响应时间已成为提高网络质量的基本要求。关系数据库在保证数据的一致性方面有优势,而在大规模的用户操作下,严格的一致性对现实的需求来说并不是必须的,高效的数据响应才是最重要的,NoSQL在保证最终一致性的情况下能够实现高效的数据访问。

对于一个Web应用系统,在用户量和访问量不断增加的时候,该应用系统需要增加新的服务节点来提高性能和负载能力,在增加服务节点时,可以通过增加硬件设施在满足Web服务器和应用服务器的需求,而对于数据服务器,关系数据库模式下很难进行类似增加节点的水平扩展。因此,在关系数据库的模式下,进行节点增加时需要停机维护和数据迁移,这对于很多需要提供24小时不间断服务的网站来说是不方便的。可以看出,关系数据库无法满足应用的可扩展性和高可用性,而NoSQL技术具有水平扩展性的特点,可满足需求。

从上述分析可知,在互联网环境下处理海量数据时,关系数据库无法满足实际需求。一方面,关系数据库技术中的种种约束(事务管理、完整性约束等)对实际需求来说是没有必要的;另一方面,这种约束的保证影响了数据处理性能。在这种情况下,NoSQL技术就自然而然地成为了人们的选择并取得了快速的发展。

2.2 NoSQL与关系数据库的对比

通过上述分析可以看出,NoSQL数据库和关系数据库是根本不同的,两种数据库分别适应不同的需求。

关系数据库是以表来存储数据的,表的组织形式严格,表中的每一行代表一条数据记录,每一列代表特定方面的信息。在设计好表结构(表的列信息)后,修改的代价巨大,数据库表之间存在着联系和某种约束关系。所设计的数据操作(查询,添加,修改,删除)通常涉及对单张表和多个表,在对多个表的操作时需要使用到表之间定义的范式,消除数据冗余和保证数据一致性是关系数据库的基本要求。长期以来,关系数据库一直以简洁、规范和灵活占据着数据库领域的统治地位,现有关系数据库的产品主要有SQL Server,DB2,Oracle,MySqL等,这些产品都属于关系数据库管理系统,虽然功能有所不同,但基本思想都属于关系数据库的范畴。正是由于关系数据库的主导地位,在高校计算机学科数据库教学中,关系数据库也一直是该课程讲授的重点内容。

NoSQL数据主要有三种主流的数据模型,除了上面介绍的Key-Value以外,还有列式和文档两种。列式也主要使用Table这样的模型,但是它并不支持关系数据库中的多表连接操作,其主要特点是在存储数据时,主要围绕着“列”,而不是像关系型数据库那样根据“行”进行存储;在结构上,文档模式与Key-Value模式想象,不同的是,这里的Value对应的往往是一个文档。在查询时,NoSQL数据库往往只支持主键或者是单个列查询,不支持关系数据库多表复杂查询。在写操作时,NoSQL数据库对数据一致的要求并不是那么高。现有的NoSQL产品很多,主要有Cassandra,HBase,Memcached,Voldemort等。这些数据库的侧重点不同,虽然都具备NoSQL的特点,但一些也兼具关系数据库的功能。其中,许多产品是开源的,开源虽然能够使更多用户采用,但其可靠性和后期的维护也受到了用户的质疑。

关系数据库是否能被NoSQL数据库取代呢?答案是否定的。虽然关系数据库在处理Web2.0数据时明显遇到了瓶颈,但不代表它就能被NoSQL技术完全取代。不同的应用背景可有不同的选择,例如,在金融和电信领域,用户无法接受数据的不一致,因此,关系数据库的一致性对数据处理来说就尤为重要。而对一些非核心数据的处理,日志的管理和外部数据的集成来说,NoSQL技术就更能胜任。因此,应该根据实际的需求选择NoSQL技术或者是关系数据库。NoSQL技术是在新的需求下对关系数据库的补充和扩展。这就需要将NoSQL技术和关系数据库进行结合使用,各取所长,需要使用关系特性的时候使用关系数据库,需要使用NoSQL特性的时候使用NoSQL数据库。

2.3 采用启发式教学法

启发式教学的基本思想是:教师在根据教学任务和学习的客观规律,从实际出发,以启发学生的思维为核心,采用多种方式,调动学生的学习主动性和积极性,促使他们生动活泼地学习的一种教学指导思想。

由于NoSQL技术是从实际应用需求产生而来的,具备实际的推动力。因此,教师在讲授时,可以首先介绍关系数据库的基本知识,在介绍关系数据库的性能指标,例如:每秒读写数据的次数,数据处理能力的极限等概念时,再描述现实需求。从现实中,学生可以发现关系数据库的不足,当它的某些优点不是必须时,就引出了NoSQL技术。启发学生从需求出发研究技术的思想,真正做到学以致用。

3 结束语

NoSQL技术的应用已经给市场带来了巨大的影响。本文总结了NoSQL的特点,对比了NoSQL与关系数据之间的区别,提出了NoSQL技术给高校计算机教学带来的挑战。面对计算机技术高速发展的时代,高校计算机的教学模式是否能够适应当前教育的需要,在数据库教学方面,如果仍然按照固定的教学模式,将关系数据库不可动摇地位的思想传递给学生,显然是不合理的。因此,我们需要在重视理论教育的同时,研究技术发展的动态,以更客观和合理的方法讲授课程。T技术是一项发展迅速的技术,在未来的教学工作中,知识的传播已经不是高等教育的主要任务,而启发式的引导才能丰富高校的教学成果。

参考文献:

[1] Thomas, R. H. A majority consensus approach to concurrencycontrol for multiple copy databases. ACM Transactions on Database Systems,1979.4(2):180-209

[2] Chris Bunch, NavrajChohan, Chandra Krintz, JovanChohan,Jonathan Kupferman, Puneet-Lakhina, YimingLi, Yoshihide Nomura. Key-Value Data stores Comparison in App Scale. February 17, 2010 UCSB Tech Report,2010.3.

第7篇

关键词:遥感影像数据库管理系统;要求;管理模式

中图分类号:P23 文献标识码:A

遥感技术的发展准确来说应该开始于人类第一颗人造卫星发射。经过几十年来的发展,遥感影像的应用范围越来越广泛,涉及到了军事、科学研究、气象预报等等多个行业领域,也正是由于遥感影像的应用越来越广泛,遥感影像数据量越来越大。遥感影像数据量与日剧增以后,遥感影像的发展必然呈现出越来越繁荣的趋势,数据量也会越来越大,面对这样的情况,对建设遥感影像数据库管理系统提出了更高的标准。

1 遥感影像数据库管理系统所具备的要求分析

遥感影像是记录电磁波的胶片,与我们日常的影像数据存在很大的区别,从遥感影像数据特征来进行分析,遥感影像数据库管理系统需要具备以下几点要求:

1.1 在实际当中,遥感影像的来源有很多渠道,如航空影像、卫星影像等等,因此,遥感影像数据库管理系统的兼容性要强。

1.2 遥感影像具有一个很明显的特点就是能够表现立体空间,支持空间表达对于应高影像来说是至关重要的,所以遥感影像数据库管理系统对于空间数据索引和数据查询具有一定的能力。

1.3 由于遥感影像数据库来源于很多的渠道,影像数据也没有统一的标准,所以对于遥感影像要满足多尺度的特性。

1.4 遥感影像数据库管理系统必须具备“无缝性”,主要表现在其一集合空间的无缝,遥感影像的存储一般来说具有固定的存储模式,而无缝性的要求就是要打破这种模式,构建一个无缝的区域,用户在使用的时候图幅是透明的。二是色彩空间的无缝性,遥感影像数据库管理系统在一定区域和分辨率范围内,影像色彩的变化应当是平滑的,不能出现明显的差异。其三是尺度空间的无缝性,在操作遥感影像数据缩放的时候,应该保持不同尺寸之间的遥感影像能够平稳的过渡。其四是影像数据和元数据的无缝性,该性质是遥感影像数据库管理系统建设当中需要着重强调的。

1.5 遥感影像应用较为广泛,对于商业用途来说,系统的通用性、扩展性以及维护性是非常重要的。

1.6 随着社会经济的发展,遥感影像数据量急剧增加,遥感数据库管理系统的储存量也应该是海量的,必须要达到TB级。

1.7 从数据可视化的角度上来说,遥感影像数据库管理系统的建设应该以零延迟为目标。

2 遥感影像数据库系统管理模式研究

从大体上来说,遥感数据库系统管理的主要方式可以分为三大类,一个是基于文件的方式,其次是基于数据库的方式,最后就是文件和数据库混合的方式,下面文章对三种方法进行简单的分析:

2.1 基于文件的方式

遥感影像数据库管理系统基于文件方式进行管理的主要优点就是结构不复杂,并且维护的费用也不高,技术相对来说较为成熟。同时也存在一定的缺点,主要表现为安全性能不高,不能支持多用户进行并发操作,元数据管理效率较低等等。因此,对于这种管理方式来说在多数据量的环境下性能表现力不从心,大多数情况下只能适用于遥感影像数据量较小的环境下。

2.2 文件和数据库混合的方式

文件和数据库混合的方式的主要原理是将遥感影像数据以文件的形式保存在服务器上,但是与之对应的元数据却分隔开来保存在了数据库当中,这种管理方式的主要优点是遥感影像数据存储的效率高,但是相对难度也会增大很多,并且随着时间的推移,遥感影像数据量会不断增多,并且后期的维护难度也非常大。

2.3 基于数据库的方式

基于数据库的遥感影像管理模式主要以分布式对象对应关系数据库管理遥感影像数据,该方式不仅可以给中央服务器减负,还可以减少产生瓶颈的几率,提高数据的传送率、查询以及更新效率,可以大大缩短相应时间,并且能够支持多用户的并发访问,这些都是其他管理模式无法比拟的。除此之外目前的数据库都设置了安全访问控制机制,这样的设置能够为开发人员省下了不少的麻烦,提高效率。

3 遥感影像数据库管理系统建设对比分析

由于工作的需要,遥感影像数据库管理系统的功能要求越来越高,为了更好的进行分析研究,文章对比了传统遥感影像数据库系统来论述。

3.1 传统遥感影像数据库管理系统分析

3.1.1 关系数据库系统

传统的关系数据库对于遥感影像数据的处理仅限于数值和字符串,并没有丰富的数据类型,这对于遥感影像的使用、研究来说是极其不方便的,建立在对象层来挖掘面向对象应该是目前的主流,对于对象数据库的存储和访问不能优化,其效率不高,而且技术上也存在严重的问题。

3.1.2 对象数据库系统

在上个世纪八十年代以来,对了遥感影像数据的最好技术就是面对象技术,这种技术的应用能够使得系统当中的数据模型表现的更加直观、并且性能更加的问题,后期维护也较为方便,同时这种系统也存在致命的缺陷,对于SQL的支持很少,实际的工作当中,许多软件需要应用到SQL接口。

3.2 对象一关系数据库系统

对象一关系数据库管理系统具备最大的优势就是具有面向对象的建模能力,对于复杂的遥感影像数据都能进行分析,用户可以直接使用数据管理工具,将遥感影像应用的具体范围与系统实现无缝结合,极大的提高了工作效率。

在目前来说,对象一关系数据库管理模式还处在研发阶段,只能说是一种新兴的技术,其应用的行业领域也较窄,相比上文论述的遥关系数据库管理来说还尚不成熟,关系数据库系统的所有操作只是按照既定的操作标准来执行,相对来说非常简单,但是其致命缺点有限的数据类型以及程序设计中数据结构是制约关系数据库系统发展的最大障碍。而遥感影像数据对象一关系数据库管理系统能够将面向对象的建模能力和关系数据库的功能实现了有机的结合,理论上来说都优于上述两种遥感影像数据库管理系统,还能将关系数据库系统缺点转换成优势,具有高度的扩展性、管理复杂遥感影像数据的能力也大大提高,用户通过自定义的功能和索引表达,对于各种类型的遥感影像数据实现访问、存储以及恢复等功能。

遥感影像数据对象一关系数据库管理系统通过开放SQL平台,可以最大限度的避免定义复杂对象的专有数据结构,使得遥感影像数据库管理系统的应用更加广泛。

4 遥感影像数据库管理系统建设的技术分析

随着遥感技术的不断发展,遥感影像数据量增长速度越来越快,在这样的背景下,必须要研发出一套高效的管理应用系统,将遥感影像的分发以及处理能力提升到新的高度,与此同时还需要很好的契合遥感影像数据制作影像海图等各方面应用需求。高效科学的遥感影像数据库管理系统建设成为了业内关注的焦点。鉴于此,文章对遥感影像数据库管理系统建设的总体构架以及相关的技术问题提出了几点愚见。

4.1 遥感影像数据库管理系统建设的总体架构

针对日常生产生活对遥感影像数据库管理系统提出的功能和要求,总的来说,系统的总体框架可以分成四层: 基础设施层、数据层、逻辑层和应用层。在这四个层次当中,基础设施层是整个遥感影像数据库管理系统运行的基础,主要包含了系统的软硬件运行环境以及网络运行环境的建设;第二层数据层对于整个遥感影像数据库管理系统来说,是非常关键的组成部分,也应该是建设的重中之重,其主要的功能是对采集的原始遥感影像、影像元数据以及矢量数据等等进行储存;而对于逻辑层来说,主要的工作就是对客户端访问遥感影像数据库所需的功能部件进行优化升级;最后的应用层主要就是对遥感影像数据库管理系统当中的集成影像进行日常的管理和维护,同时提供查询、分析以及分发等等功能。

4.2 遥感影像数据库管理系统功的能设计

结合上文对遥感影像数据库管理系统总体架构分析,所提出的四层主要架构需要实现的功能,可以将遥感影像数据库管理系统分为五个子系统。

4.2.1 质检入库子系统

遥感影像采集后需录入到系统当中,但是在此之前需要对遥感影像进行质检,主要检查的内容包括了遥感影像的完整性、一致性等等,并且通过工程化方式对遥感影像、元数据等等实现快速入库,支持断点续传、后台任务同时进行。

4.2.2 组织管理子系统

该子系统是对遥感影像数据管理的核心部分,主要对数据库当中遥感影像的参数进行配制、同时还包含了数据建模、数据备份以及数据共享等等应用,方便遥感影像数据的共享和管理系统的集成。

4.2.3 分发服务子系统

需要在系统中引入电子商务模式的影像分发服务,实现对数据库中遥感影像的查询、分发等功能,同时在改子系统当中提供开放的数据接口。

4.2.4 技术支援子系统

对入库的遥感影像数据进行规范化处理,包括了元数据的采集、快视图提取、镶嵌、配准等。

4.2.5 配置维护子系统

主要的工作是支持和维护遥感影像数据库管理系统的运行,提供一系列的安全管理配套功能,如用户管理、日志信息维护等。

结语

遥感技术随着社会经济的发展,应用越来越广泛,面对与日俱增的遥感影像数据,必须要建立一个强大的遥感影像数据库管理,这也是遥感影像发展的必然趋势。遥感影像信息系统核心技术设计的范围较广、难度较大,目前有很多的学者在进行这方面的研究,本文对遥感影像数据库管理系统的建设只是进行了粗浅的探讨,相信随着研究的深入和科技的发展,遥感影像数据库管理系统建设相关研究会更加的深入,遥感影像也会更加方便的应用于我们的各项工作当中。

参考文献

[1]黄杰,刘仁义,刘南,沈林芳,王娜. 海量遥感影像管理与可视化系统的研究与实现[J]. 浙江大学学报(理学版). 2008(06).

第8篇

络不法分子通过网络,局域网等途径通过入侵电脑使系统无法正常启动,或超负荷让机子运行大量算法,

并关闭CPU风扇,使CPU过热烧坏等破坏性活动;第二层是指系统信息安全,系统安全通常受到的威胁

如下,黑客对数据库入侵,并盗取想要的资料。

关键字:数据库;管理;技术

Abstract: The security database contains two meanings: the first layer is that the system is running security,the usual threats of system safe operation are a number of network criminals through the network, local area networks and channels such as the invasion of the computer system does not start properly, or let overload machine running a large number of algorithms, and turn off the CPU fan, to made the CPU overheating burned and other destructive activities; second layer refers to information systems security, system security was usually threats by as follows, a hacker invasion, the database and steal the information you want.

Key words: database; management; technology

中图分类号:TP31 文献标识码:A文章编号:2095-2104(2012)

数据库系统在管理数据和数据传输中起着至关重要的作用,数据库系统在实际应用中存在来自各方面的安全风险,由安全风险最终引起安全问题。

一、数据库安全的含义

数据库安全包含两层含义:第一层是指系统运行安全,系统运行安全通常受到的威胁如下,一些网络不法分子通过网络,局域网等途径通过入侵电脑使系统无法正常启动,或超负荷让机子运行大量算法,并关闭cpu风扇,使cpu过热烧坏等破坏性活动;第二层是指系统信息安全,系统安全通常受到的威胁如下,黑客对数据库入侵,并盗取想要的资料。

下面从晰面讲述数据库系统的安全风险。

二、数据库安全的特征

数据库系统的安全特性主要是针对数据而言的,包括数据独立性、数据安全性、数据完整性、并发控制、故障恢复等几个方面。下面分别对其进行介绍

1、数据独立性

数据独立性包括物理独立性和逻辑独立性两个方面。物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的;逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。

2、数据安全性

操作系统中的对象一般情况下是文件,而数据库支持的应用要求更为精细。通常比较完整的数据库对数据安全性采取以下措施:

(1)将数据库中需要保护的部分与其他部分相隔。

(2)采用授权规则,如账户、口令和权限控制等访问控制方法。

(3)对数据进行加密后存储于数据库。

3、数据完整性

数据完整性包括数据的正确性、有效性和一致性。正确性是指数据的输入值与数据表对应域的类型一样;有效性是指数据库中的理论数值满足现实应用中对该数值段的约束;一致性是指不同用户使用的同一数据应该是一样的。保证数据的完整性,需要防止合法用户使用数据库时向数据库中加入不合语义的数据

4、并发控制

如果数据库应用要实现多用户共享数据,就可能在同一时刻多个用户要存取数据,这种事件叫做并发事件。当一个用户取出数据进行修改,在修改存入数据库之前如有其它用户再取此数据,那么读出的数据就是不正确的。这时就需要对这种并发操作施行控制,排除和避免这种错误的发生,保证数据的正确性。

5、故障恢复

由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。

三、计算机安全问题的具体原因的分析

1、操作方面的问题来自操作系统的风险主要集中在病毒、后门、数据库系统和操作系统的关联性方面。

首先在病毒方面,操作系统中可能存在的特洛伊木马程序对数据库系统构成极大的威胁,数据库管理员尤其需要注意木马程序带给系统人驻程序所带来的威胁。一旦特洛伊木马程序修改了人驻程序的密码,并且当更新密码时,入侵者能得到新的密码。

其次在操作系统的后门方面,许多数据库系统的特征参数尽管方便了数据库管理员,但也为数据库服务器主机操作系统留下了后门,这使得黑客可以通过后门访问数据库。最后数据库系统和操作系统之间带有很强的关联性。操作系统具有文件管理功能,能够利用存取控制矩阵,实现对各类文件包括数据库文件的授权进行读写和执行等,而目操作系统的监拦褂能进行用户登录和口令鉴别的控制,因此数据库系统的安全性最终要靠操作系统和硬件设备所提供的环境,如果操作系统允许用户直接存取数据库文件,则在数据库系统中采取最可靠的安全措施也没有用。

2、管理问题用户安全意识薄弱,对信息网络安全重视不够,安全管理措施不落实,导致安全事件的发生,这些都是当前安全管理工作存在的主要问题。从已发生安全事件的原因中,占前两位的分别是“未修补软件安全漏洞”和“登录密码过于简单或未修改”,也表明了用户缺乏相关的安全防范意识和基本的安全防范常识。比如数据库系统可用的但并未正确使用的安全选项、危险的默认设置、给用户更多的不适当的权限,对系统配置的未经授权的改动等等。

3、数据库系统自身问题虽然绝大多数常用的关系数据库系统已经存在了十多年之久,并目具有强大的特性,产品非常成熟。但许多应诙具有的特征,在操作系统和现在普遍使用的数据库系统中,并没有提供,特别是那些重要的安全特征,绝大多数关系数据库系统并不够成熟。

四、数据库安全策略

1、对用户安全管理

Web数据库是个极为复杂的系统,因此很难进行正确的配置和安全维护,当然,必须首先要保证的就是数据库用户的权限的安全性。

当用户通过Web方式要对数据库中的对象(表、视图、触发器、存储过程等)进行操作时,必须通过数据库访问的身份认证。多数数据库系统还有众所周知的默认账号和密码,可支持对数据库资源的各级访问。因此,很多重要的数据库系统很可能受到威协。

用户存取权限是指不同的用户对于不同的数据对象有不同的操作权限。存取权限由两个要素组成:数据对象和操作类型。定义一个用户的存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的操作。

权限分系统权限和对象权限两种。系统权限由DBA授予某些数据库用户,只有得到系统权限,才能成为数据库用户。对象权限是授予数据库用户对某些数据对象进行某些操作的权限,它既可由DBA授权,也可由数据对象的创建者授予。

2、数据加密

数据安全隐患无处不在。一些机密数据库、商业数据等必须防止它人非法访问、修改、、拷贝。如何保证数据安全?数据加密是应用最广、成本最低廉而相对最可靠的方法。数据加密是保护数据在存储和传递过程中不被窃取或修改的有效手段。

数据加密系统包括对系统的不同部分要选择何种加密算法、需要多高的安全级别、各算法之间如何协作等因素。在系统的不同部分要综合考虑执行效率与安全性之间的平衡。因为一般来讲安全性总是以牺牲系统效率为代价的。

如果要在Internet上的两个客户端传递安全数据,这就要求客户端之间可以彼此判断对方的身份,传递的数据必须加密,当数据在传输中被更改时可以被发觉。

3、事务管理和故障恢复

事务管理和故障恢复主要是对付系统内发生的自然因素故障,保证数据和事务的一致性和完整性。

故障恢复的主要措施是进行日志记录和数据复制。在网络数据库系统中,分布事务首先要分解为多个子事务到各个站点上去执行,各个服务器之间还必须采取合理的算法进行分布式并发控制和提交,以保证事务的完整性。

事务运行的每一步结果都记录在系统日志文件中,并且对重要数据进行复制,发生故障时根据日志文件利用数据副本准确地完成事务的恢复。

4、数据库备份与恢复

计算机同其他设备一样,都可能发生故障。计算机故障的原因多种多样,包括磁盘故障、电源故障、软件故障、灾害故障以及人为破坏等。一旦发生这种情况,就可能造成数据库的数据丢失。

因此数据库系统必须采取必要的措施,以保证发生故障时,可以恢复数据库。数据库管理系统的备份和恢复机制就是保证在数据库系统出故障时,能够将数据库系统还原到正常状态。

加强数据备份非常重要,数据库拥有很多关键的数据,这些数据一旦遭到破坏后果不堪设想,而这往往是入侵者真正关心的东西。不少管理员在这点上作得并不好,不是备份不完全,就是备份不及时。

数据备份需要仔细计划,制定出一个策略测试后再去实施,备份计划也需要不断地调整。