数据库系统十篇

时间:2023-03-30 20:30:05

数据库系统

数据库系统篇1

专栏作家:陈明,男,中国石油大学教授,博士生导师,特聘教授,研究方向为分布式并行计算、计算智能、软件工程、大数据计算等,。

摘要:大数据的出现与不断发展促进了NoSQL数据库技术的发展及其产品应用,为大数据的存储、传输与处理创造了生态环境。文章介绍NoSQL数据库的产生过程、特点与潜力、存储方式与分类以及目前常用的NoSQL数据库系统。

关键词:大数据;NoSQL;非结构化

半结构化和非结构化是大数据的重要特征之一,如何将数据组织成合理的结构是大数据管理中的一个重要问题,也是一项重大技术挑战。

1、NosQL的产生

出现于1998年的NoSQL是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库。在2009年,Johan Oskarsson发起了一次关于分布式开源数据库的讨论,来自Rackspace(全球三大云计算中心之一)的Eric Evans再次提出了NoSQL的概念,这时的NoSQL主要指非关系型、分布式、不提供ACID的数据库设计模式。2009年在亚特兰大举行的no:sql(east)讨论会是一个里程碑,会上对NoSQL最普遍的解释是非关系型的,强调键—值对存储和文档数据库的优点,而不是单纯的关系型数据库。

NoSQL是Not Only SQL的简写,其含义是“不仅是结构化查询”,是不同于传统的关系型数据库的数据库管理系统的统称。NoSQL与SQL的最显著的区别是NoSQL不使用SQL作为查询语言,其数据存储不需要固定的表格模式,也避免使用SQL的JOIN操作,具有水平可扩展性。NoSQL的实现具有两个特征,使用硬盘或者尽可能把随机存储器当作存储载体。

关系型数据库中的表存储的都是一些格式化的数据结构,每个元组字段的组成都一样,即使每个元组都需要所有的字段,但从另一个角度来说它是导致关系型数据库性能瓶颈的一个因素。而非关系型数据库以键-值对存储的结构不固定,每一个元组可以有不一样的字段,可以根据需要增加键-值对,这样就不会局限于固定的结构,可以减少时间和空间的开销。

NoSQL是水平可扩展的数据库。水平扩展性指能够连接多个软硬件的特性,这样可以将多个服务器从逻辑上看成一个实体。NoSQL主要用于大规模的非关系型数据存储,具有模式自由、支持简易复制、简单的API、最终的一致性一(非ACID)、大容量数据等特性。除键-值对存储方式外,NoSQL还有文档存储方式、列存储方式、图形存储方式、XML存储方式等。

2、NoSQL特点与潜力

CAP、BASE和最终一致性是NoSQL数据库存在的3大基石。NoSQL存储满足了数据存储的横向伸缩性的需求。一些开源的NoSQL体系,如Facebook的Cassandra、Apache的HBase等都得到了广泛认同。

2.1 特点

(1)运行在PC服务器集群上。PC集群非常方便并且成本很低,避免了传统商业数据库共享操作的复杂性和高昂成本。

(2)突破了性能瓶颈。通过NoSQL架构可以省去将Web或Java应用和数据转换成SQL格式的时间,执行速度快。

(3)没有过多的需求。虽然关系型数据库提供了无可比拟的功能集合,而且在数据完整性上也绝对稳定,但是企业的具体需求可能没有那么复杂。

(4)支持者源于社区。因为NoSQL项目都是开源的,因此它们缺乏供应商提供的正式支持。与大多数开源项目一样,NoSQL项目不得不从社区中寻求支持。

(5)弹性扩展。NoSQL数据库从设计之初就是为了利用新节点的优势进行透明扩展,通常在设计时就考虑使用低成本的廉价硬件。多年来,当数据库的负载增加时,技术上多采用“纵向扩展”(安置更大型的服务器来承载增加的负载)而不是“横向扩展”(在多台主机上分配增加的负载);但随着交易率和可用性需求的增加,数据库也正在迁移到云端或虚拟化环境中,横向扩展更为明显。

(6)大数据量。为了满足数据量增长的需要,关系数据库的容量日益增加,单一数据库需要管理的数据约束的数量也变得越来越大。通过NoSQL,系统能够处理的数据量远超出了最大型的关系数据库所能处理数据的极限,如Hadoop开源软件处理的数据规模。

(7)灵活的数据模型。键-值对存储与文档存储的NoSQL数据库允许应用任何结构,即使是定义更加严格的BigTable NoSQL数据库通常也允许创建新的字段。

2.2 NoSQL的潜力

NoSQL数据库除了具有灵活的可扩展性和支持大数据量存储外,与关系数据库相比具有如下潜力。

(1)降低管理的要求。虽然关系数据库在可管理性方面作出了很多改进;但是高端的关系数据库系统维护费用仍然十分昂贵,而且还需要DBA参与高端的关系数据库系统的设计、安装和调优。NoSQL数据库从一开始就是为了降低管理方面的要求而设计的,从理论上来说,自动修复、数据分配和简单的数据模型的确可以降低管理和调优方面的要求。

(2)经济效率高。NoSQL数据库通常使用廉价的服务器集群来管理数据和事务数量,而关系数据库通常需要依靠昂贵的专用服务器和存储系统来完成这项工作。使用NoSQL可使每GB的成本或每秒处理事务的成本都比使用关系数据库少很多倍,即以花费更低的成本存储和处理更多的数据。

(3)灵活的数据模型。对于大型的RDBMS来说,变更管理是一件很困难的事情。即使只对一个RDBMS的数据模型作很小的改动,也许还需要停机或降低服务水平。NoSQL数据库在数据模型约束方面更为宽松,其中的键—值对数据库和文档数据库可以让应用程序在一个数据元素中存储任何结构的数据。

3、NoSQL的主要类型

基于存储方式的不同,可将NoSQL数据库分为文档式存储、列式存储、键-值式存储、对象式存储、图形式存储和XML存储的NoSQL数据库。表l所示的内容就是各种典型的NoSQL数据库产品,它们之间也有交叉,如TokyoCabinet/Tyrant的Table既可以划为键-值式存储类型,又可以理解为文档型存储类型。

NoSQL数据库也可以按使用的不同语言类型进行分类,有的NoSQL数据库用C/C++编写,有的用Java编写,还有的用Erlang编写,每种NoSQL数据库都有独到之处,用户可以根据需要选择使用。

3.1 文档式存储NoSQL

文档存储式NoSQL数据库又简称文档数据库,其存储的内容为文档型数据,主要解决的问题不是集中于高并发读写操作,而是保证海量数据存储,同时具有良好的查询性能。存储式NoSQL数据库主要面向集合存储:

(1)文档相当于关系数据库中的一条记录;

(2)多个文档组成一个集合,集合相当于关系数据库的表;

(3)多个集合逻辑上组织在一起就是数据库。

例如,文档数据库(MongoDB)中的一个文档为:

3.2 键-值存储式NoSQL

键-值存储式NoSQL数据库是最常用的NoSQL数据库,它的数据以键-值的形式存储,虽然它的处理速度非常快,但基本上只能通过键的完全一致查询来获得数据。基于数据保存方式可分为临时式、永久式和混合式3种。临时式方式主要特点是:在内存中保存数据,数据有可能丢失,可以快速保存和读取。永久式方式的主要特点是:在硬盘上保存数据,数据不会丢失,可以快速保存和读取,但速度比临时式慢。混合式集中了前两种方式的优点,先将数据保存在内存中,在满足特定条件后将数据写入硬盘,主要特点是:同时在内存和硬盘上保存数据,可以快速保存和读取数据,保存在硬盘上的数据不会丢失,适于处理数组类型的数据。键-值存储式NoSQL数据库按照键-值对的形式进行组织、索引和存储数据。键-值对存储非常适合不涉及过多数据关系和业务关系的数据,能有效减少读写磁盘的次数,比SQL数据库存储拥有更好的读写性能,因为它不考虑值的存储格式,直接用键值快速查询到所需值。键-值存储式NoSQL数据库的主要特点是具有极高的并发读写性能,如BigTable是Google设计的分布式数据存储系统,是用来处理海量数据的一种非关系型数据库。

3.3 列式存储NoSQL

列式存储NoSQL可以实现按列存储数据,最大的特点是方便存储结构化和半结构化数据,方便数据压缩,对于某一列或某几列的查询有非常大的I/O优势。

在列式存储中,列簇(ColumnFamily)、超列(Super Column)和列(Column)是重要的概念。列簇和超列在数据库中不占空间,也就是说如果它们没有值,它们只占用0个字节,列簇与传统数据库中的表类似,但和表又不一样,在列簇中的唯一定义是名称和键排序选项。

(1)列:列是一个由名称、值和时间戳组成,可忽略时间戳,将前两者当作一个键—值对。

(2)超列:超列是一个字典,它是一个包含其他列的列,但不能包含另一个超列。

(3)列簇:—个列簇中的所有数据都将保存在相同的文件中,—个列簇可以容纳多个超列或列。

3.4 对象式存储NoSQL

对象式存储NoSQL可以通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。

3.5 图形式存储NoSQL

图形式存储NoSQL是图形关系的最佳存储方式,如果使用传统的关系数据库来解决则带来性能低的问题,而且设计也不方便。如AllegroGraph、DEX、Ne04J、FlockDB等数据库都是NoSQL数据库。

3.6 XML式存储NoSQL

XIVIL存储方式的NoSQL能够高效存储XML数据,并支持XML内部查询语法。

4、NoSQL系列发展现状

计算机体系结构在数据存储方面要求应用架构具备庞大的水平扩展性,这是分布式系统的一个重要标志。分布式系统设计遵循CAP定理,在一致性、可用性和分区容错性3个核心需求不可全得,关系数据库主要满足一致性和可用性两个核心需求,。特别是要求强一致性,主要是通过数据库锁或JTA/JDBC事务实现,对于这种苛刻的一致性要求,很难实现分区容错性;而NoSQL数据库主要满足可用性和分区容错性两个核心需求,在一致性方面采用了最终一致性,这是一种弱一致性。下面列举几种NoSQL数据库。

4.1 Cassandra

Cassandra是一个云计算方面理想的数据库。它集成了Solr等流行工具,现已成为一个完全成熟的大型数据存储工具。Cassandra是一个混合型非关系型数据库,类似于Google的BigTable。Cassandra是由多个数据库节点共同构成的一个分布式网络服务系统。对Cassandra的一个写操作将被复制到其他节点上去,而对Cassandra的读操作也将被路由到某个节点上面去读取。

4.2 Lucene/Solr

Lucene/Solr是一个开放源代码的全文检索引擎工具包。它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,采用了与其他NoSQL数据存储相似的模型。如果查询并不是仅仅局限于精确匹配,而是寻找出那些出现在块中的字或者字段,那么Lucene/Sok是最好的查询手段。

4.3 Riak

Riak是由技术公司Basho开发的一个类似Dynamo的分布式键一值对系统;具有分布式、水平扩展性、高容错性等特点。在Riak中,Map/Reduce函数只能使用JavaScript或者Erlang来编写。该系统还为类似于Solr的搜索提供全文索引,同时还提供一个控制面板,可以查看集群信息。

4.4 GOUChDB

CouchDB是用Erlang开发的面向文档的数据库系统,其数据存储方式类似Lucene的index文件格式。CouchDB是一个面向Web应用的新一代存储系统。作为一个分布式的数据库,CouchDB可以把存储系统分布到多台物理节点上,并且很好地协调和同步节点之间的数据读写一致性。CouchDB支持REST API,可以让用户。使用JavaScript来操作CouchDB数据库。

4.5 Neo4J

Ne04J存储的是对象之间的关系,或者说这种结构就是数学中的图。Ne04J是一个面向网络的数据库,即它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络上,而不是存储在表中,当然也可以把Ne04J看作是一个高性能的图引擎,该引擎具有健壮的数据库的所有特性。Ne04J包括很多有关搜索和分析的关系算法,利用这些图的遍历算法,可以减少指针查询的开销。

4.6 HBase

HBase(Hadoop Database)数据库是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,可在廉价PC Server上构建大规模结构化存储集群。HBase是开源软件,与Google BigTa。ble类似,BigTable利用GFS作为其文件存储系统,而HBase利用I-IDFS作为其文件存储系统;Google运行MapReduce来处理BigTable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据。

4.7 BigTable/Accumulo/Hypertable

BigTable是非关系型数据库,是一个稀疏的、分布式的、持久化存储的多维度排序映射。BigTable能可靠处理PB级的数据,并且能够部署到上千台机器上。BigTable具有适用性广泛、可扩展、高J陛能和高可用性。

4.8 BynamoDB

DynamoDB是亚马逊的键一值对模式的存储平台,可用性和扩展性都很好,读写访问中99.9%的响应时间都在300 ms内。DynamoDB的NoSQL解决方案也是使用键一值对存储的模式,并通过服务器把所有的数据存储在SSD上的3个不同的区域。如果有更高的传输需求,DynamoDB也可以在后台添加更多的服务器。

数据库系统篇2

关键词:关键词:数据库管理系统数据库安全模型安全性数据库安全数据库中间件(DBSAPI)

中图分类号:TP393.08    文献标识码:A    文章编号:

    1. 访问控制模型

    访问控制模型是从访问控制的角度描述安全系统并建立安全模型的方法。主体依据某些控制策略或权限对客体本身或资源进行的不同授权访问,称为访问控制,访问控制的三要素为主体、客体和控制策略,它的内容则包括认证、控制策略实现和审计。目前,访问控制模型可分为自主访问控制(Discretionary

Access Control)、强制访问控制(Mandatory Access control)和基于角色的访问控制(Role Based Access

Control)。

    自主访问控制模型(DAC)的特点是:允许合法用户以用户或用户组的身份访问规定的客体并阻止非授权用户访问客体。DAC的主要表现形式为目录式访问控制、访问控制表、访问控制矩阵和面向过程的访问控制。DAC的优点是简单易操作,缺点是安全性较低。这是由DAC的特点导致,因操作系统无法区别哪种修改是用户的合法操作还是病毒或黑客的非法操作,所以系统容易受到病毒感染和黑客攻击。

    强制访问控制模型(MAC)的特点是:系统对访问主体和受控对象实行强制访问控制,系统先根据事先分配的安全级别属性对访问主体和受控对象的安全级别属性进行比较,然后决定其是否可以进行访问。由于MAC模型采用分级安全标识,从而实现了信息的单向流动,其最大的优点是有效地防止机密信息向下级泄漏及有效地保护数据的完整性。但缺点是使用不灵活,工作量大且管理不便,由于MAC模型过于强调保密性,因此其应用范围也受到限制。

    基于角色的访问控制模型(RBAC)的特点是:将访问权限于角色对应联系起来,通过分配给用户的适当角色,使用户与访问权限相联系,即在RBAC中,角色的作用类似于中介,主体与客体的联系通过中介来沟通。RBAC的优势在于它将数据资源访问许可封装在各种角色中,不同的角色对应不同的用户,角色或用户可以灵活地转换变化,而且RBAC也非常贴近日常生活。

    2. 数据库安全操作

    2.1 数据库驱动程序的安全扩展

    结构化查询语言的英文缩写是SQL。在数据库中的存取接口上,可使用扩展标准的SQL语言,执行对象定义、数据操纵、权限管理、流程控制等操作,从而实现对数据库中机密信息的加密和完整性保护。实际工作中,对于关系数据库的扩展操作,通常选用SQL DDL和SQL DML语言,同时,通过 ODBC、IDBC、BDE等数据库程序控制存取数据库中的表格、记录和字段,进一步对用户操作方面进行日志记录和审计,从内部加强关系数据库的存储和存取安全。这种方式的好处是简便易行,并且不会对数据库系统的基本性能造成大的改变。

    当进行安全扩展时,在常规数据库驱动程序中增加审计日志管理、完整性验证、密钥管理和数据加解密安全扩展模块,例如,数据库审计日志和存储加密密钥等与安全相关的信息,从而提高数据库的安全性。同时,增加加密算法设置、更新和主密钥设置等安全属性,进一步提高SQL语句的安全性。

    2.2 数据库安全数据视图

    标准的SQL Server 数据库安全模型由用户、SQL Server 登录、权限和基本表组成,其安全认证通过数据库对用户所输入的帐号和口令进行确认,它包括确认用户的帐号是否有效、能否访问系统、能够访问哪些数据等。此安全模型的特点是将权限赋予表,用户在需要查询及更改数据时,直接对表进行存取,只要用户有对表的Select权限,便可以检索表中所有的信息。然而,大多数数据库中的数据是非常机密或涉及个人隐私的,这就要求对信息本身划分为不同的保密级别,例如国家机密、商业秘密和个人隐私等就不能简单地划分为公开和保密两类,而是需要更细致的分类,可细分为多级保密级或不同的保密级。在多级保密系统中,不同的保密级别被赋予不同的数据项,再根据数据项的不同细分项,给存取本数据项的操作赋予不同的级别。SQL Server通用安全模式显然不能将数据项细分,这是因为用户有对表的Select权限,可直接存取存储数据的数据库表。采用基于视图的数据库安全模型是解决问题的方法之一。在SQL中,把传统的关系模型中的子模式称为视图(VIEW),视图是从若干基本表和其他视图构造出来的表。基本表为“实表”,是实际存放在数据库中的表。视图则称为“虚表”。创建一个视图时,只把视图的定义存储在数据词典中,而不存储视图所对应的数据。在关系数据系统中为不同的用户定义不同的视图,对无权存取这些数据的用户,通过视图机制,把要保密的数据隐藏起来,这种方法是实现视图并只授权访问视图。若使用该方式,用户只能访问在生成视图时返回的数据。视图机制使系统具有数据安全性、数据逻辑独立性和操作简便等优点,视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次都指定全部的条件。视图和存储过程,就好像一座架设在用户与底层表之间的桥梁,用户的操作只能针对视图和存储过程进行,而无法直接访问底层表。

    3. 数据库中间件(DBSAPI)的应用

    数据库中间件是连接用户和底层数据库之间的系统软件或服务程序,主要用于屏蔽异构数据库的底层细节问题,是客户与后台的数据库进行通讯的桥梁。中间件可减少对数据的直接读取,能对数据起到一个缓冲作用,安全且高效。当客户发出对某个数据库的SQL请求时,依次进行语法词法分析、加密字典和检索访问控制,再根据加密定义和访问控制进行相关操作,然后提交给DBMS做数据提取处理;即由数据库中间件搜索匹配的数据库连接,并将SQL请求转发给对应的数据库服务器,然后对数据库进行操作。这种方式访问数据库,最大的好处就是安全性,因为中间件的服务是定制的,应用程序只能通过中间件接到数据库。所以,应用程序无法做中间件服务之外的事情。只要将所需的应用逻辑写在中间件中,就可以保证数据的安全性。

参考文献:

数据库系统篇3

    一、前言

地方文献是我国公共图书馆藏书建设的重要组成部分。这些出版物记载和反映了当地社会发展的历史进程,是国家的重要资源和财富。目前,地方文献工作在我国省市、自治区公共图书馆已受到普遍重视,许多馆建立了地方文献专藏,对文献的收集、整理、报道和利用做了大量工作,为当地的四化建设发挥了积极的作用。但是,我国的地方文献工作基本上还是沿用传统的理论和方法,在各方面已远不能适应当今信息社会的要求。在今天新技术革命浪潮蓬勃兴起的形势下,公共图书馆的地方文献工作怎样才能适应时代的需要这一重要课题,已历史地摆在我们图书馆工作者的面前。我们认为,面对新技术革命的挑战,地方文献工作必须实现现代化,才能使传统的地方文献工作获得新的发展,从而达到促进地区出版物资源共享的目的。基于这种认识,我馆在原有地方文献工作的基础上,开始用电脑建立地方文献数据库。经过一年多的研制,该数据库已初步建成并投入使用。为与国内同行交流,本文对该数据库系统作简要介绍。

二、收录范围与文献源

建立地方文献数据库,首先要明确收录范围和解决文献源问题。对地方文献的收录范围,我馆前馆长杜定友先生曾提出过著名的“史料、地方出版物和地方人士著述”三部分的论述。在杜定友先生的倡导下,我馆致力于地方文献的收集工作,建立了广东地方文献专藏。根据我馆地方文献的收集入藏情况,我们拟定了地方文献数据库收录范围的原则:

1.具有广东地方特点,并有一定学术、史料价值的文献资料(包括有地方特点的科技文献)。

2.反映本省人物(包括广东籍知名人士以及在广东有过影响的非广东籍人士)生平、传记、事迹的文献资料。

3.有广东地方特点的本省出版物和外省出版物。

4.广东人士著述(拥有地方特点的文献资料部分)。

对不予收录的文献,也作了如下规定:             

1)虽是地方出版物,但内容并无地方特点的文献资料。

2)作者虽是广东人士,但文献内容并无地方特点的著述。

3)无地方特点的科技文献。

4)印刷质量差,内容贫乏的非正式出版物。

5)同收录原则相悖的其它文献资料。

具体的收录范围有24项。

地方文献数据库所收录文献的类型包括:专著,期刊、报纸、会议录、汇编、学位论文、科技报告、专利文献、手稿、地方志、族谱、检索工具、参考工具、图表、古籍等。其中检索工具包括反映本省图书馆馆藏的各种书目、文摘、联合目录;图表包括地图、气象图、地质图;参考工具包括年鉴、手册等;专利文献只限于本省单位和个人申请的国内外专利;报纸限于本省出版报纸的目录。

广泛征集地方文献资料,保证地方文献数据库有充足的文献源,是建立地方文献数据库极为重要的一环。我馆地方文献工作,早在解放前即已引起重视。建国后,更加广泛深入地开展了地方文献的收集和整理工作。省人民政府曾先后发出三个关于地方文献工作的文件,指定我馆为全省地方文献的征集工作机构和收藏中心,要求各级人民政府和各企事业单位,将所出版的文献资料无偿向我馆缴送二册,这为征集地方文献打下了良好的基础。在全省各有关单位的大力协助下,经过几十年的努力,我馆已逐步建立起拥有18万册,在海内外有一定影响的广东文献专藏,形成了广东文献的收藏中心。这是建立地方文献数据库的基础。

建立地方文献数据库,在确定收录范围的同时,还要认真选择和挖掘文献源。因为地方文献包括了反映当地历史和现状的文献资料,数量以万计,内容极为繁杂。图书馆应该首先选择利用率高,有一定学术和史料价值的文献存贮进电脑,其中科技文献应占有相当的比例。这是时代的要求。因此,我馆在建库前对文献源的选择进行了较深入的研究,最后决定从现代期刊入手,对符合收录范围的期刊论文进行著录标引,然后输入电脑。目前文献的前处理工作正顺利进行,现已标引出地方文献资料8,000多篇,输入电脑5,000篇。对于其它类型的文献资料,今后将有计划按步骤地进行输入,从而逐步建立起我省的地方文献数据库。

三、数据库系统目标与模式

作为地方性情报检索系统的地方文献数据库,其总目标是:收录和存贮反映本省历史和现状的地方文献资料目录,编辑出版综合性的地方文献通报(书目)和各种专题的地方文献目录,为当地党政军领导机关和各科研生产单位提供文献检索服务;作为地方文献的查目中心,将通过联机网络同当地的主要图书情报部门联网,逐步实现地方文献的联机编目和检索,从而促进地区性的资源共享。

为了实现上述目标,我们根据本省的实际情况,为地方文献数据库设计了下述模式:

1.选择具有良好汉字处理功能的远程通讯能力的微型电脑作为数据录入工作站和脱机检索系统,这一系统配有完整的外部设备,可独立进行地方文献书目数据的录入、检索和编辑出版地方文献通报。对已输入电脑的大量数据,可转贮到软盘,为将来在中、大型电脑上建库作好数据准备。我馆已购置了四套IBM5550中文电脑,其中一至二套用于地方文献数据库的建库工作。

2.设置电脑联机通讯线路,同当地计算中心的中、大型机联网。利用主权的计算机资源建立地方文献数据库,一般可存贮几百万篇的文献,从而为实现地方文献书目数据的资源共享打下基础。我馆已同省计算中心达成协议,利用该中心引进的IBM 4341主机建立地方文献数据库,并在86年二月成功地进行了利用市内话线联机通讯的试验,计划在明年内实现我馆IBM5550同主机的联网。

3.在本馆购置中、小型主机后,将进一步完善地方文献数据库系统,在省、市领导机关和主要科研机构设置检索终端,并同当地的主要图书情报部门联网,进行联机编目和检索,从而使地方文献数据库真正达到资源共享的目的。

4.把电脑同缩微技术结合起来,实现地方文献资料的全文检索。我馆准备在条件具备时,购置一套16毫米的缩微拍摄设备,用于拍摄地方文献资料。在数据库中检索命中的文献,可根据其文献号,在缩微阅读机上获得原文。

在我省有关部门的大力支持下,经过全馆同志的努力,广东地方文献数据库的系统目标正在逐步实现。目前,在IBM 5550微机上已实现了以下功能:

1)地方文献书目数据的录入与存贮。针对地方文献具有多种类型的特点,本数据库根据国家文献著录标准,设置了多种文献类型的自动格式识别程序,不但提供了完善的人机对话录入和修改方式,而且能够对录入的书目数据自动进行著录格式的自动识别,从而使书目数据达到标准化的要求。

2)编辑和打印综合性检索刊物《广东文献通报》。该刊物以及时报道我馆新入藏地方文献为宗旨,两月出版一期。每期通报正文约70页,按《中图法》分类体系排列,并附有地区索引,方便县、市图书馆、档案馆等有关单位从地区途径查找文献。从86年五月起,至今已出版文献通报六期及通报的年度累积索引一册。

3)自动编目功能,数据库系统可根据输入的地方文献书目数据,自动生成数据库倒排文档,供文献检索之用。另外,还可根据指定的专题,编制各种类型的地方文献专题书目,以及编制地方文献的累积本。

4)文献检索功能。因受1BM 5550系统外存的限制,目前数据库的存贮容量为25,000篇文献。如将外存扩大到40MB,数据库容量将可扩大到10万篇。在此范围内,用户可从篇名、著者、分类、主题、地名等五个途径进行联机检索,并允许用多个主题词或多个检索途径进行组配,以提高检准率。输出结果既可在屏幕显示,也可以用打印机输出。

5)词表管理功能。数据库系统可对地方文献标引词表、地名表和机内分类表进行插入、修改、删除等项操作,并提供编辑打印词表的功能。目前我馆已编制出《地方文献标引词表》、《广东省地名表》和《地方文献数据库分类表》。

6)地方文献征集和标引管理功能。数据库能为地方文献中的连续性出版物建立档案,并有催索、记到、装订以及标引管理等功能,可以对地方文献征集和标引实现科学管理。

除了上述功能外,我们计划在87年上半年前,为该数据库增加MARC机读目录生产、远程联机通讯等程序,使数据库的各种功能进一步完善。

四、数据库的设计与实现

本数据库系统使用IBM5550高档微机作处理机,其主要技术性能指标为:主机内存512-640KB,15英寸高分辨度显示器、24针汉字打印机和键盘各一台,可配8.1或20MB硬盘及5.25英寸软盘各一台。操作系统为IBM5550中文DOS(由MS-DOS演变而来),配有BASIC、COBOL、PASCAL、TORTRAN以及宏汇编等程序设计语言,还有dBASE2.0、DBASE3.0、SORT/MERGE、CWP、WORDSTAR、LOTUS 1-2-3等软件。该机具有良好的多语种处理功能(中、英、日、俄均可处理)和远程联机通讯能力。屏幕显示和打印输出字形美观。根据上述计算机资源的特点和省级公共图书馆地方文献工作的业务流程,我们首先进行了数据库的总体设计。该数据库分为文献库、期刊库、词表库三大部分:文献库实现各种地方文献资料目录的存贮和检索(包括打印);征集库实现连续出版物(包括图书)的征集管理;词表库实现广东地方文献标引词表的管理。所有程序在总控程序的调度下分块进入内存运行。

总体设计方案确定后,使用什么语言实现?开始我们考虑用DBASE3.0。但后来经模拟试验和论证,发现dBASE3.0用于开发文献型的数据库系统并不理想,原因是(1)记录字段不能适应书目数据可变长的特点;(2)不能使用数组,而且程序变量限于128个,响应速度慢;(3)如作组配检索一般要几十秒的等待时间;(4)难以实现人机对话方式的检索,即在检索过程中无法修改检索策略。基于上述原因,我们决定用编译BASIC进行系统开发。在开发的过程中,尽可能采用自顶向下、分块实现、逐步求精等行之有效的软件开发技术,仅用了四个多月的时间,就完成了程序的设计和调试。经过半年多的试运行,根据暴露出的问题,我们又对程序作了较大修改,形成了第2版本。目前该系统的源程序共有4,000多行,17个运行模块(占260KB)。以下对本数据库的文件结构和主要算法作简要介绍:

(一)文献库

文献库的任务是通过书目控制字段实现书目控制;按国家标准录入和存贮文献记录;编辑和打印各种书目;提供多途径的文献检索手段。文献库共设置了书目控制文件、主数据文件和倒排文件。

1)书目控制文件—该文件采用杂凑随机文件结构,每个记录由书目记录控制关键字、文献地址和冲突链组成(见图1)。每个记录的控制关键字,首先考虑用ISBN号(我国今年出版的图书开始使用该号)。对没有该号的图书文献,采用下述方法取号:

①整本文献和非书资料,用:题名首字符+著者末字符+地区代码+出版年+页数。

②析出文献用录入号(即系统分配的顺序号)。

书目控制关键字的取号要求是唯一性较为方便。本系统通过该文件将可对所有输入数据库的书目记录进行控制,实现快速查找或修改。

2)主数据文件—该文件采用固定长记录可变长字段的随机文件结构,记录长256字节。如有数据溢出,溢映部分将存入溢出文件中。本系统将所有书目数据划分为3种类型:整本文献、析出文献和非书资料。每种类型的字段虽有不同,但可存贮于同一数据文件中,通过文献类型代码进行识别。为便于新数据的处理,本系统又将主数据文件分为新书文件和数据库主文件两种。新录入的数据暂存于新书文件中,待打印出文献通报和地区索引后,再合并入数据库主文件。数据库主文件的记录是按文献通报的顺序号排列的。主数据文件的记录字段考虑了同国家机读目录的一致性,在必要的时候可通过一个格式转换程序,把书目数据的系统内部格式转换为标准格式,以利于资源共享。本系统的书目记录输出,采用了汉字取整装配技术,并按国家文献著录标准在各著录项目中加入分隔符号。

3)数据库倒排文件---该文件采用二级索引结构:第一级是杂凑随机文件,每记录分为前链和后链两个字段。第二级是顺序随机文件,每记录分为文献地址和后链两个字段。这样,一级索引作为检索入口指向二级索引,二级索引通过每个记录的后链集中了相关文献,通过文献地址就能查得所需文献。图2为示意图。采用这种文件结构的文献检索算法如下:

①接收一个检索表达式KEYS

②生成提问表(即把表达式中的关键字存入检索比较工作区)

③生成检索逻辑尺

④根据工作区中元素的映射地址(杂凑)取出前链R

⑤从R指示地址在二级索引中取出真正的文献地址后链L

⑤按B指示地址在主数据文件中读出一个书目记录

⑦将该记录同工作区元素作字符串比较,得到其文献逻辑值

⑧文献逻辑值同检索逻辑尺作比较,符合者为命中文献

⑨判L等于零?是则检索结束,否则LR,转⑤

我们认为,这种以二级索引文件结构为基础,用杂凑映射作为快速寻址,用逻辑尺进行二次精确检索的算法,是一个新颖有效的算法。同时,在索引中仅存贮指针,可比传统的索引文件节省75%的空间。本系统首次检索的响应时间均低于2秒,二次检索的响应时间则因检索式的复杂程度而有不同程度的减慢。

 

(二)词表库

词表库的任务是对存贮在机内的地方文献标引词表进行查询和管理。本系统词表文件可分为主表和付表文件,主表存贮正式标引词,付表存贮同义词。为了实现首词集中和快速查词的目的,还设置了词表入口文件。图3为示意图。

1)词表入口文件--该文件为映射随机文件,每记录仅存第一个标引词的地址,通过该词第一个汉字的ASCLLI码映射寻址。

2)主表文件--该文件为随机文件,每记录由标引词字段和后链组成。通过后链便可查到首字相同的所有标引词。

3)付表文件--该文件为顺序文件,用于存贮正式标引词的同义词。

本系统通过上述文件结构和算法,已在机内建立了拥有4,000多个标引词的词库,实现了标引词快速查找、首词集中显示、标引词扩检与缩检、同义词参见和词表打印等功能。

(三)征集库

征集库的任务是建立地方文献连续出版物档案,实现征集工作的现代化管理。征集库的文件主要有刊号控制文件、现刊管理文件、期刊主文件、记到数据文件。

1)刊号控制文件---该文件用于存贮每种广东期刊的刊号(包括邮局刊号和内部期刊登记号),对数据库的期刊进行控制,其结构为杂凑随机文件。每记录有刊号和文献地址两个字段。

2)现刊管理文件---该文件用于存贮每种期刊的刊名、刊号、索取号、出版单位、地址、装订周期等管理数据,其结构为顺序随机文件。

3)期刊主文件---该文件用于存贮每种期刊的基本著录事项。每记录长256字节,溢出部分存入溢出文件。

4)记到数据文件---用于存贮每种期刊的记到数据,每种刊作为一个逻辑记录,采用二维数组结构。该文件以年为单位存贮数据,即每年生成一个记到文件。

以上文件的每个记录均存在映射关系,即每种期刊记录在不同文件中的地址是一致的。只要在刊号控制文件中查得某刊的地址,就可在各个文件中访问有关记录。由于我们采取了合理的文件结构,因而能使系统适应期刊经常发生的创刊、合刊、增刊、停刊、改刊期、改刊名、改发行方式等动态变化,有较强的实用性。这点对于地方文献征集工作的电脑化管理是至关重要的。

五、地方文献的著录与标引

为了达到资源共享的目的,地方文献的著录与标引也必须实现标准化。我馆在建立地方文献数据库的过程中,对地方文献的著录和标引的标准化十分重视,采取了下面的一些做法:

1.在进行数据库总体设计的同时,请本馆有丰富文献工作经验的同志组成科研课题组,起草制定了《文献标引员手册》。该手册对数据库的收录范围、文献著录标引工作细则、文献通报编制体例等都作了规定。从而为文献著录标引工作的标准化奠定了基础。

2.在建库前,对文献标引员进行业务考核,选择工作责任心强,经过图书馆专业培训,有三年以上图书馆工作经验,并有一定文献工作实践的同志担任文献标引员。

3.印制地方文献书目数据录入工作单,要求文献标引员根据国家文献著录标准进行著录,并按录入单格式进行填写。这样可以减少因不熟悉著录格式而产生的错误。

4.标引员标引的数据录入单,由数据库文献工作组最后审核定稿。审核的内容包括:著录文献的选题、著录的格式、分类和主题标引。在实践中我们感到,标引文献的审核,对提高数据库的文献质量,有着十分重要的作用,因此,应由有较高业务水平的同志负责把关,并注意保持文献标引人员队伍的相对稳定。

5.数据库书目数据均采用《中图法》分类体系。对同一文献的多个主题,尽量采取了组配方式生成分类号,以便充分发挥电脑多途径检索的优势。

6.以《汉语主题词表》为基础,根据地方文献的特点编制文献标引词表。《汉语主题词表》是一部综合性的文献标引工具,收词多而广泛。但由于《汉语主题词表》的编制是从全国范围的通用性来考虑的,对标引地方独特事物,便缺乏实用性。因此,我们在力求使用词表中正式主题词的同时,根据地方文献标引的需要,使用了许多“表外词”,有些地方,还对词表的规定作了一些变动。这可以从两方面来说明:

1)由于新概念的大量涌现,词表未及收入的新学科、新事物的新名词,现已形成可描述的叙词,例如:“经济法”、“经济纠纷”、“体制改革”、“第三产业”、“信息业”、“港元”……等等。它们在文献中出现的频率很高,但没有合适的直接上位词可用,也没有合适的概念接近的词可用,我们就把这些词作为正式词使用。

2)由于地方文献的特性需要,常常为综合性大型词表所难以照应,如名胜、古迹这一范畴内,就只列了“圆明园”等15个词,其中除“黄鹤楼”“孔庙”等词外,多数是北京地区的名胜古迹,这确实是不合用也不够用的。对这类情况我们作了一些调整。如词表规定,“东江纵队”、“琼崖操队”统用“华南抗日游击队”,也就是以上位概念取代具体事物,这从全国范围的检索需要来看可能是合理的。但从本地区出发,“东纵”和“琼纵”却是专指性极强的词。这两支革命武装有各自不同的历史、活动地区、代表人物文献量又很大。因此,我们改变“用”、“代”关系,不用“华南抗日游击队”,而直接用“东江纵队”、“琼崖纵队”。有些类似情况而文献量不大的,则采用直接上位词做正式主题词,加地方特有事物的关键词,以“,”号倒置。如“寺庙,华南寺”、“寺庙,光孝寺”、“刺绣,广绣”、“刺绣,潮绣”等。“,”号后的关键词,仅起限定和说明的作用,不参加累积索引的轮排,也不作为检索入口。凡地方事物、事件、人物而没有相应的主题词的,如:“黄埔军校”、“丘逢甲”等等,则一律标关键词。我们对这些使用过的关键词,也注意了规范。

六、结束语

数据库系统篇4

关键词:数据库信息系统;数据字典;应用

一、 数据库信息系统数据字典中数据的获取途径

数据库中对数据进行归类整理后形成的数据集便称作数据安典。数据字典具有维护数据库系统的重要作用,按其用户的不同可分为主动型数据字典和被动性数据字典。主动型数据字典伴随着用户的使用而启动,是对总数据所进行的一种维护。而被动数据只用于存储相关数据供读者参考。我们在进行数据信息的获取时主要从动态获取和静态获取两方面进行。当数据处于静态获取时机时,我们可以利用FOXDOC的文本信息进行数据的获取,也可以利用DBF的直接被读取文件来获取。由于动态信息只能在所运行的系统中实时取得,因此我们可以通过FOXPRO管理信系系统资源的方式进行数据的实时采集或者可以通过利用函数和键盘对命令处理时获取被更新的数据信息。

二、 数据库信息系统中数据字典应用的技术优势

首先,处于元数据层中的应用字典能够知道数据间的关联关系。由于数据字典中包含了实际数据的真实定义,因而其对真实数据的字段顺序显示和显示规则比较清楚。另外一个方面,应用数据字典不是固定不变的,它主要是跟随文章环境的变化而变化,并在变化过程中实现其应用职能。其次,应用数据字典可进行用户扩展,那么用户的自定义信息也可以被它记载。由应用数据字典形成的界面称作智能型的用户界面。这种界面是基于应用数据字典的用户自定义信息规则运行形成的,这就促使了用户界面的统一。那么,用户在不熟悉的程序应用中就能够得到数据帮助。快速开发便基于这种界面而得以成为现实,并且让被生成的信息系统更具有稳定性。另外,不固定的动态界面使用户在程序应用中容易掌握操作,提高了学习效率和应用效率。再次,应用数据字典中提供了安全访问规则。用户所持有的角色为第一层安全级。当用户登录信息系统时,其角色便成为一种访问识别权限,当这种识别进入时,功能菜单便自动显示出用户角色权限所支持访问的内容。另外,角色权限的内容也包含了可操作权限中的数据可执行操作。最后,应用数据字典支持用户对所打开窗口的重新排列,也可以对字段和字符进行隐藏,对字体等的颜色进行修改。对系统间数据结构和相关数据的了解,也促使用户在正确访问时,对任何供选列表到窗口的转换缩放,另外信息系统的管理员还具有添加字段和制定验证规则的权限。

三、 系统数据字典的设计

数据字典的设计理念主要是将系统中的用户,表等包含的数据信息组织联系起来并将具有共性属性的部分抽出并归纳,重新组建一个具有共性属性特点的数据集。这个数据集主要包括用户字典,表字典,数据项字典。

首先介绍的是用户数据字典的设计。用户数据字典是用来定义信息系统的用户属性的,对其的设计主要包含用户名,用户权限,使用口令等方面的属性设计。接着我们在谈到表数据字典的设计时,我们可以套用用户数据字典的设计。我们从表数据字典是定义信息应用系统中的务类数据表的属性可以得出,对表数据字典的设计应主要从数据表名和中文名,表类别,索引表达式和索引表名等序列设计几个方面展开。需要指出的是,索引表名是被物理表确定的索引表名的,因而索引表不仅有一个,可以存在多个。最后我们要谈到的是数据项数据字典的设计。信息系统的设计中,好的思路一旦形成便可以套用到多个方面,因此征对各种表的数据项属性进行的数据项数据字典设计便显得直观了。在对数据项数据字典进行设计时应主要从数据表名,数据项名和中文名,有关数据表现(类型,长度,小数点位数),关键字,代码编码规则,表名,缺失项标志等方面进行设计。另外需要补充的是,对数据项数据字典的定义不是固定的,系统开发人员在开发时可根据系统的需要进行周全设计,所以数据字典随着系统开发的深入后即定数据若不能与系统相匹配时,可以再根据需要进行数据信息的完善。

四、 小结

数据库信息系统中数据字典的应用是通过对数据库中的数据进行归纳整理后形成的具有共同属性的数据集合,因此对数据字典的应用可以降低数据库中数据的查找难度,方便用户对数据的使用.因此本文主要说明了数据库信息系统中数据字典的设计,来促使数据字典的普遍利用.对于本文的纲要,我们主要是从数据字典中的数据获取开始展开,接着说明了数据字典使用的优点和方便,接着便引出了数据字典的种类和设计方法.通过本文的叙述讨论和分析,我们发现了数据库中数据整合的原理和方法,把原本复杂的数据整理工作变得具有可操作性和系统性.在对数据字典中原始数据进行属性归类,用户名角色定义这个过程中这个过程中我们发现对数据字典的使用极大程度地减少了数据查找的繁琐和用户使用的不便利.而在对数据字典中的表字典和数据项字典的设计过程中我们发现共性属性这一概念对数据字典集的归纳作用.并且共性属性这个概念对信息系统的其它方面也具有启示性的作用.

参考文献:

[1]杨英,韩明. 数据字典中数据的获取方法[J].电脑开发与应用,2009,(05)

[2]苏浩,王兵.应用字典技术的研究[J].西南民族大学,2009(01)

数据库系统篇5

【关键词】关系型数据库 异构数据 数据同步

1 引言

数据同步就是借助数据复制技术将一组数据从一个数据源拷贝到不同物理地点的另一个数据源。中国石油集团搭建数据同步系统主要用于解决以下两个问题:

(1)实现中国石油集团各机构业务系统之间数据的交换与共享,这些系统由于开发时间与环境不一致,因此,所采用的数据库工具与所设计的数据库表一般差异较大。

(2)中国石油集团各机构业务系统在更新换代过程中,为了让用户拥有一段时间的适应期,出现的新旧系统同时运行的过渡阶段,这种情况下,新旧系统的数据库可能出现重构,并且旧系统中发生的数据变化需要实用同步更新到新系统中。

2 数据同步问题分析

在搭建中国石油集团的数据同步系统过程中,相关的调查现状如下:

(1)从整体上看,作为待同步数据的多个业务系统由于分别由各个机构在不同时期独立开发,缺少关联,因此,所采用的数据库系统和数据表结构差异很大。

从数据库系统上分析,位于地方县市的部门开发的系统多采用MYSQL数据库或者SQLSERVER数据库,极少数采用了ACCESS数据库;位于省级部门开发的系统多采用ORACLE数据库或者DB2数据库。

从数据表结构分析,基本上待同步的两个数据表之间不存在一致性,并且出现很多数据字段同名不同义或者同义不同名的现象。

(2)从业务逻辑上看,数据同步过程中,数据传播方向分为两类:一类是数据在同级系统间进行复制,这类业务虽然要求数据复制周期较短,但是允许存在时间延迟。一类是数据由下级系统向上级系统进行复制,这类业务主要用于分析,可接受的数据复制周期较长。

所以,系统并不像金融系统那样需要实时保证数据的紧密一致性。为了提高系统的可用性,在实际应用中,各节点之间的数据采用异步复制。

可见,数据同步的难点主要在于对数据异构性的处理和对数据复制时效性的控制。

3 数据同步方案设计

完成一次数据同步任务的过程由数据捕获,数据转换和数据传输三个标准步骤来执行。

图1展现了数据同步的标准数据复制流程。

经过调研,在现有技术中,本文发现利用这三个标准步骤来执行同步的方案仅限于数据库表字段之间彼此一对一的复制,不能支持涉及跨库跨表的多字段映射关系的复制需求,其问题就在于数据转换模块只能处理两表之间互相关联的两个数据字段之间的一对一类型转换关系,而难以处理多表之间互相关联的多个数据字段之间的复杂转换关系。

而在中国石油集团的同步应用场景中,为了在不改动当前各类应用系统的数据资源结构的基础上实现分布式数据库系统的数据同步目标,就必然涉及在同步过程中需要完成对数据字段之间复杂转换关系的处理,这就意味着数据转换模块必须能够承担足够复杂的数据分析处理任务。

为此,本文在三个标准步骤的基础上特别设计了一个智能数据转换中心,并基于该数据转换中心,将同步的源数据库和目标数据库区分为同步源区和同步目标区,每个同步源区和同步目标区都可以拥有不止一个数据库,它们之间的复杂数据转换关系依靠智能数据转换中心进行处理以便满足中国石油集团的数据同步应用场景。

3.1 数据捕获

本文通过对目前常用的七种数据捕获技术的优缺点进行对比分析发现,控制表法能够获取各种方式操纵数据库所引起的变化数据,具有普遍适用性,且不需要修改表结构,不会影响原业务系统的性能,在时效性上十分灵活,其设计思想最适用于中国石油集团各机构业务系统的数据同步应用场景。

但是,控制表法要为每个进行同步的源表T创建一个控制表C,这对拥有大量需要同步的源数据表的同步应用来说是十分占用数据库空间的。因此,本文在控制表法设计思想的基础上,做了一种改进的用于异构数据库同步的变化数据捕获方法――同步变化表法。

该方法在每个要同步的源数据库中只创建一个同步变化表,同步变化表里面包含发生变化的源数据表的表名,数据项所在源数据表的主键值,数据变化的类型(插入、删除、更新),数据变化时间和数据同步的状态(已同步、未同步)。当源数据表中的数据发生变化的时候,通过在其上建立的删除、增加和修改触发器向同步变化表里面添加相应的记录信息。这些记录信息被用于在同步过程中查找变化数据的完整信息,并且在数据被同步成功后删除,有效的减少了数据库空间的占有量。

3.2 数据转换

为解决中国石油集团异构数据之间复杂的转换关系,本文设计了一个智能数据转换中心,该转换中心利用数据整合、数据计算和一个可以自由灵活扩充的计算公式库用于处理对应复杂数据关系的转换。

智能数据转换中心会将提取的变化数据按照系统规则整合为约定格式的XML文档,该XML文档详细描述了每个数据的来源数据库、数据表名称、数据字段与数据类型。之后由数据计算中心按照配置的数据转换关系从XML文档中提取相关数据并调用计算公式库中的算子进行分析得到目标数据表要求的数据格式,并将这些数据转换为对应目标数据库的SQL脚本进行输出,从而完成复杂数据关系的转换。

3.3 数据传输

为保证传输周期的灵活性,本文采用定时器技术以自由指定周期的轮询方式进行数据传输。图2展现了本文设计的数据传输模块的处理流程。

4 数据同步方案实现

4.1 同步实例

以中国石油集团某机构下级业务系统向上级系统汇总油井数据同步应用为例。

在这一同步应用场景中,一个地区存在多个并行的下级业务系统负责管理其所分配的若干口油井。上级业务系统每天会获取一次这些下级业务系统的当日采油量数据进行汇总,从而得到某一地区每日采油量数据。

4.2 系统实现

很显然,在汇总采油量数据的同步应用中,是一个多对一的复杂数据转换关系。同步源区包含多个下级业务系统对应的源数据库,同步目标区只包含一个上级业务系统对应的目标数据库,在同步过程中,对应一个地区的采油量数据需要对地区包含的每一个下级业务系统对应数据库中的每日油井信息表数据做汇总计算得到,为此,按照本文所设计的同步方案,同步系统实现如下:

(1)需要在下级业务系统数据库中增加同步变化表如表1。

(2)为每日油井信息表dailyOil添加增删改触发器,用于捕获每日变化数据到同步变化表中。

(3)在智能数据转换中心中将这一种复杂数据转换关系配置在映射文件中如下:

可见,在数据转换关系映射文件中记录了上级业务系统每日采油量信息表AreaOil所需要的数据对应的每个地区的源数据库链接地址,数据转换的计算方式,各个字段与源数据表字段的关联关系,源数据表名称和轮询周期。在执行过程中,智能数据转换中心将根据这些信息定时提取源变化数据集合做相应计算完成复杂数据转换。最后,本文采用JAVA语言对系统做了实现。

5 结语

本文设计的多级异构数据库智能同步分析系统可以在不改变原有系统业务逻辑和数据资源结构的基础上来完成不同异构数据的同步处理任务,有效满足了中国石油集团的分布式系统数据同步应用场景。该系统采用类似插件开发的问题解决思路,具备很广的通用性,可普遍适用于不需要保持数据副本紧密一致性的各类数据同步应用场景。

参考文献

[1]杨淼淇,叶国权,孙纳新.异构数据库的变化捕捉和动态同步策略的研究与比较[J].办公自动化:综合月刊,2010(03):35-37.

[2]杨鹏,杨海涛,王正华.异构数据库变化捕捉及同步策略[J].计算机工程,2008(16):53-55.

[3]张雪洁,王志坚,许峰,李静燕.基于XML的领域异构数据库间的数据转换[J].计算机与现代化,2004(05):71-74.

作者简介

唐孝宇(1984-),男。大学本科学历。现为中国石油集团工程设计有限责任公司北京分公司工程师,从事公司网络管理及信息化建设策划、研究和实施工作。

数据库系统篇6

关键词:数据库;数据挖掘;系统构建;大规模

数据库技术的建立使大量的电子信息得以储存和抽取,但在浩瀚如烟的数字式化信息资源库中,如何更快、更好的将需要的有效信息提炼和挖掘出来,逐渐成为大规模数据库系统的重要课题研究之一[1]。数据挖掘技术是一种在数据库中提取具有未知性、隐含性、潜在性的有用信息的特殊方法和过程,包含了关联规则、分类、聚类、泛化、预测等多个方面,而获取信息的准确性、挖掘操作的伸缩性、数据分析工具的实用性等成为近些年的研究热点。本研究就笔者工作经验提出了数据挖掘系统的构建方法,期望与同行业者分享和相互学习。

1.数据挖掘系统的功能

1.1数据的泛化与清洗功能

该数据挖掘系统可使已有数据泛化至更高的层次,利用GDBR的泛化集成算法将时间和空间的复杂度进行条件关联,并采用N-Gram技术高效、准确的对系统中具有相似性的重复记录进行检测和梳理[2],对较常见的拼写错误进行规范的删除、插入、替换、交换等智能操作,达到清洗效果。由于常规的消除基本算法在检测的精度方面存在一定的缺陷,本系统对该消除基本算法进行了一定的改进,合理应用统计学原理减噪,结合正、逆双向的重复矩阵,加大了对拼写错误的检出率和修改准确率。

1.2数据的挖掘功能

该系统对数据的挖掘是在相关的关联、时序等规则下,对数据进行有效分类、聚类,达到期望的数据挖掘系统应用目的。

数据中具有频繁性的项集进行寻找和整合,实现Apriori算法,再通过频繁的项集形成关联规则。其方法是:假设频繁项集记为l,l中的所有非空子集记为a,若support(l)/support(a)的值超过min conf,那么规则a=>(l-a)直接输出;若l的非空子集不满足以上条件,即无法输出相应规则,则不以a来形成关联规则。时序规则类似于关联规则,但其更倾向于对系统内项集在时间上的关联性,该系统应用AprioriAll算法来实现时序规则[3]。

关联规则从广义上而言包含了强规则、随机规则和例外规则。例外规则呈现了小部分数据所服从的规则,其虽然数量不多,但具有高可信度,是对可预测信息以外的、不被我们现阶段所知的信息产生的规则。例外关联规则可满足最小可信度的系统设置,本系统还可由此生成CAR、ECAR和删除SCAR。

对于已经有明确定义和分类的数据信息,可对其产生具有描述性的数据类别,也可对未知类别的数据产生相应的分类标准,即分类器。在本系统中,应用了区间分类器,可达到更高的准确率和分类精度,并减少决策树分类器可能产生的过深树状延伸。

聚类算法则是将一些密度较高的簇进行合并,采用CURE算法,以多个代表点标记不同的簇,从而形成一定的簇分布框架,再对特殊形状进行有效识别,扩大数据处理量和增强处理能力。层次聚类法是该系统主要应用的聚类方法,在方法启用前,数据挖掘系统会自动将所有信息对象进行数据空间分布的划分,使其形成多个数据单元,并根据单元特性计算簇的分布。另一种比较具有特色的聚类方法是密度聚类法,通过改进Dbscan算法,以代表性邻居对象的扩展种子点选取加快算法速度、以较小分区聚类来实现数据分区、以取样数据聚类来实现整个数据库的聚类,实现更加有效的系统聚类运算。

2.数据挖掘系统的构建方法

2.1整体框架结构

该系统把各类相关模块进行紧密的结合,并形成具有层次性的数据结构,包括多数据源、多类输出、多种参数的差别性操作功能,从而实现各挖掘操作模块之间的相互独立,使系统的功能性更强、运行更稳定。但作为一个系统整体,各模块间又存在着协调统一的相互关联性,使各个模块所应用的数据源、数据参数及挖掘结果能够实现规范化、系统性操作。由于该系统扩大了数据挖掘的范围,使挖掘对象不仅存在于数据库当中,还可能存在于相应的文件当中,故而系统中亦提供了相应的文件信息处理方法。为方便挖掘结果的呈现、并对决策分析实现远期性的支持,系统还设置了对数据挖掘结果的自动保留功能,扩大了应用范围。当然,由于计算机的操作者是人,整个系统还具有友好的操作界面,便于系统的应用者和决策者进行决策分析,实现准确决策。

2.2模块设置

根据以上对本系统框架结构的诠释,特别设置了如下模块以实现该数据挖掘系统的相关功能。

挖掘模块用来对数据库中不同数据实现挖掘操作功能,不同的挖掘模块相互独立,但统一受数据库的管理模块控制,其数据来源由存储控制模块产生,通过挖掘将相应数据写入到挖掘库中,为其它模块提供数据依据。

预处理模块以数据源定义、格式化、过滤等为主要功能,使整个系统更具有实用性和操作性,其中以数据映射、类型映射和列映射为主要子模块。数据映射是将源表数据映射成为ID形式[4],再生成相应的对照表,使形式不同的数据通过映射形成统一的、具有挖掘性的模块形式。类型映射是对源数据进行类型的转换,这种转换具有强制性,使不同类型的数据库数据形成统一,便于挖掘。列映射从源数据中提取需要的列,便于减少数据量、加速运算速度。

存储控制模块是对整个数据库中的各数据进行统一的操作,而外部文件则需要先行导入后再进行存储控制。底层接口采用ODBC技术,并应用缓冲和内存索引功能来加速系统的运算能力。

挖掘管理模块是整个数据挖掘系统的核心模块,对于用户在数据库中挖掘到的各类信息结果,均利用挖掘库进行存放。挖掘库直接设立在系统数据库当中,便于管理和调用。挖掘库管理包括数据准备、数据挖掘和数据存放过程中的各类操作,这些操作信息在挖掘库中的存放具有顺序性,有利于操作的便捷。但是,数据挖掘操作在整个挖掘过程中具有非独立性,需要以另一个数据挖掘操作结果为源头,并生成新的挖掘结果,而这一新结果很可能又成为另一个挖掘过程的数据源头。

2.3界面设置

该系统的主界面类似于Explorer的界面风格,具有人性化、可操作性、美观等特点。利用不同的图形技术来对不同挖掘结果进行表述。系统应用表格来表示泛化及清洗结果,利用 树状结构来对决策树进行呈现,用二维和三维点来对聚类结果进行显示,用文本显示各类规则与模式。

3.结语

    目前基于大规模数据库构建数据挖掘系统的研究较多,目的在信息化迅速发展的今天对数据库功能实现更深度的发掘,促进决策者从巨大的数据量中迅速、准确的找到所需的数据资源,并基于此来实现有效决策。在本文的相关介绍中,笔者仅对某数据挖掘系统的构建方法进行了简单介绍,由于目前相关的数据集成系统越来越多的被和认可,建议有效应用如Quest、DBMiner等的优点,并进一步行系统改进,结合企业的特点和需求进行数据挖掘系统的构建,从而达到更好的经济和应用效益。

数据库系统篇7

计算机技术的发展为人们的生产生活带来了巨大的便利,计算机数据库更是适用于各行各业的发展,因此,使越来越多的人开始将数据库系统当做提高工作效率、加强信息管理的重要辅助工具。今天,无论是数据处理、电子商务、还是人工智能都得益于计算机数据库技术的发展[2]。所以,计算机数据库的发展日渐受到人们更多的关注。

2信息管理中计算机数据库系统的特点

2.1数据资源具有共享性

信息的共享是计算机数据库系统的一大特点,数据库的建立就是为了实现信息的共享。数据库系统是面向整个计算机系统的,因此,数据库系统里的数据可以被多个程序和用户同时使用[3]。数据的共享可以节约更多的存储空间,实现数据的兼容,因此,很合适信息管理工作使用。

2.2数据资源的整体性高

本来计算机中的数据是分散的,虽然经过整理之后会有一定的规律,但是数据与数据之间并没有建立起有效的联系,而通过计算机数据库系统却可以实现数据的整合,建立起数据之间的联系,提高数据的整体性水平。

2.3数据具有较强的独立性

数据库系统中数据的独立性主要表现在两个方面:一是数据的逻辑独立性。指的是数据库结构上产生的变化,即要对原来的信息进行变更,在不改变原来程序的情况下就可以实现。二是数据的物理独立性。即数据的物理结构的变化不会对原本数据库的逻辑结构和应用程序产生影响。

2.4数据库的安全性不断加强

计算机数据库系统在信息管理中具有巨大的应用价值。在科学技术飞速发展的支持下,数据库系统的安全性得到了不断的加强,而且各国网络管制力度的加大也保证了计算机数据库系统的安全。

3加强信息管理中计算机数据库系统有效运用的措施

计算机数据库系统在信息管理中的运用已经成为不可阻挡的潮流,未来数据库系统的广泛运用必定会成为信息管理的功臣。虽然计算机数据库技术在不断的发展,使用范围也在急速的扩大,但是我们还是能从其中发现许多的不足。因此,我们要采取有效的措施加强数据库系统的有效运用,提高信息管理的水平。

3.1加强计算机数据库系统安全性建设

数据库系统的安全是计算机数据库系统运用的根本保障,在建设计算机数据库的时候要将安全性做为重要的考虑条件。很多用户在使用数据库的时候安全意识淡薄,导致数据信息没有足够的安全保证。所以我们在进行信息管理的过程中要重点关注安全问题,如保证数据库安装环境的安全、在建设数据库系统时充分考虑数据库系统的安全性、数据库系统要做好备份工等,这样才能加强计算机数据库系统的安全,保证数据库的安全运行。

3.2提高计算机数据库系统的规范性

计算机数据库系统在信息管理中有共享性、独立性等诸多的优点,使得我们的信息管理工作能更有效的进行,但是在数据库系统的实际运用中,各种信息仍然缺乏相应的规范性。所以我们应对数据库系统进行统一的规范,建立统一的标准,这样不仅有利于信息的有效使用,提高信息管理的效率,还有利于计算机数据库系统的进一步开发,为数据库技术的发展提供更多的可能。

3.3加强计算机数据库系统的整合能力

现在我们处在一个信息充斥的时代,各种信息在成倍的增多。面对各种各样的信息,信息用户往往不知该如何取舍,在使用的时候显得力不从心,因此工作效率大大降低。所以,我们必须要提高计算机数据库系统的信息整合能力,减少信息的重复冗余,以方便信息管理者能更好的进行信息的管理,信息用户能更快的从数据库中提取自己需要的信息,实现信息价值的最大化。

3.4不断增强数据的完整性

在数据库系统中,数据的完整是数据运用的基本要求,数据信息的完整程度,直接关系到数据库系统应用的效果和信息管理质量的高低。所以,在发展数据库技术的时候,必须要考虑到数据库的完整性,才能保证数据库系统的有效运用。用户在信息使用的时候要求信息尽量完整,我们在数据库系统建设的时候也要增强数据信息的完整,这样的数据库才有更高的价值。

4结语

数据库系统篇8

 数据库系统是指组织、存取和维护大量数据的人机管理系统,是由计算机、数据库、数据库管理系统和有关人员组成的有机整体,它是实现数据组织、存储、管理等功能的组织形式,数据库和数据库管理系统为信息的组织、管理和处理提供了前提。数据库管理系统为数据库的正常运行提高了保证。数据库用户往往只有通过数据库管理系统软件工具才能与数据库打交道。在数据库管理系统中,应用程序不能直接从存储介质获得所需数据,它必须先将请求提交给数据库管理系统,由数据库管理系统负责从存储介质检索数据并提供给应用程序使用。因此一个数据库管理系统就是应用程序与数据之间的接口。数据库管理系统是指对数据进行管理的软件系统,是数据库系统的核心。数据库管理系统实现了数据库的建立、使用和管理,其功能主要包括:

 (1)方便而准确的原始数据输入。管理系统的可靠性与准确性源于正确的原始数据输入。在定义数据库中信息逻辑结构的同时,还完善了整体约束,整体约束是保证质量的一种规则。数据库中的品种、类型、试验工等一系列文字内容的项目,可以从下拉框点击输入,简化了试验人员的操作,避免出错;系统对输入的数据进行完整性、准确性效验,一旦发生错误,系统会自动报警提示。

 (2)实用而便捷的数据编辑功能。数据库管理系统的数据处理子系统帮助用户增加、修改、删除数据库中的信息,并帮助用户在数据库中挖掘有价值的信息。

 (3)灵活的查询检索功能。根据字段值,在数据库中查询满足条件的记录,可以查询任意时间段的产品质量信息;也可以顺序浏览有关信息。

 (4)系统管理的功能。DBMS的数据管理子系统具有管理数据库的功能。

 数据库管理系统通常由以下4部分组成。

 1.1数据定义语言及其翻译处理程序

 数据库管理系统一般都提供数据定义语言(data definition language,简称DDL)供用户定义数据库的各种模式,翻译程序负责将它们翻译成相应的内部表示,即生成目标模式。

 1.2数据操纵语言及其编译(或解释)程序

 数据库管理系统提供了数据操纵语言(data manipulation language,简称DML)实现对数据库的检索、插入、修改、删除等基本操作。DML分为宿主型DML和自主型DML两类。

 1.3数据库运行控制程序

 数据库管理系统提供了一些系统运行控制程序负责数据库运行过程中的控制与管理,它们在数据库运行过程中监视着对数据的所有操作,控制管理数据库资源,处理多用户的并发操作等。

 1.4实用程序

 数据库管理系统通常还提供一些实用程序,数据库用户可以利用这些实用程序完成数据库的建立与维护,以及数据格式的转换与通信。

 2主要应用

 2.1企业信息化

 信息化是社会企业等现代化一个不可逆转的潮流,数据库管理系统是企业信息化的核心。在信息化过程中,计算机等成了信息化不可缺少的基础系统平台,系统平台将信息化和传统的业务工作衔接起来,其中最主要的中间媒介就是数据库管理系统。

 2.2数据库在企业中常用模式

 在企业实际应用中,最常用的是两种:一种是信息资源处理,另一种是信息网络服务。

 2.3数据库管理系统在企业常用技术

 数据库管理系统在企业常用技术有客户用任务器体系结构技术、分布式数据库、Web数据库。Web数据库是一种数据库技术和网络技术相结合的优秀范例,也是一种网络数据库,通常表现为三级数据库模式:数据库、中间Web服务、前端浏览。企业信息应用,为数据库管理系统应用和发展提供了极大的空间,数据库很多的新技术都是在与实际应用结合中发展而来,现在企业信息应用在内容上越来越广,早已超出早期的生产数据处理存取管理,而是将信息应用扩展到所有活动及成果方面,比如企业文档图形数据库化管理。

 2.4数据库技术对决策应用的支持

 随着信息技术在各个领域的普遍应用,人们在信息化进程中已经建立了数以百万计的信息系统。由于人类获取数据能力不断地增强,数据库的数据和规模还在快速增加,这些数据都是宝贵的资源,人们在利用数据库系统进行管理工作的同时,已经意识到这些数据中蕴藏着宝贵的知识和规律,并着力与数据库技术对决策应用支持的研究和开发。

 企业已经建立的管理信息系统中的数据反映了该企业当前的运行状态,按各个职能部门工作的需要,应用这些数据可以有效地完成企业管理所包含的日常任务,一般把这种数据库应用称为联机事务处理(OLTP)。而在决策中需要对数据进行联机分析处理(OLAP),也就是要侧重于满足决策人员和高层管理人员的决策需求,快速灵活地进行大量数据的复杂查询和分析处理,并以一种直观清晰的形式将结果提供给决策人员,以使他们准确掌握企业经营的状况,了解市场动态,制定正确方案,增加企业效益。

 3发展趋势

 3.1数据库产品多样化和数据库技术集中化

 随着信息技术的发展,数据库技术也越来越多样性。数据库产品市场社会应用定向不同,发展出不同的数据库技术,形成不同的数据库产品。比如SQL Sever产品、DB2、Orcle产品,还有其他专用领域里的数据库系统也都各自存在。数据库产品技术也越来越具有集中性,数据库管理系统越来越庞大,技术越来越集中。比如,现在的数据库能从企业生产数据到管理再决策到知识运用,一个新的产品集中多项现代数据库新技术。

 3.2数据库技术发展高端化

 数据库技术一直是社会现实需要作为推动的,现代企业在全球化的竞争中,已经对信息化提出更高要求。这样的现实需求推动着数据库技术从以前的专门的技术领域走向与生产实际相结合的领域,走向企业等生产业务决策等前台。要求数据库从简单的数据处理到信息服务、到业务本身管理,甚至到知识和决策。这就产生和发展了相应的技术,比如数据挖掘技术、知识库专家系统、能处理和控制大量的生产信息和资源的数据库技术如ERP。

数据库系统篇9

关键词:企业;数据库系统;安全机制

中图分类号:F27文献标志码:A文章编号:1673-291X(2011)10-0032-02

前言

随着计算机的普及、尤其是在企业生产和科研领域中的广泛使用,越来越多的信息和数据以各种各样的形式保存在计算机中。数据库系统作为数据存储和管理的主要方式,也随之得到了十分广泛的应用。大多数企业、组织电子数据都保存在各种数据库中。他们用这些数据库保存一些个人资料,比如员工薪水、医疗记录、员工个人资料等等。数据库服务器还掌握着敏感的金融数据,包括交易记录、商业事务和账号数据,战略上的或者专业的信息,比如专利和工程数据,甚至市场计划等等应该保护起来防止非法者获取的资料。数据库服务器还保存着一些商业伙伴的资料。

一、数据库系统安全的含义和目标

数据库系统一般可以理解成两个部分:一部分是数据库,它按照一定的方式存取数据;另一部分是数据库管理系统(DBMS),它为用户及应用程序提供数据访问,并具有对数据库进行管理和维护等多种功能。

数据库系统安全包含两层含义:第一层是指系统运行安全,包括:(1)硬件运行安全;(2)操作系统安全;(3)灾害、故障恢复;(4)死锁的避免和解除;(5)物理控制安全,如机房加锁等。第二层是指系统信息安全,包括:(1) 用户口令字鉴别;(2)用户存取权限控制;(3)数据存取权限、方式控制;(4)审计跟踪;(5)数据加密。

数据库系统安全需要实现的三个目标是:(1)完整性:只允许授权用户修改数据;(2)可用性:保证授权用户和应用程序可以获取数据;(3)机密性:防止数据发生非授权泄漏。

二、数据库系统基本安全框架

数据库系统的安全除了依赖于自身的安全机制外,还与外部网络环境、应用环境、从业人员的素质等因素密切相关。因此从广义上讲,数据库系统的安全框架可以划分为三个层次:(1)网络系统层;(2)操作系统层;(3)数据库管理系统层。

这三个层次构成了数据库系统的安全体系,它们与数据安全的关系是逐步密切的,防范的重要性也逐层加强,从外到内、由表及里的保证数据的安全。下面简单介绍一下安全框架中的这三个层次。(1)网络系统层。随着 Inetnet应用的普及深入,越来越多的公司将其核心业务向互联网转移,各种基于网络的数据库应用系统纷纷涌现出来,面向网络用户提供各种信息服务。可以说网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大作用离不开网络系统的支持。数据库系统的用户(如异地用户、分布式用户)也要通过网络才能访问数据库中的数据。因此,从广义上讲,数据库系统的安全首先依赖于网络系统的安全。由于网络的广泛分布性和网络用户的复杂多样性,使得网络本身存在很大的危险性,例如恶意的攻击、窃取、病毒传播等。目前主要通过防火墙、入侵检测以及协作式入侵检测等技术手段来加强网络系统层次的安全防范。(2)操作系统层。操作系统是大型数据库系统的运行平台,为数据库系统提供一定程度的安全保护。目前常见的操作系统为Windows、Unix和Linux。主要安全技术包括操作系统安全策略、安全管理策略、数据安全等方面。操作系统安全策略用于配置本地计算机的安全设置,包括密码策略、账户锁定策略、审核策略、IP安全策略、用户权利指派、加密数据的恢复以及其他安全选项。具体可以体现在用户账户、口令、访问权限、审计等方面。1)用户账户:用户访问系统的“身份证”,只有合法用户才有账户。2)口令:用户的口令为用户访问系统提供一道验证。3)访问权限:规定用户的权限。4)审计:对用户的行为进行跟踪和记录,便于系统管理员分析系统的访问情况以及事后的追查使用 。安全管理策略是指网络管理员对系统实施安全管理所采取的方法及策略。针对不同的操作系统、网络环境需要采取的安全管理策略一般也不尽相同,其核心是保证服务器的安全和为各类用户分配适当的权限。数据库应用程序通常都同操作系统的最高管理员密切相关。比如oarcle、Sybase、MsSQLServer数据库系统都有下面这些特点:用户账号和密码、认证系统、授权模块和数据对象的许可控制、内置命令(存储过程)、特定的脚本和程序语言(通常派生自SQL)、中间件、网络协议、补丁和服务包、数据库管理和开发工具。许多数据库管理员都是全日制工作来管理这些复杂的系统。但是,安全漏洞和不当的配置通常会造成严重的后果,而且都难以发现。(3)数据库管理系统层。当前有一种错误的观点,认为只要把网络和操作系统的安全做好了,那么所有的应用程序也就安全了。大多数关系数据库都是“端口”型的。任何人都能够用分析工具试图连接到数据库上,从而绕过操作系统的安全机制。比如:oracle7和oracle8使用的端口是1521和1526。许多数据库系统也有公开的默认账号和默认密码。这两个特性大大地危害着数据库的安全。

另外,由于数据库系统在操作系统下都是以文件形式进行管理的,入侵者可以直接利用操作系统的漏洞窃取数据库文件,或者直接利用某些工具来非法伪造、篡改数据库文件内容,这种隐患一般数据库用户难以察觉。

三、常见的数据库系统安全机制及缺陷

针对数据库系统安全的三个层次,常见的数据库系统安全机制主要有如下三种:(1)依赖操作系统的访问控制功能实现。目前的主流操作系统都具备完善的用户认证机制。对应于每一个用户,在操作系统中相应的有一个访问控制列表(ACL)。在访问控制列表中设定了该用户的访问权限。每个登录系统的用户必须遵守其在访问控制列表中设置的权限来访问系统资源。这样数据库拥有者或者管理者就可以通过设置用户访问权限来控制用户对数据库文件的读取、写入、复制及删除等操作。(2)采用用户身份认证实现。常见的身份认证都是在用户试图打开数据库时要求用户输入用户密码。这种安全技术的实现思想是数据库管理软件打开文件时校验用户输入密码是否与数据库文件中保存的密码数据一致,如果不一致则拒绝打开数据库文件。通常是在一个配置文件中保存用户名及密码。密码一般是采用某种加密方式存储的,以防止因为配置文件被非法访问而造成密码泄漏。(3)通过对数据库加密来实现。这种安全机制的设计思想是,利用密码学方法对保存在数据库中的数据进行加密处理,以增强数据库中保存的原始数据的安全性。

下面简要地分析一下这三种安全机制的缺陷。第一种安全技术的不足之处是,首先,数据库文件的安全完全依赖于操作系统,当系统配置不当时,安全根本得不到保证;其次,当数据库文件在目录或计算机间移动时,这种保护就会失效。所以,这种安全技术的最大弊病在于要靠外部环境实现安全,一旦外部环境发生变化,安全性便无法保障。第二种安全技术的主要不足是,数据库文件的安全完全依赖于基于密码校验的身份认证。如果用户以正常方式(采用数据库管理软件)去打开数据库文件时,身份认证无疑是个不错的安全措施。但用户以二进制文件方式打开数据库文件时,身份认证过程会被轻易跳过。所以,这种安全技术的最大弊病在于要靠数据库管理软件实现安全,一旦非法用户采用别的方法察看数据库文件内容时,安全性就无法保障。第三种安全技术的局限也很明显。数据库文件一般都很大,因此,采用这种技术进行加密和解密的时间代价很大。如果用户每次打开和关闭数据库时,数据库文件都要花费几分钟的时间来解密和加密,那么数据库用户是无法接受的。

四、数据库系统安全技术的新需求及实现

新的数据库系统安全技术应该具备以下特点。(1)安全性与操作系统平台无关。数据库文件无论被移动到哪台计算机或哪个目录,它的安全防护依然存在。即无论何时何地,数据库文件都有足够的安全性。(2)采用先进的加密技术。可以采用 DES、密码反馈等先进的加密技术来提高安全性。在对数据库文件密码、数据库字段说明部分加密时要把它们作为一个整体进行加密。(3)加密内容的选择。对于有大量数据的数据库文件进行完全加密是不必要的。可行的办法是加密数据库文件中的文件特征说明部分和数据库字段说明部分,这样,即使非法用户获得了数据库文件,也很难从中找到有用的内容。(4)加密与数据压缩相结合。数据压缩本身有数据隐蔽的功能,而且能够减少数据库占用的存储空间。(5)身份认证陷阱。非法用户通常采用枚举密码的办法取得密码,身份认证陷阱能使有这一行为的非法用户付出很大的时间代价也无法获得用户密码。(6)数据库文件防复制的能力。复制功能是操作系统提供的,真正的“防复制”需要操作系统的功能支持。这里的“防复制”是指除非数据库文件拥有者明确告诉数据库管理系统要复制一个数据库文件副本,否则非法用户即使利用操作系统提供的复制功能获得了一个副本,并且拥有数据库密码,数据库也无法正确打开。这一功能需要依靠数据库管理系统实现,它能在数据库打开和关闭时对数据库文件进行特殊处理。

结束语

当前,各企业尤其是大企业都在大量地使用数据库系统来存放和管理各种各样的信息和数据,互联网的飞速发展使得越来越多的应用都通过网络开展起来。数据库系统也逐渐从以前的单机数据库向网络数据库方向发展,这一趋势使得数据库系统受到的威胁也越来越大。网络中存在的大量的黑客攻击、病毒等都会给数据库系统带来危害,造成数据丢失、窃取、篡改等严重后果。为了实现数据库系统安全的三个目标,即完整性、可用性和机密性,必须采取各种各样的措施保护和防止数据库系统受到破坏。尽管国内外已经有许多科研单位和厂商在数据库系统安全方面进行了大量的研究工作并且取得了诸多的研究成果,但是要实现真正的数据安全还需要付出更大的努力。

参考文献:

[1]施伯乐,丁宝康,等.数据库系统教程:第2版[M].北京:高等教育出版社,2003.

[2]臧劲松.数据库系统安全的研究与分析[J].计算机安全,2008,(7).

数据库系统篇10

关键词:医疗信息系统 Oracle数据库 运维 优化

中图分类号:TP311.13 文献标识码:A 文章编号:1007-9416(2014)05-0116-01

1 数据库运维概述

随着Oracle数据库在医疗信息系统中的广泛应用,数据库上面的业务越来越多、数据量越来越大,其性能问题也随之而来[1]。Oracle数据库的性能优化是数据库运维管理中重要的组成部分,通过调整业务系统的SQL语句、主机相关参数以及数据库相关设置可以提升数据库系能。

但是对大幅度的调整优化来说,在不同阶段进行会有明显的成本差别。医院使用的各项信息系统除少部分医院采用自主研发设计,大部分是应用不同公司的产品,因此数据库的优化及运维工作主要也是在系统上线后这个阶段进行。此时的性能优化与调整的目标是使数据库系统的吞吐量尽可能地增加,同时尽可能少地通过访问磁盘来获取需要的数据。

2 系统参数调整

数据库系统参数是Oracle数据库系统的重要组成部分,它决定了数据库SGA、PGA等内存区域的大小,重做日志大小、最大连接会话数、字符集等至关重要的配置信息[2]。下面将详细介绍如何调整数据库实例。

2.1 内存空间分配

Oracle数据库实例可将系统信息存储在内存和磁盘上,由于内存的读取速度要远远高于磁盘。因此,尽可能多地将信息缓存在内存中可以大大提高系统处理速度。通过设置MEMERY_TARGET值,即可启用自动内存管理。数据库会自动地根据该值作为整个数据库实例所能使用的最大内存空间,并按照各内存区的工作负荷来分配各工作区的内存容量,无需DBA按照传统的经验方式去为每一个工作区手工分配内存容量,诸如:SGA_TARGET、SHARED_PO

OL_SIZE、DB_CACHE_SIZE等值都无需再配置。

2.2 撤销表空间的配置

Oracle数据库用撤销表空间来实现数据库的读一致性、数据库恢复以及回滚等操作。Oracle提供了自动管理撤销表空间的管理方式,此种方式能完全自动地管理撤销数据,透明地创建和管理撤销段,显著提升撤销表空间的管理效率。

2.3 在线重做日志大小的设置

数据库实例的写入与归档进程都与在线重做日志的大小有关。通常,适当地增大在线重做日志文件可以提升系统性能[3]。虽然联机重做日志大小的大小不会直接影响日志写进程的性能,但是却会影响数据写入进程和检查点进程的效率。系统自动判断的最佳在线重做日志大小可以通过查询v$instance_recovery视图的 optimal_logfile_size列获得。

3 数据库表空间管理

3.1 表空间基本概念

一个Oracle数据库能够拥有多个表空间,而一个表空间只能对应于一个或多个物理的数据文件。表空间分为四种常用类型:一是系统表空间,存放数据字典及其数据;二是存放用户数据的表空间主要用来存储用户数据(表、索引);三是临时表空间,用于存放临时数据;四是回退表空间,用于数据库的并发存取控制,保证数据库的一致性。

3.2 表空间日常维护

DBA定期对不同类型的表空间使用情况进行检查,是避免数据库错误的有效方法。当系统使用一段时间之后,表空间的连续块被多次的修改与删除等操作后出现了许多的不连续的块(叫碎片)。如此以来可能出现表的扩展所需要的连续块不能满足的情况。为了避免这样的情况发生而导致扩展失败,管理员要经常查询系统的表空间情况。在平时平常管理中最常用的几项指标就是表空间的总量、最大字节、使用多少、碎片多少等[4]。可以通过执行SQL脚本查询出所有表空间的自由空间、总空间数、已用空间、自由百分比及最大块的字节数。当发现表空间中的碎片数已经严重影响到数据库的运行时,可以考虑对该表空间进行重建。

4 统计信息维护

多年医疗数据库的运维经验,假如数据库性能问题是由于应用的SQL引起的,那么至少有50%是由于相关的表没有准确的统计信息而导致其不能高效的执行。如果数据库的统计信息不够准确,将会造成如下影响。

(1)导致不准确的选择率和基数(cardinality)评估;(2)导致访问表时不正确的访问路径(全表扫描、索引扫描等);(3)导致多表关联时使用不正确的关联方法(nested loop、hash join、merge join); (4)导致多表关联时选择错误的关联顺序。

优化器所使用的统计信息包括两类:系统统计信息与表、索引的统计信息。在数据库运维中,我们重点关注表、索引统计信息。其中的有关表和分区的总行数、高水位下的块数、空值数、唯一值数等等都是重要的统计信息。可以通过以下方式有效地在繁忙的系统中搜集、更新统计信息:(1)制定一个策略,让数据库系统自动地在夜间或非繁忙时段执行统计信息搜集作业;(2)按自动方式收集完统计信息之后,检查表和索引的统计数据是否能够反映数据分布;(3)对于数据量非常大、更新频繁的表可以使用DBMS_STATS.SET_TAB

LE_STATS、DBMS_STATS.SET_COLUMN_STATS等过程手工设置统计信息。

5 结语

Oracle数据库的日常维护工作除了上述重点分析的几点外,还包括数据库系统的备份恢复,主机系统的性能维护,网络、存储设备的管理等等。数据库系统的运维工作往往涉及到多方面内容,特别是针对性能问题的优化、故障诊断,都需要考虑到多种因素。本文针对系统参数调整、表空间管理和统计信息维护这几个较为常见的问题进行了重点介绍,数据库运维、优化工作不是一次、两次就能完成的,它是一项长期的维护工作,将伴随着系统整个生命周期进行。只有加强数据库系统运行阶段的监控和管理、才能确保数据库安全、平稳和高效地运行。

参考文献

[1]康晓东.医疗信息系统.清华大学出版社,2011年2月1日.

[2]Kevin Loney,Oracle Database11g完全参考手册.清华大学出版社,2010-6.