分布式数据库系统

2024-07-18

分布式数据库系统(精选12篇)

分布式数据库系统 篇1

摘要:随着数据库技术的不断更新以及计算机网络通信的迅速发展, 集中式数据库系统成熟的基础上产生和发展了分布式数据库系统, 本文主要对分布式数据库系统进行简要介绍。

关键词:分布式数据库,数据,数据库安全

随着计算机应用领域的不断拓展和多媒体技术的发展, 数据库已是计算机科学技术中发展最快、应用最广泛的重要分支之一, 数据库技术的研究也取得了重大突破, 它已成为计算机信息系统和计算机应用系统的重要的技术基础和支柱。分布式数据库是数据库技术与网络技术相结合的产物, 在数据库领域已形成一个分支。它通常使用较小的计算机系统, 每台计算机可单独放在一个地方, 每台计算机中都有DBMS的一份完整拷贝副本, 并具有自己局部的数据库, 位于不同地点的许多计算机通过网络互相连接, 共同组成一个完整的、全局的大型数据库。分布式数据库的研究始于20世纪70年代中期。世界上第一个分布式数据库系统SDD-1是由美国计算机公司 (CCA) 于1979年在DEC计算机上实现。20世纪90年代以来, 分布式数据库系统进入商品化应用阶段, 传统的关系数据库产品均发展成以计算机网络及多任务操作系统为核心的分布式数据库产品, 同时分布式数据库逐步向客户机/服务器模式发展。

1 分布式数据库系统简介

1.1 分布式数据库系统简介

随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充, 数据库应用已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足:数据按实际需要已在网络上分布存储, 再采用集中式处理, 势必造成通信开销大;应用程序集中在一台计算机上运行, 一旦该计算机发生故障, 则整个系统受到影响, 可靠性不高;集中式处理引起系统的规模和配置都不够灵活, 系统的可扩充性差。在这种形势下, 集中式数据库的“集中计算”概念向“分布计算概念发展”。分布式数据库系统应运而生。所谓分布式数据库系统是物理上分散、逻辑上集中的数据库系统, 系统中的数据分布存放在计算机网络不同场地的计算机中, 每一场地都有自治处理能力并能完成局部应用, 而每一场地也参与全局应用, 程序通过网络通信子系统执行全局应用。数据库应用的不断发展, 规模的不断扩大, 分布式数据库系统以其分布性和开放性的优势获得了人们的青睐, 在结构设计上, 它的数据力求合理必须使用的数据分布到结点上, 无权处理的数据则不能让局部用户使用。分布式数据库系统不是集中式数据库系统的简单分布, 也不是多个集中式数据库系的简单合并。分布式数据库系统与集中式数据库系统比较有以下三个主要特点:节点自主性、分布透明性、数据重复性。

1.2 分布式数据系统的分类

(1) 同构同质型DDBS:各个场地都采用同一类型的数据模型 (譬如都是关系型) , 并且是同一型号的DBMS。 (2) 同构异质型DDB S:各个场地采用同一类型的数据模型, 但是DBMS的型号不同, 譬如DB2、OR-ACLE、SYBASE、SQL Server等。 (3) 异构型DDBS:各个场地的数据模型的型号不同甚至类型也不同。随着计算机网络技术的发展, 异种机联网问题已经得到较好的解决, 此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据。

2 分布式数据库系统设计

2.1 分布式数据库系统的设计原则

(1) 分布式数据库的本地性和近地性分布式数据库设计的一个主要原则是使数据和应用实现, 其最大目标是:通过尽可能地使用数据靠近使用该数据的应用进行分配, 从而提高处理的本地性来减少通信。 (2) 分布式数据的可用性和可靠性保存数据的多个副本, 使只读应用具有高度的可用性, 而且数据的任何一个副本不能使用时, 可方便地是使用在另一个站点中的该数据的副本进行恢复, 将数据分布于多个场地, 并增加适当的冗余度来提供更好的可靠性。

2.2 分布式数据库系统的模式结构

分布式数据库管理系统不仅仅是把数据存储在不同的物理节点上, 实现远程查询, 更重要的是实现透明的数据管理, 例如查询、修改、复制等。以上所有信息使得系统中的数据可以更好地组织在一起, 从而方便了数据的浏览、查询以及复制等操作;使系统的安全性和完整性得到了有力的保障使用户可以从全局的角度来操纵系统中的数据。尽管用户需要访问的数据库可能位于不同的物理节点, 但用户看到的是一个完整的统一的数据库即逻辑数据库。用户在安全规则许可的情况下, 可以很方便地访问逻辑数据库中的任何数据, 而不需关心他所需要的数据是存储在哪一个网络中, 哪一台计算机上, 使用的是什么系统, 应通过哪种方式去访问等等。这就实现了分布式数据库系统所要求的透明性。根据用户的安全级别, 系统生成数据字典的相应的用户视图分发给用户。用户视图屏蔽了系统数据字典中用户不应见到的部分, 只给出了对应于用户权限的部分数据, 从而进一步保证了数据的安全性。在分布式数据库系统中, 将关系分片, 这有利于按用户需求组织数据的分布。

2.3 分布式数据库系统的存取控制

(1) 中央集权式;将事物管理层部分放到中央节点, 将数据管理层部分放到对应的各个子节点。这种类型适用于大企业的管理方式, 如大油田或大制造厂。另外, 也可以把各个子节点上的数据管理层部分分离出来, 和中央处理机放置在一起, 各局部应用请求由各终端通过网络传递。这样便干统一进行数据管理和计算机维护, 但增加了网络的负担。这种类型是前述类型的变种, 从抽象的角度看并没有什么区别。 (2) 分层式;将事物管理层部分部分放到中央节点, 将数据管理层部分放到对应的各子节点;若各子节点还有子子节点, 则数据管理层部分的局部概念模式即为该子节点上的全局概念模式。这样的结构通常采用星形网络结构。这种类型适用于上、下级之间存在联系而同级之间又很少发生联系的纵向管理行业。如石油天然气总公司的“勘探开发数据库系统”即可采用这种结构类型。这种类型要求整个系统有高效的DDBMS支持, 否则越层的全局应用请求的响应速度就会很慢。 (3) 完全分布式;将事物管理层部分复制到各个节点, 这样每个节点均存有事物管理层部分和该节点对应的数据管理层部分。这种类型灵活高效, 充分体现了分布式数据库系统的特点, 适用于较广泛的应用方式。但这种类型的整个系统造价很高。另外还需注意, 事物管理层部分的修改特权应交给指定的一个节点, 由DDBMS支持对其余副本的修改, 以避免数据异常。

参考文献

[1]H.Garcia, Molina.Research Distributed Databased[J].SIGMOD Record, 1990, 19 (4) :98~103.

[2]庄成三, 洪玫, 杨秋辉.数据库系统原理及其应用[M].北京:电子工业出版社, 2000 (6) .

[3]习周龙.分布式数据库管理系统实现技术[M].科学出版社, 1999:305~355.

分布式数据库系统 篇2

Java RMI主要是指Java实现远程方法的调用,并且基于Java RMI的计算机能够将Java作为根本对象,为系统编程提供简单与直接的环境。Java RMI作为Java语言中的一个调用方法,属于Java,这也就随之产生了关于Java编程语言的安全性以及跨平台性的`内容,并将这两个特性应用在Java RMI的分布式数据库系统的设计当中,对系统的研究与应用具有重要的推动作用。

2.2 Java RMI特征分析

(1)Java RMI具有面对对象的基本属性,能够在Java编程的过程中对其中涉及的代码进行重用,并且这一基本属性也是现代应用领域当中的重要编程技术,在减轻系统运行负担的同时,能够提升系统灵活性。

(2)RMI能够为分布式面向对象计算机提供一个简单直接的环境,并且RMI内部的体系构架也是基于系统内容进行构建,并且在结构的应用过程中需要进行充分的扩展,保证RMI能够添加功能。

(3)RMI具有可移动属性,从而可以实现移动机与服务器之间的互联。

(4)安全机制明显提升,基于Java的RMI具备更好的安全性能,能够保证在分布式数据库系统建设的过程中下载执行模块时保证用户的安全性。

(5)基于Java的RMI,通过使用Java进行编程,能够保证编程工作更加便利,并且由于RMI程序运行过程中较为简单,使得整个程序系统维护过程更加便捷。

3 Java RMI在客户机当中的实现

对于客户端的程序开发之后,首先需要基于Java RMI建立服务器对象,在建立服务器对象之后,客户程序的相应内容可以在主机当中的客户表当中寻找对Java远程对象的调用。但保证该程序能够得到实现的前提是将应用程序转换成为远程接口的类型,在RMI的运行过程中,能够实现客户程序与接口之间的不断交换,不影响对象之间的交换关系。

同时,在客户机方面的运行,需要通过具体程序编写得到实现,在得到与远程接口交换权利的同时,在数据连接池方面实现与数据库的连接,保证对数据库的操作。通过对RMI对象进行重用,能够实现对数据库的重用,利用数据库系统的连接池,提升数据库方面的访问效率。在企业方面,可以应用Java RMI的分布式数据库系统,并且随着Java的扩展而提升企业的经济效益。如企业系统程序当中的一部分程序内容实现通过Java进行编程,通过应用Java RMI可以将Java当中的特性将现有的Java转移到新的应用程序当中,通过此种应用优势,能够保证将Java的充分优势进行发挥[3]。

4 结论

分布式数据库系统 篇3

关键词:分布式数据库;数据分片;数据同步

1 引言

高職院校医学专业学生在校理论学习结束后,要进入医院等用人单位顶岗实习,为毕业后能迅速适应就业岗位打下良好基础。但在实习学生管理方面,各院校仍在采用传统的人工管理模式,沟通不畅,资源浪费且效率低下。所以,如何进行高效的学生实习管理,成为众多医学院校亟待解决的一个核心问题。随着互联网技术的不断发展,信息化的管理模式成为了各医学院校进行实习学生管理的最优选择,开发一个基于数据库和网络的实习管理系统,实现实习学生的信息化管理,降低学校对实习学生的管理成本,提高管理效率,实现学院-医院双重管理的无缝衔接,是众多高职医学院校正在进行的一项课题。

由于在实际环境下,学生实习的单位在地理位置上是分散的,以笔者所在学校为例,实习单位主要分布在西安市、咸阳市、宝鸡市、渭南市、榆林市、汉中市、重庆市等省内外地区,且每年都有新增的实习单位。因此,在进行管理系统的设计时,采用什么样的数据库方案就成了决定系统效率和稳定性的关键因素。

2 数据库设计方案

在数据库方案的选择上,可以考虑集中式数据库和分布式数据库。集中式数据库硬件系统是由一个处理器、与它相关联的数据存储设备以及其他外围设备组成,见图1。

若采用集中式数据库,所有系统成分均驻留在单个计算机(或场地)内,用户可以在同样的站点上操作,也可以在地理位置隔开的其他站点上通过远程终端来操作。系统及其数据管理被某个中心站点集中控制,这样有利于数据的维护和保持数据一致性,但是,一旦中心数据库发生故障,就会导致整个系统瘫痪。

分布式数据库是由一组数据组成的,这组数据分布在网络中的不同计算机上,网络中的每个结点都具有独立处理的能力,可以执行局部应用,也能通过网络通信子系统执行全局应用,如图2所示。

对用户来说,一个分布式数据库系统从逻辑上看如同集中式数据库系统一样,用户可以在任何一个场地执行全局应用。所以,根据学生实习的实际情况来看,适宜采用分布式数据库系统,允许各实习单位将自己常用的数据存储在本地,在本地录入、查询、维护,实行局部控制,在降低通信代价的同时,提高响应速度。

3 数据分布策略

在进行数据分布设计时,可考虑采用分割式与复制式相结合的数据分布策略。在学院站点上保留一个完整的数据副本,然后根据学生将要去往的实习单位,将所有实习学生的信息按照实习单位进行分配,即一个实习单位一个数据子集副本。这样,各实习单位可自治的查询和修改本单位实习学生的数据,发挥系统的并发操作能力。同时,由于数据分布在多个站点上,当部分站点出现故障时,系统仍能保持运行,提高了系统的可靠性。

在本系统中,每个实习单位都需要对分配给自己的实习学生的信息进行一系列的管理,也就是说,对于学生的基本信息及其关联信息的应用较为频繁。所以在进行数据分片设计时,应采用水平分片,使实习单位的绝大多数应用在实习单位的站点内完成,系统的效率得到提高,避免因为频繁访问两个或多个片段导致执行连接操作增加而使得代价增加。并且,采用水平分片方法产生的片段,将被分配到访问它次数最多的站点上,即在各实习单位站点上只分配去该单位实习的学生信息,而全部实习学生的数据则存放在学院站点上。

4 数据同步设计

在进行分布式数据库之间的数据同步(数据复制)时,可采用发布/订阅方式:首先在数据源数据库服务器上对需要同步的数据进行发布,然后在目标数据库服务器上对上述的发布进行订阅。基于快照的事务复制,主数据库服务器生成快照,备份库服务器读取并加载该快照,然后不停地从主数据库服务器复制事务日志。

在本系统应用环境下,同一地区的不同实习单位共用一个站点空间,而在实习管理过程中,对分配给自己的实习学生数据的修改总是由实习单位发起的,所以,在给实习单位分配实习学生时,将学院数据库服务器作为源数据库服务器进行学生信息数据的发布,各地区数据库服务器作为目标数据库服务器对该发布进行订阅;学生进入实习单位后,可将各地区数据库服务器作为源数据库服务器对随管理过程变化的学生信息进行数据发布,学院数据库服务器作为目标数据库服务器对该发布进行订阅,采用事务复制来保证数据的一致性。在第一次设置好事务复制后,发布的表、存储过程等将会被镜像,之后每次对于发布服务器所做的改动都会以日志的方式传送到订阅服务器,使得发布服务器和订阅服务器几乎可以保持同步。

分布式实时数据库系统技术研究 篇4

1.1分布式数据库系统的特点。

分布式数据库由一组数据组成, 从物理层面看这些数据分布在计算机网络的不同结点上, 从逻辑层面看这些数据属于同一系统。网络中每个结点都具有独立执行局部应用程序的功能, 也能通过网络通信子系统在全局范围内执行应用程序。也就是说, 分布式数据库系统的数据库、终端、中央处理器、局部DBMS运行、局部应用程序执行等都是独立的, 但又可相互协作形成整体, 其用户可以实现在任何场地执行全局应用程序[1]。

1.2实时数据库的特点。

实时数据库系统是管理有时间限制的数据和事务, 强调调度机制和事务管理上对传统数据库的优化, 可设定事务的截止时间特征, 最大限度地满足事务起讫时间限制, 保证数据库内数据在逻辑和时序上完整一致。

1.3分布式实时数据库的优势。

现代数据库需求要求实时数据库与分布式数据库在功能特性上实现有效集成, 由分布式实时数据库管理系统统一调度管理, 其方法是在实时数据库的事务处理层基础上实现分布式事务处理, 即将具有执行期限的数据和事务分布在不同结点上。

二、分布式实时数据库的事务管理机制

2.1分布式高优先级两阶段锁定并发控制协议。

数据库系统的事务管理机制包括分布式事务并发控制机制、提交机制、避免或解决死锁及日志管理机制等, 分布式实时数据库是在分布式高优先级两阶段锁定协议基础上加入优先级因素考虑。在这一新型协议中, 优先级将由事务最后期限和紧迫性的初始状态调整为将事务进入系统的时间追加到初始状态的实时状态。以此实现每个站点上的锁管理器为站点上各个事务的子事务要访问的数据对象进行枷锁。其中, 当事务之间按照优先级的高低对占锁产生申请冲突时, 低优先级事务将被重启, 重启范围和事务自身全局或局部性质保持一致, 以此保持分布式实时数据库的优先级次序与加锁、解锁实现优化。

2.2附带终结协议的两阶段提交协议。

分布式数据库系统在出现协调站故障或通信链路问题时, 可能导致个体参与者不能及时收到协调者的提交决定, 导致参与者在结束投票阶段发生延迟, 子事务因此错过截止期, 附带影响其下关联事务执行。分布式实时数据库系统对此加入了终结协议, 以提高两阶段协议发生故障时的应急处理能力, 实现实时事务管理。

所谓终结协议即协调站在向若干参与者发送投票信息时同时附带提供所有参与站地址, 当出现上述异常情况时, 问题参与站可利用附带地址沟通信息。其实施办法是, 在参与站与恢复站的信息设计上分三种情况考虑:一是参与站有明确提交命令时则发送给恢复站相同信息, 恢复站执行协调者决策, 并发送信息至不确定站点;二是提交了信息却未收到命令则发送给恢复站不确定信息, 则恢复站继续询问;三是提交信息夭折则发送恢复站夭折信息, 恢复站自行回滚并将发送回滚命令至所有参与站。

2.3减少协议依赖性。

分布式数据库的协议模式虽实现了冲突模式下的数据共享, 却导致冲突事务之间相互依赖, 限制了提交顺序, 一旦协议出现故障且无法迅速恢复, 则其下依赖事务都将错过截止期。数据库通常依据事务在投票子阶段的时间长度是否超出无故障事务时限来断定该事务是否正常执行。因此分布式实时数据库对此协议形式改为弱依赖协议类型, 即维持执行冲突的协议解决方式不变, 而将既有的依赖性用依赖集实现其可串行性, 保证并发数据方位的数据库一致。当事务在提交后严重超出无故障事务时限则作回滚处理, 并顺次执行到该事务其下的连带事务上。由此只要有需要, 前期其提交事务都能被立即产生依赖性, 在依赖过程中可依据具体状态随时决定是否取消其被依赖资格。

总结

长久以来, 国内众多计算机应用行业文献都致力于对传统协议进行改进, 但多停留在或改善并发控制协议的并发度、或改良提交协议来提高食物管理的实时水平等单向度改进层次上, 分布式实时数据库在此问题改进上集成了二者优势, 令使协议适用于分布式实时系统环境, 设计了基于分布式实时数据库系统环境下, 并行交融并发控制和提交处理两个工作阶段的新协议方案, 解决了单向度改进协议无法全面解决的截止期问题。

参考文献

[1]庞惠, 翟正利.论分布式数据库[J].电脑知识与技术, 2011, 02:271-273.

分布式数据库系统 篇5

分布嵌入式大气数据系统算法的初步研究

针对某型飞机给出了DFADS系统的构型描述,进行了DFADS的算法设计,算法采用了一种非物理映射的方法来建立各测压点压力和基本大气参数之间的关系.先是利用制定的多传感器数据表决规则表决出2~3对相关的`测压点,然后通过建立相关测压点压力和其压力系数值之间的关系,利用这几对测压点的压力对事先建立的Cpi(α,β,Ma)映射关系表格数据库进行查表计算,从而得到当前的飞行状态.本文利用计算流体动力学(CFD)计算手段获得了332个飞行状态下飞机前机身14个测压点的表面压力系数数据,并以此为基础对DFADS的算法进行了仿真验证.结果表明,该DFADS的算法可以根据14个点的压力输入,正确地解算当前的大气参数.

作 者:王岩 郑伟 WANG Yan ZHENG Wei 作者单位:沈阳飞机设计研究所,辽宁,沈阳,110035刊 名:飞机设计英文刊名:AIRCRAFT DESIGN年,卷(期):28(6)分类号:V241.7关键词:嵌入式大气数据系统 多传感器 数据表决 映射嵌入式

关于分布式数据库的几点思考 篇6

关键词:分布式数据库;特点;模式;优劣势

中图分类号:TP392文献标识码:A文章编号:1007-9599 (2011) 03-0000-01

Analysis of Distributed Database

Yao Ye

(China University of Mining&Technology,School of Computer Science&Technology,Xuzhou221116,China)

Abstract:Distributed database system in the very great degree satisfied people’s requirements to solve problems of regional dispersion data storage,distributed database is convenientand practical.This paper analysed the concept,characteristics,development,advantages and disadvantages of distributed database.

Keywords:Distributed database;Characteristics;Pattern;Advantage and disadvantage

一、引言

伴随着计算机技术和互联网的的迅速普及,彼此之间的交流近在咫尺,人们的生产生活的数据越来越想着共享与统一的方向发展,分布式数据库系统也是在人们对资源利用率要求越来越高的形势下应运而生。伴随着人们越来越多的使用数据库技术,用户的要求也越来越多,人们渴求一种新型数据库系统解决数据存储在地域上的分散性。在广大IT人员的不断努力下结合“计算机网络”和“数据库系统”的分布式数据库系统出现了,它的出现使数据可以实现集中管理与全局共享,并且满足了人们解决数据存储地域分散性的问题。

二、分布式数据库概述

单一的计算机可以独自放置在某个地方,满足每台计算机中装置DBMS的完整的拷贝副本,而且同时也包含独自的局部数据库(控制机制具有集中与自制相结合的特点),通过网络将这样的放置在不同地点的若干台计算机联系起来,从而形成的一个全局的、统一的大型数据库就叫做分布式数据库。

由上可知分布式数据库系统就是数据信息在地理空间上市分散存储的,然而集中、统一却可以从数理应用逻辑上得到体现出的数据库系统。它所存储的数据具备适当兀余性、相对独立性、管理分布性等特点。

分布式数据库有效地解决了物理中心数据库组织的一些不足。第一,通过分布式数据库可以大大降低了数据传送的成本;再者,分布式数据库系统提高了系统的可靠性;而且,分布式数据库容易对系统进行扩充。

三、分布式数据库特点

从上节概述中我们可以总结,分布式数据库系统大致具有节点自治性强、数据存储物理上分散、逻辑上统一等特点。然而从细节上具体来说,分布式数据库还具有以下一些特点:

(一)不同区域的计算机通过数网络连接起来。

(二)分布式数据库系统可靠性得到了增加,应为工作时局部与局部相互之间不受影响。

(三)和谐的整体事务活动是以较高的事务管理费用为代价的。

(四)在物理逻辑应用上达到了共享一致。

(五)解决了传统中心数据库存在的一些不足,数据传递成本得到了减少。

(六)每个数据库的位置是确定可见的,系统能够便于扩充。

(七)数据在地理位置上存储的较为分散。

(八)节点自治性强。

(九)大部分的处理都是即时的完成的。

四、分布式数据库系统的模式结构

分布式数据库系统的结构模式分为以下几种:

(一)局部概念模式。局部概念模式一定程度上能够看成全局概念模式的子集。

(二)局部内模式。局部内模式是分布式数据库里面关对物理数据库的描述,不但包含其中一个结点的数据信息,也包括全局数据在这一结点上的存储信息。

(三)全局概念模式。定义分布式数据库中的全局逻辑结构数据特性的模式叫做全局概念模式被用来。

(四)全局外模式。全局外模式又叫全局视图是全局应用的用户视图,

(五)分片模式。说明怎样布置数据库的特殊部分的模式叫做分片模式。

(六)分配模式。定义片段存放的结点的模式叫做分配模式。

五、分布式数据库优势与劣势

比较集中式数据库和分布式数据库系统,不难看出,虽然分布式数据库系统是在意集中式数据库系统为基础之上发展起来的,但相比而言:

(一)分布是数据库系统包含以下优点:1.分布式数据库系统比较容易扩展,能够集成已经具有的系统,并且方便扩充。2.分布式数据库系统总的看来相对比较经济,而且具有很高的可靠性和很好的可用性。3.分布式数据库系统更适合分布式的管理与控制。4.满足某些条件时分布式数据库系统的响应速度就会变得快一些。用户所在的计算机能够执行存储或者取出本地数据库里德数据速度自然变快。5.分布式數据库系统是一种含有灵活体系结构的数据库系统。

(二)分布式数据库系统的劣势。分布数数据库系统有如下劣势:1.很难控制分布式数据库系统中数据的安全性和保密性。在场地比较自治的分布式数据库里面,异地的局部数据库管理员能够使用不相同的安全措施,不过这样便不能确定全局的安全。2.存取分布式数据库系统中的数据结构有些复杂。与集中式数据库相比,在普通情况下分布时数据库在存取数据库中的数据时,过程比较复杂,花销也比较大。3.分布式数据库系统的通信消耗资金比较大,故而且容易出现障率。恢复系统排除的过程也非常复杂。

六、结束语

分布式数据库系统已经成为目前计算机网络技术中的一个实用的比较关键的组成部分,它在使用时要求对不同的数据组织、编码、存储、分类和维护。分布式数据库系统乘着网络技术不断发展之风,满足人们更大的在共享数据、应用信息的需求,提高了人们的生产生活效率。

参考文献:

[1]李维.分布式多层应用系统.机械工业出版社,2000

[2]邵佩英.分布式数据库系统及其应用.科学出版社,2005

浅谈分布式数据库系统查询优化 篇7

分布式数据库系统(Distributed Database Management System,DDBMS)是地理上分散而逻辑上集中的数据库系统。即通过计算机网络将地理上分散的各局域结点连接起来共同组成一个逻辑上统一的大数据库系统。因此可以说,分布式数据库系统是计算机网络技术和数据库技术的结合的产物。

分布式数据库系统的查询优化,就是要寻找执行代价(费用和时间)最小的查询执行策略,使系统执行效率达到最高。它包括局部执行代价的优化和网络传输代价的优化。其中局部执行代价:主要指输入/输出次数(I/O代价)及CPU处理代价。网络传输代价:主要指传输启动代价和数据传输代价。

2 查询优化的必要性

2.1 局部执行策略优化

我们通过一个例子来说明局部执行策略优化的必要性。

例2.1.1设有一供应关系数据库,有供应商和供应两关系,如下:

下面进行局部代价计算(不考虑CPU代价)。

首先我们假定:在内存中,同时可存放5块SUPPLIER元组和1块SUPPLY元组,其中1个内存块可以装10个SUPPLIER元组或100个SUPPLY元组。另假定SUPPLIER有1000个元组,SUPPLY有10000个元组,其中PNO=100的有50个元组。假定计算机每秒可读写20块,而数据只有读到内存才能进行操作。

计算Q1的I/O代价(计算广义笛卡尔积代价):

读取总块数为:1000÷10+[1000÷(10×5)]×(10000÷100)=2100;需时间t1=2100/20=105s;

按条件:笛卡尔积计算后的元组个数为:103×104=107,连接后的中间结果内存放不下,需暂时写到外存,若每块可装10个完成笛卡尔积后的元组,则写这些元组需:t2=(107÷10)/20=5×104s

进行选择操作:读回需t3=5×104s,假设选择后剩50个元组,均可放在内存进行投影操作。

因此Q1查询共花费:t=t1+t2+t3=105+2×5×104≈105s≈28小时。

计算Q2的I/O代价:

计算对SUPPLY做选择运算的代价,需读SUPPLY到内存进行选择运算,读SUPPLY块数为:10000/100=100,花费为:t1=100/20=5s。

选择结果为50个SC元组,均可放在内存。

计算和SUPPLIER自然连接的代价,需读SUPPLIER到内存进行连接运算,读SUPPLIER块数为:1000/10=100,花费为:t2=100/20=5s。

连接结果为50个元组,均可放在内存进行投影运算。

因此Q2总花费为:t=t1+t2=5+5=10s。

从上述两种策略看,虽然都能实现所要完成的功能,但两种实现方法所须的代价却相差很大。

2.2 网络传输优化

我们依然通过一个简单例子来说明网络传输优化的必要性。

例2.2.1有全局关系EMP{ENO,ENAME,BIRTH,SALARY,DNO},分别代表(主键)雇员编号、雇员姓名、出生日期、工资和部门号,及全局关系DEPT{DNO,DNAME},分别代表(主键)部门号和门名称。

查询要求:查询每个雇员的姓名及所在单位。

则:1)SQL语句:SELECT ENAME,DNAME FROM EMP,DEPT WHERE EMP.DNO=DEPT.DNO;

2)关系表达式:∏ENAME,DNAME(EMP∞DEPT)。

选择策略(设结果为R,以传输代价为主)。

假设:

1)EMP:元组数:10000,元组大小:100B,关系大小:100×10000=1000KB。

2)DEPT:元组数:100,元组大小:35B,关系大小:35×100=3.5KB。

3)结果元组大小40B,S3为查询场地,结果关系大小:40×10000=400KB。

存在三个场地,S1、S2和S3。如图1所示。

策略1:S3为执行场地,则需传输EMP、DEPT,传输量=1000K+3.5K=1003.5K。

策略2:S2为执行场地,则需传输EMP到S2,结果R传输到S3。传输量=1000K+400K=1400K。

策略3:S1为执行场地,则需传输DEPT到S1,结果R传输到S3。传输量=3.5K+400K=403.5K。

从上面三个策略看,选择不同的执行场地,传输代价差别很大。

分布式系统是多用户、多应用需求的复杂任务,那么采用不同的实现策略会相差更大,将直接影响整个系统整体性能。因此,进行分布式数据库系统的查询优化是分布式数据库系统必须重视的一个环节。

3 查询优化的方法

3.1 基于查询树的等价变换

基于查询树的等价变换,是将用户请求利用查询树来进行表示,然后再逐步对查询树进行等价变换,最终得到最优的查询策略。

查询树表示方法规则为,在查询树中,叶子表示关系,中间节点表示运算,前序遍历关系表示运算次序。

3.1.1 将用户请求构成的查询树进行等价变换,得到全局优化后的查询树

变换通用准则为:1)尽可能将一元运算移到查询树的底部(树叶部分),使之优先执行一元运算。2)利用一元运算的重复律,缩减每一关系,以减少关系尺寸,降低网络传输量和I/O大小。

在这里我们依然以例2.1.1进行说明。

查询要求:找出AREA在"北方"且PNO为100号零件的供应商的信息。

SQL查询语句:SELECT SNO,SNAME FROM SUPPLIER,SUPPLY WHERE AREA="北方"AND PNO=100 AND SUPPLIER.SNO=SUPPLY.SNO

等价的关系表达式:

Q1:∏SNO,SNAMEσAREA="北方"σPNO=100(SUPPLIER∞SUPPLY)

查询树如图2。

利用变换规则进行等价变换后得到最终优化后的查询树Q2如图3所示。

3.1.2 利用全局关系与其片段关系的等价关系,将全局查询中的全局关系替换为对片段关系,得到对应于片段查询的查询树,经过等价变换,得到优化后的片段查询树

全局查询与片段查询对应的等价关系为:

1)对于全局关系R的水平分片R1、R2、…、Rn,表示为:R=R1∪R2∪…∪Rn。

2)对于全局关系R的垂直分片R1、R2、…、Rn,表示为:R=R1∞R2∞…∞Rn。

片段查询优化准则:1)对于一元运算,根据一元运算的重复律,将叶子节点之前的选择运算作用于片段,如果不满足片段的限定条件,则置为空关系。2)对于联接运算的树,若联接条件不满足,则将其置为空关系。3)在查询树中,将联接运算(∞)下移到并运算(∪)之前执行。4)消去不影响查询运算的垂直片段。

3.2 基于半联接技术的分布式查询优化

半联接技术的优化就是通过减少联接操作的操作数,来降低传输费用的优化技术。

半联接优化算法原理如下:

输入信息:位于不同场地上的两个关系R和S;输出信息:实现R∞S(R.A=S.B);算法过程(设S的尺寸小于R):1)在S所在场地上计算S'=∏B(S),2)传送S'到R场地,3)在R场地上计算R'=R∞S'=R∝S,4)将R'传到S所在场地,5)在S所在场地上计算

网络传输代价的比较:

假设:关系R和S分别在不同的场地上,C0为启动代价,C1为单位传输代价,设:在S所在的场地上执行。

则传输关系R实现R∞S的代价为C=C0+C1*Size(R)。

采用半联接的传输代价C∝=CS'+CR'。=2C0+C1*(Size(S')+Size(R'))。

因此如果有:C0/C1+Size(S')+Size(R')≤Size(R),则可用半联接技术来降低传输费用。

合理的采用半联接技术可以有效控制传输代价。

4 查询优化综合分析

那么现在的问题是,在设计查询执行策略时,是不是一定要寻找执行代价(费用和时间)最小的查询执行策略呢?我认为,软件系统的发展是以硬件系统的发展为基础的,不同阶段的硬件基础决定了相应的软件策略,我们之所以设计各种优化方法,就是因为我们的硬件条件没有达到我们需要的理想状态,所以我们需要软件的优化来弥补硬件的不足。我们知道优化的算法肯定不是最简单的算法,那么随着硬件条件的变化,我们在考虑执行代价的同时也要考虑算法的便捷度,在执行代价和便捷度之间取最佳执行方案,不能一味追求代价最小,做一些华而不实的优化策略。

这里有几个假设:1)假设我们的服务器的读取速度和处理速度可以达到无限快,那么我们就不用考虑局部处理优化。2)假设我们的网络带宽可以满足任何传输需求,那么我们就不需要进行网络传输优化。3)假设我们的存储器无限大,我们就可以存储任何信息,那么就不需要根据不同需求程度进行删减了。

如果满足上面3个假设,会得出什么结论呢?我们会发现不需要研究分布式数据库系统了,因为谁都知道分布式数据库的运行维护代价和出错频率要远远大于集中式数据库。即使达不到上面的理想状态,随着硬件的发展,软件简单化也必然是一种发展趋势。

或许大家觉得这是无稽之谈,我们回顾一下计算机软件的发展史我们会发现,早在计算机发展初期,机器处理速度非常低,内存用于数据交换的容量非常小,作为一个程序员,大部分精力都用在了研究算法上,写的程序尽可能简洁高效,在内存管理上更是倍加谨慎,不会轻易浪费一个字节的内存。现在又怎么样了呢?仅仅过了几十年时间,随便一台家用计算机可以有几GHZ的处理器以及几GB的内存,现在谁会去在乎一个程序是循环100次还是10000次,会注意一个程序是占用1KB内存还是1MB内存?我们现在关注的是程序的结构框架,关注的是实现的结果,对于具体算法实现过程往往很少在意。我们再回顾一个分布式数据库系统的典型实例———银行通存通兑系统,早在几年前,几乎每个大中城市都会有各自的数据库分片(副本节点),用户的一个存兑请求都作为一个事务在本地数据库分片上先操作,然后各个数据库分片(副本节点)之间会在一个约定的时间里,按照一定的更新算法进行传播更新,由于其间需要相互更新的数据量很大,而服务器性能不高,网络带宽也不够,因此我们的一个跨省市存款请求往往需要几天的时间才能完成。而现在由于服务器性能和网络带宽都显著提高了,很多数据库分片(副本节点)都已经取消了或者变成了全复制副本节点,通过提高硬件的性能来简化分布式数据库系统的组织结构,从而简化了软件系统的复杂程度,使得各种存兑操作都变得非常方便快捷。

因为硬件条件变化了,我们关注的点也变化了,当我们的硬件条件可以允许适当的浪费的时候,我们就会进一步考虑便捷性了。

5 结论

分布式数据库系统的查询优化,就是要寻找执行代价(费用和时间)最小的查询执行策略,使系统执行效率达到最高,优化的思想和方法在分布式数据库系统中必将得到广泛的应用和发展,优化的具体策略会随着硬件条件的发展而发展,从而实现既高效又便捷的分布式数据库系统。

参考文献

[1]邵佩英.分布式数据库系统及其应用[M].2版.北京:科学出版社,2005.

[2]郑振楣,于戈.分布式数据库[M].北京:科学出版社,1998.

[3]贾焰,王志英,韩伟红,等.分布式数据库技术[M].北京:国防工业出版社,2001.

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

对分布式数据库系统的安全分析 篇8

关键词:分布式,数据库系统,安全分析

分布式数据库作为一种计算机数据库系统, 对计算机数据储存于共享尤为重要。在计算机飞速发展的时代, 分布式数据库系统的应用在带来方便的同时, 也面临着巨大挑战, 必须尽快找出处在不安全因素, 并采取相应的安全措施进行处理, 从而为用户使用提供安全性保障。

1 分布式数据系统的不安全因素

1.1 黑客攻击

黑客攻击的方法是各种各样的, 不仅能够利用网络信息上的“监听客户—数据库服务器—服务器的报文”的方式来窃取数据信息, 还可利用用户的口令实施身份攻击。此外, 为了达到攻击的目的性, 黑客还可通过破译攻击方式, 使用密码分析来获取加密文件, 再解密或者是篡改数据信息。一般情况下, 黑客攻击的目的主要是为了扰乱系统的稳定运行与窃取数据信息, 其中黑客攻击的方式包括3种类型:假装攻击、迂回攻击及窃取攻击。

1.2 内部威胁

由于分布式数据库系统终端位置的物理特性分布具有分散性的特点, 威胁到系统运用内部本身的安全性, 加上它的每一个分站点都会存在薄弱环节, 会直接给整个系统运行的安全带来威胁。因此, 对于每一个分站点的潜在安全风险引起的问题, 都会发出警报, 这时必须充分利用网络安全性为系统提供安全防护措施。

1.3 计算机病毒

计算机病毒的发展与网络、自身因素有关, 对计算机网络来说, 网络环境的开发性加快了计算机病毒传播的速度, 难以根除计算机病毒。对计算机病毒本身而言, 计算机病毒本身具有传染性较强、隐蔽性良好和传播速度快的特点, 在发现病毒的时候通常已经被感染计算机病毒。

2 分布式数据库系统安全防护措施

2.1 建立安全审核系统

在运用分布式数据库系统过程中, 应建立安全审核系统, 对获得任何时间、用户访问数据库系统具有举足轻重的作用, 能够提升数据库系统使用的安全性。并且还应建立相应的用户权限安全性审核体系, 用来找出威胁系统安全性的来源, 以此建立有针对性的数据库安全防护系统。例如某省公安厅交通警察总队的某个项目中, 运用了数据库系统安全审计系统, 通过部署数据库审核系统, 在不更改业务网络结构基础上, 采用旁路镜像方法, 实时采集服务器和数据库网络数据流, 协议分析和识别信息数据, 最终将全部网络操作进行还原, 然后记录储存于取证分析操作痕迹, 以此提出相应的设定安全策略, 审核多个不同的分站点, 防止违规操作同时, 向管理员报警, 从而实现分布式部署。

2.2 净化网络环境

针对上述复杂、开放性网络环境条件下, 分布式数据库系统运用中存在的不安全因素, 为了降低网络环境的影响力, 真正做到安全防范, 必须净化网络环境, 加强网络管理力度, 为系统使用的安全性提供保障。例如某市为了净化网络环境, 确保计算机信息系统安全, 促进计算机应用与发展, 按照《中华人民共和国计算机信息系统安全保护条例》相关规定, 结合当地计算机应用情况, 明确相关部门工作职责, 加强网络管理, 收集和通报计算机病毒, 对计算机病毒来源进行追查, 定期检测计算机病毒, 及时消除计算机病毒传播与扩散。

2.3 病毒防控措施

分布式数据库系统内部储存与管理着海量数据信息, 都是为了防止黑客利用各种非法手段篡改、破坏和窃取数据库中的文件, 为了保护数据库系统中全部文件的安全性与完整性, 必须对分布式数据库系统中的数据库文件进行病毒防控, 做好相应的病毒预防与控制措施, 从而有效降低黑客攻击的威胁性。例如某校为了预防与控制本校计算机感染病毒, 维护用户利益, 按照国家与公安部门相关规定, 结合本校的实情, 制定相应的病毒防控措施, 要求学校信息化建设和管理领导小组负责病毒预防与控制工作, 并成立病毒防控小组, 负责监督与指导病毒防控工作, 根据有关规定检测计算机系统和软件的病毒, 对产生病毒计算机进行清除, 并更新防病毒软件, 新接入的软件必须经过检测, 确定没有病毒后才能使用。

2.4 保密安全措施

用户访问权限在通过一系列身份验证后, 分站点和分站点之间才可以进行数据互动。为了确保数据信息的保密性, 在数据信息传递的整个过程中, 一般会对需要传输的数据信息设置密码, 在通信双方建立一条保密通道, 对数据信息访问与传输进行加密处理, 以此避免数据被窃取、反复发送及遭到黑客攻击。另外, 应使用实时入侵检测方式, 加大分站点之间的安全监测力度, 在通信双方建立一条安全通道, 加强数据信息传输的保密性。例如某公司为了确保整个分布式数据系统信息系统中数据信息的保密性, 在发送信息数据过程中, 使用端对端加密方式对数据信息进行加密, 然后进入TCP/IP数据包封装, 将其设置成不可识别或者是不可阅读的信息数据, 最后通过网络方式传送到另一个用户系统中 (目的地) , 再对信息数据进行解密重组, 变成可读数据信息。

3 结束语

在开放式和复杂的网络环境中运用分布式数据库系统时, 应充分分析了解不安全因素, 通过建立访问控制和审计体系和安全审核系统方式, 净化网络环境, 实时预防和控制病毒传播, 从而做好分布式数据库系统保密安全措施, 确保分布式数据库系统安全使用。

参考文献

[1]邹平吉.对分布式数据库系统的安全分析与探讨[J].林区教学, 2013 (12) :98-100.

分布式数据库系统 篇9

随着信息技术的日新月异和Internet技术的飞速发展,传统的软件系统也面临新的挑战-从集中走向分布,而在数据库领域,分布式数据库(Distributed Database,DDB)技术已成为一个主要的研究方向[1]。

传统的数据库管理模式是将所有数据集中于单个数据库中,用户通过各种工具,如数据描述语言、数据操作语言、各种访问机制和约束监测等,来实现对数据库的维护和使用。在实际应用中,其低效、安全性差的弊端时常给用户和维护人员带来困扰,而采用数据的分布技术可以很好的弥补传统数据管理方式的缺陷。因为超过90%以上的用户只需要与同自己相关的局部数据进行交互,将各个用户所需要的不同数据进行分类,存储在不同的局部数据库中,能够极大地提高数据访问的速度和效率;同时,采用数据的分布式管理,在不同站点进行数据备份,安全性高。

本校现行的考试报名管理系统是基于传统模式设计的。特别是对于有一定规模和反复进行的考试,这种管理方式不但远远达不到高效和准确的要求,而且极易造成数据丢失。

本文在分析本校考试报名系统数据库的基础上,对分布式数据库技术加以研究,力求将其思想应用于本校系统,以方便考生报名,减轻考务管理工作压力,提高考务管理质量和工作效率,为学生提供更优质的服务。

2 分布式数据库系统

通俗地说,分布式数据库系统是物理上分散而逻辑上集中的数据库系统。即用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中式数据库)联接起来,共同组成一个统一的数据库系统[2]。

因此可以看成:数据库系统+计算机网络。

2.1 定义

分布式数据库系统绝不是数据库系统与计算机网络的简单结合,而是两者的互为渗透与深层融合。其严格定义为:

分布式数据库是一组数据集,逻辑上它们属于同一系统,而物理上它们分散在用计算机网络联接的多个场地上,并统一由一个分布式数据管理系统管理。

分布式数据库系统由分布式数据库和分布式数据管理系统组成。

分布式数据库是计算机网络环境中各场地或节点上数据库的逻辑集合,它包括局部应用和全局应用(或分布应用)。局部应用仅对本节点的数据库执行某些应用,而全局应用是指对两个以上节点的数据执行某些应用。支持全局应用的系统才能称为分布式数据库系统。

分布式数据管理系统是分布式数据库系统中的一组软件,负责管理分布式环境下的数据存取、一致性、安全性和完整性等。

2.2 特点

分布式数据库是集中式数据库的发展,它具有集中式数据库特点的同时,还有其一些自身的特点。

(1)数据的共享性与自治性。所有站点的数据都是共享的,同时每个站点的数据库管理人员又可根据实际情况来选择存放于该站点的数据是否参与全局共享。

(2)冗余的可控性。这是分布式数据库系统与集中式系统不同的地方。在集中式数据库中,数据的冗余度是衡量数据库系统优劣的重要标志。但对于分布式数据库系统,适当的数据冗余可以提高数据的查询速度,增强安全性。对于不同站点用户应用的相同数据,在这些用户的站点各自存放一份,可以减少网络通信的成本,更重要的是,当某些站点上的数据丢失时,可以通过其它站点对它进行数据恢复。

(3)事务管理的分布性。与集中式相比,分布式数据库系统的事务管理更为复杂,其是针对全局数据的管理,它的所有事务是由局部子事务合成的。

(4)存取效率。分布式数据库系统的数据存放于不同站点,用户访问时,可以在多副本中选取最合适的场地副本进行数据访问,提高数据访问的速度和工作效率。

2.3 分类

根据建立的原则,可以把分布式数据库分为两类:同构和异构,它们具有各自不同的特点,可满足不同的系统需求。

同构分布式数据库是指各个站点上数据库的数据模型都是一致的。与之相对应的,异构分布式数据库各个站点上的数据模型不同,其各个站点上运行着不同的数据库管理系统。

2.4 系统结构

分布式数据库管理系统是负责对分布数据库进行管理,并使分布对用户透明的软件。它由5部分组成:局部数据库管理系统(LDBMS)、全局数据库管理系统(GDBMS)、全局数据字典、通信管理(CM)、和分布模式[3]。

局部数据库管理系统提供建立和管理局部数据库的功能,提供场地自治能力,可执行局部应用和全局应用的子查询;全局数据库管理系统是分布式数据库系统的用户界面,提供数据分布透明性,协调全局事务的执行,保证全局数据库数据的一致性;全局数据字典存放全局概念模式、分片模式和分配模式,以及各模式之间的映像等;通信管理是一个通信软件,执行节点间的基本通信功能;分布模式用于查询全局数据库信息及应用数据[4]。

3 基于分布式数据库的考试报名系统设计

基于分布式数据库系统,设计一个由考试管理中心(高教委)统一管理的,物理上分散的各个报名考试点用Internet联接组成的分布式考试报名系统,其系统结构如图2所示。

考点数据库中存放了本地考点学生的全部数据信息,中心数据字典存放全局概念模式、分片模式和分配模式,以及各模式之间的映像等。

考点数据管理、中心数据管理和通信管理组成了该考试报名系统的分布式数据库管理系统,它支持的基本功能有:应用程序的远程数据库操作,包括查询、更新等操作;支持分布式数据库系统的完全的或部分的透明性;对分布式数据库进行管理和控制,包括高教委考试中心全局数据库和本地考点局部数据库;支持分布式事务的并发和恢复。

中心数据管理负责管理全部学生信息的全局数据,它是本地用户,包括本校考点学生、本校教职工及维护人员等,与本地考点局部数据库的接口,同时也是用户与通信管理的接口。它负责查找和定位用户请求的数据,对不同的请求采取相应的的策略。当某一局部考点出现故障时,它能保证其它场地的正常运行,并及时恢复该场地以及处理全局数据与局部数据之间各个方面的转换等。

考点数据管理是该系统中物理上分散的各个本地考点的数据库管理系统。对于不同要求的考点,其功能也不同。对于自治性很强的考点来说,即承担该考点的学校在整个系统中承担较为重要的角色,具有很强的事务处理能力并需要有强大的功能支持,包括网上报名、用户管理、角色权限管理、报名管理、成绩管理、系统维护等等。在一般情况下,该类型的考点能够独立处理所有事务,除非发生重大意外造成数据丢失而必须利用备份对其进行数据恢复时,不需要与其它分布考点数据库和中心全局数据库的的通信管理,具有很强的自主权。可以看出,该类考点数据管理和集中式数据管理系统相同,实际应用中,可将学生数量适当、素质较高、学校师资力量强、教职人员整体水平较高的学校承办这样的考点,能够极大提高中心全局数据管理的效率。对于自治性较差的考点数据管理而言,其日常的事务处理要服从中心数据管理的指挥调度,并由通信管理完成各种数据的转换、传输等[5]。另外,考点数据管理还必须承担各种依据映射的转换并执行。

通信管理保证了各考点数据库之间、考点与中心之间的数据信息传送。无论何种通信网络,它们都遵循网络协议,通信管理正确使用该协议,为分布式考试报名系统提供正确而可靠的通信服务。

4 结论

分布式数据库是数据库发展的热点趋势,而基于此的分布式考试报名系统必然有良好应用前景,本文将两者有机结合加以研究设计,力求积极做好理论准备,早日迎接考试报名工作的网络化、规范化、系统化、程序化,真正实现考点与考生的“点对点”服务,实现双赢。

参考文献

[1]肖凌,等.分布式数据库系统的研究与应用[J].计算机工程,2001,27(1):33-35.

[2]宋少伟.考试网上报名系统的研究和开发[J].信息技术与信息化,2006,4.

[3]冯祖洪.MySQL的分布式数据库访问法[J].计算机应用,2002,22(8):4-6.

[4]Dennis Gitari Njagi.A Video Store Applocation Design and Implementation Using Java Servlet,Jsp and SQL Server.The Degree of M.Sc.Central South University,2004:53-57.

分布式数据库系统 篇10

数据库就是存储在计算机上的数据集合, 分布式数据库是部署在多台计算机上的数据的集合, 他们为了执行某任务需要进行协作。

实际上, 在分布式数据库系统的设计中, 大部分的问题来自数据的分布性问题, 所以如何进行数据分配, 对整个分布式数据库系统的可靠性、可用性、数据的存取效率和存取代价都有很大的影响。本文结合传统的算法, 进行了一些改进, 从两个维度分别考虑, 对数据分片进行分配, 提高了数据分配的效率。

代价公式的选择就是衡量系统中数据分配算法好坏的重要标准。这个表明, 在进行系统设计时看重系统的哪方面功能。本文选择的是以通信代价的好坏来衡量算法的效率, 并假设场地间的距离是理想的, 我们计算的场地间距离为归一化的值。

查询事务的代价公式为

其中, D_S为两场地之间的距离, 该距离为归一化后的距离

Q_E为查询事物t对场地i上的执行次数

Q_T为查询事务t对数据片段f的查询次数

S (Ff) 为分片f的大小

相应地, 更新事务的代价公式为

其中, U_E为更新事务t在场地i上的执行次数

U_T为更新事务t对数据片段f的查询次数

2 常用的片段分配算法

2.1 最佳适应分配法

该算法的大致思想:把所有的数据片段分为若干组, 初始时分配到各场地中去, 此时的数据分配方案为D0, 计算初始代价C0。然后按照顺序相对最优的分配每一数据分片分组, 分配一个分组时, 要固定其他已分配或未分配的分组, 使得要分配的分组在该条件下是最优分配。分配完所有的分组一遍后, 计算此时的总代价C1, 此时的数据分配方案为D1。若符合一定条件的约束, 则按以上的方法分配所有的数据分片, 否则让D0=D1, C0=C1, 再重复如上操作, 直到Ci与Ci-1满足约束条件的约束, 算法结束。

步骤

(1) 设系统中共有n个片段, 将其分为K组, 每组g个数据片段 (最后一组有可能不足g个片段) 。

(2) 将此事数据分配方案命为D0, 计算该分配的总代价为初始代价C0。

(3) 固定第2组到第k组数据分配方案, 进行第1组的数据片段的分配。对第1组的数据的各种分配进行代价计算, 选出最优的分配方案来, 按此方案分配第1组的g个数据片段。

(4) 依次固定第2组, ……第k组数据片段, 找出所有组的最优数据分配方案, 此时的数据分配方案成为D1, 此时对于这a个片段求总的代价为C1。

(5) 比较C1与C2, 如果两个代价的误差控制在一定的范围内, 则选定D1的分配方案, 否则继续执行以上的过程, 知道算法结束。

该算法的算法流程比较复杂, 用该算法计算一遍系统代价就已经有很大的工作量, 而且该算法有可能产生迭代求解过程, 这样系统的代价求解运算会更多。

2.2 启发式添加副本法

该算法的大致思想是:首先, 可以用最佳适应法等非冗余的分片分配方案, 把所有的分片分配到场地中去, 这样我们得到一个相对最优的非冗余的数据分配。接着, 分别尝试在场地Sj上添加部分Fi, 计算添加副本Fi后的系统的总代价。若整个系统的总代价减少, 则说明该分片的的分配有利于减少系统运行的总代价消耗, 就给Sj场地上分配副本Fi, 否则, 不分配。就这样, 依次把数据分片分配完毕。

步骤:

(1) 首先将所有数据分片非冗余的分配到场地中, 得到一个相对最优的数据分配策略。

(2) 将数据分片Fi冗余地分配到场地Sj上, 计算分配之前和分配之后该系统对于分片Fi的操作的总代价。

(3) 若分配数据片段Fi之后系统的总代价减少, 则把数据分片Fi分配到该场地Sj上, 否则, 不分配。

(4) 按照 (2) 、 (3) 的方法, 一直把所有分片都分配完毕。

启发式添加副本法, 在一开始添加副本时, 系统的代价计算所需要的时间和代价较小, 随着副本分配的增加, 因为每次计算的代价都不能迭代利用之前计算的结果, 而且计算条目越来越多, 这样计算量就会越来越大, 所以这并不是一个最好的数据分配算法。但是它考虑了前面的数据副本分配对后面的数据分配的影响, 并且实时地考虑了数据副本的分配对系统代价的影响。

启发式删除副本法, 与启发式添加副本算法类似, 但该算法是从冗余度最大的情况开始, 通过一步一步的衡量系统总代价的方式, 逐渐删除系统中的不利于减少系统总代价的冗余副本的算法。

2.3 得益代价法

该算法是在分别计算系统的得益与代价的基础上, 结合事务操作类型, 来对数据片段进行不同种操作。它是在启发式添加和删除副本算法上优化改进得到的。

基本思想:首先用非冗余的方式将数据分配到系统中, 使之代价较小。再将其中的事务分为只读事务和更新事务。按照只读事务进行数据片段副本的冗余分配, 再按更新事务对数据分片进行冗余副本的删除, 以减少维持系统一致性的开销。

步骤:

(1) 按非冗余算法, 在系统内分配好数据片段。

(2) 根据只读事务所涉及到的分片进行冗余地分配。若一个场地上的只读事务对某分片进行了查询操作, 那么将该分片复制到本场地上。该事务对此分片查询的网络通信代价为零, 该分片冗余分配结果是该分片及对应的场地和数据片段的分配矩阵。

(3) 根据更新事务进行冗余副本的删减。若一个更新事务涉及到对某分片的操作, 那么先计算删除该分片前后系统的代价, 若代价减少, 则删除该冗余分片。该算法在计算代价时, 只计算与该分片相关的代价, 不必计算系统总代价。

(4) 再找出查询事务中不涉及, 但更新事务中涉及的分片。按照更新矩阵和更新事务场地执行频率矩阵来分配这样的分片。

该算法按只读事务分配冗余数据, 又按更新事务对冗余的数据进行精简删除。这使得数据副本一方面按需分配, 另一方面又合理地降低了系统的副本冗余度, 减少了冗余数据维护费用。但是该算法也未能严格的保证数据副本冗余度的范围。在使用算法时, 可以根据具体场景外加条件, 限定副本冗余度的范围。

3 基于二维度的数据分配策略

该策略的基本策略是把场地上的数据片段的访问分为两种, 查询事务访问和更新事务访问。按照查询事务和更新事务对数据片段的访问量多少, 将数据片段分为查询类片段和更新类片段。然后从两个角度把数据分配问题分为四种情况, 并分情况讨论数据分配问题。首先, 我们将数据片段分为查询类片段和更新类片段, 再把场地内的事务分为查询事务和更新事务。从自定义的数据片段属性和场地事务属性把数据分配问题要讨论的情况分开讨论。

步骤:

(1) 首先, 进行数据统计。统计出每个场地发出的事务对各个数据片段的更新访问量和查询访问量。再统计出每个数据片段的更新访问量和查询访问量, 并求出每个数据片段的更新访问量和查询访问量的比值。根据这个比值的大小, 确定数据片段是查询类片段还是更新类片段。

对于该步骤中的比值, 它的大小一般来说是1, 但是在具体的场景下, 可以改变。比如在一个偏重查询的系统中, 可以把更新访问量与查询访问量的比值一定程度缩小, 以满足需要;在一个经常需要更新数据的系统中, 可以把该比值设置的大一些。通过控制这个比值的大小, 可以改变下一步中更新片段在系统当中的冗余程度。

(2) 按事务访问量大小进行分配。按照统计出的每个片段的访问量和每场地发出的事务对数据片段的访问量, 给该片段分配场地。分别选择查询类片段中查询访问量最大的和更新类数据中更新访问量最小的两个场地进行分配。根据该表可以找到查询类 (更新类) 数据片段Fi在场地Sj、Sk上的查询类 (更新类) 事务访问量最大 (最小) , 就将数据片段分配给它们。

在这里我们选择把查询类片段和更新类片段都同样按照访问量的多少进行冗余度为2的分配。在这一步中, 数据片段分配给两个场地上, 确保系统中的数据冗余度至少为2, 以确保系统的可靠性。

(3) 进行冗余分配。当场地上的查询事务对查询类片段进行查询时, 系统将分配一个冗余数据副本到该场地上;当对一个更新片段进行查询时, 系统统一不分配数据。当场地上的更新事务要涉及对查询片段进行访问时, 以冗余度为2为标准删除多余片段, 然后统一更新剩余查询片段;当涉及更新片段的操作时, 不分配数据, 不涉及分配操作。

这样, 查询类片段按需分配, 增加了片段冗余度, 减小了由于通过网络查询数据产生的开销, 在进行更新的时候缩减副本数, 降低了该片段的冗余度, 减少了维护数据一致性产生的开销, 该过程是一个动态的过程;对于更新类片段来说, 一直维持冗余度为2的标准, 因为更新类数据片段的性质, 我们采用通过增加网络查询的通信代价, 来缩小维护数据一致性的开销。

该算法仅通过添加了选择分类这样一个步骤, 在两个维度上对数据进行详细梳理, 再对数据进行不同的操作。在没有提高算法复杂度的基础上, 细化了算法的选择类别, 效率有所提高。

与传统的基于数据片段访问特性的算法比, 该算法在算法步骤上简化了不少。基于数据片段访问特性的分配法是首先按需分配查询类片段再用启发式删除副本法进行数据删减, 非冗余分配了更新类片段后再进行启发式副本添加。我们知道启发式添加副本法和启发式删除副本法在算法的复杂度上偏大, 所以导致该算法在复杂度方面并不突出。

本文提出的算法, 同样需要对数据和事务做出统计, 但是无需对数据的分配做太多处理, 根据数据及事务的分类标准, 就完成数据分片的分流处理, 更加简便。

4 实验结果

假设第一组实验的数据分片数为10, 节点数为5, 查询事务数是90, 更新事务数是100。各个分片容量分别为200, 300, 100, 200, 400, 100, 300, 200, 300, 100, 单位为KB。数据节点的容量均为100000KB。

节点间的通信代价和查询事务对分片的使用百分比情况, 如表1、2、3所示。

可以看出在数据片段比较少的情况下, 本文提出的分配策略表现情况一般。

第二组数据, 将分片扩展到50个, 节点扩展到10个, 查询和更新类事务都扩展为100个的情况下, 进行对比, 结果如表4所示。

在这组实验中, 基于二维度的分配策略所需的时间和代价明显比其他的算法要好。在实际的数据库系统中, 事务与分片的个数要远大于实验给出的个数, 用传统的分配策略, 时间和代价消耗较大。因此, 本文的算法具有一定的参考性。

5 结论

这种策略比基于数据片段访问特性的算法简单很多, 在算法的初始就分类好不同数据的走向, 简化了算法的流程, 从而缩短算法的求解时间;在数据量大的情况下, 可以明显改善算法的执行的代价。

参考文献

[1]Bhattacherjee S, Narang A, Garg V K.High throughput data redundancy removal algorithm with scalable performance[C].Proceedings of the 6th International Conference on High Performance and Embedded Architectures and Compilers.ACM, 2011:87-96.

[2]周波.分布式内存数据库数据冗余分配研究与应用[D].西南交通大学, 2013.

[3]杨洲.分布式数据库中数据分配策略的研究[D].哈尔滨工程大学, 2007.

[4]Lina S.Research on Query Optimization Algorithmin Distributed Database[J].International Journal of Digital Content Technology&its Applications, 2013, 7 (6) .

[5]南菊松.分布式数据库系统中数据分配算法研究[D].华中科技大学, 2013.

分布式数据库系统 篇11

关键词:P2P分布式数据库查询

0引言

在当今,分布式数据库已广泛应用于各行各业,如各大企业,集团。公司。银行等。分布式数据库系统就是把这些组织中的数据信息联系在一起,提供桥梁的作用。下面主要介绍了分布式数据库系统中如何使用P2P技术以及怎样高效的实现数据的查询。

1P2P技术

P2P是(Peer-to-Peer)缩写,意为点对点,对等网络计算,或称为对等联网。简单说,P2P就是点对点通信。可以定义为网络中的各计算机之间通过直接交换信息共享计算机资源和服务,对等计算机兼有客户机和服务器的功能。在这种网络中每个节点的计算机地位相同,可直接互连实现各种资源的共享,不需要依赖集中式服务器支持。近来P2P技术正日益受到重视,在大型分布式数据库中采用此技术比采用C/S技术具有很多的优点,如节省投资,更高的文件共享率等。

如今,对等网络技术正逐渐成为计算机网络的一个热门。随着互联网的普及和宽带技术的飞速发展,P2P技术在加强网络上人们的交流、信息交换、分布计算等方面大有前途。网络上现有的许多服务都采用了P2P的技术,它越来越受到网络用户的关注和喜爱。比如即时通信系统ICQ、MSN以及国内广泛使用的QQ是最流行的P2P应用。每年都有新的P2P软件出现,吸引网络用户的使用。在人们的使用中,其实最多的还是对数据信息的查询,采用P2P技术,是网络的计算模式从集中式向分布式偏移,处理的数据从中央服务器转向各个终端客户机。即使某个或某些节点的数据库出现问题,也不会影响其它节点问的通信。

2基于P2P技术的数据库系统

最初的分布式数据库管理都是基于客户服务器架构的,通过一个功能强大的服务器为组织内成员提供协作。而现在的大型数据库系统采用P2P技术,让人们通过互联网直接交互,人们在网络上进行信息的沟通更直接、更实时。网络中如果各节点间的数据服务是对等的,就构成了P2P数据系统。

传统的C/S、B,s模式,采用的是一种集中的手段,所有数据资料都存放在大型服务器上,每台客户机都要被动地从服务器上读取信息,并且客户机之间不具有直接交互能力。在这样的集中式数据库中,对服务器配置的要求很高;一旦服务器或者某个终端出现问题,将有可能影响整个网络的运行。其实,C/S模式下的数据查询完全依赖于中心节点服务器,没有服务器,网络就没有任何意义。而在对等网络中,每个节点的地位都是相同的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。这使人们在Intemet上的共享行为被提到了一个更高的层次,使人们以更主动深刻的方式参与到网络中去,每个人都能为网络的资源和功能扩展做出自己的贡献。总之,P2P的技术在数据传输与文件共享,分布式运算等方面应用很广泛。

当今企业。尤其是那些地理位置分散而管理又需集中的大集团,使用分布式数据库系统符合它们的管理思想和经营方式。在这些全国或全球性的公司,数据通常就已经是分布了。这种情况下,对于处理复杂大型的问题可以分别由各终端的部门完成,最后再汇总。然而整个信息是分离的,需要解决信息的共享问题。P2P技术的出现使企业中各部门信息的通信变得更容易了。

3数据库中的查询问题

随着网络技术的飞速发展,对数据通信也提出了更高的要求。在人们使用网络的过程中,应用最多的其实就是信息查询。归根结底,就是对数据库中的数据进行查询。数据库中使用P2P技术可以使数据更有效地分布到网络边缘,提高资源利用率。由于传统数据库系统的资源利用率低,各节点是静态定义的,它们的数据虽然可以共享,但没有预先的规则,而且扩展性、灵活性较差,这给查询带来了一定的困难。

在数据库系统中引入P2P技术不需要功能强大的中心服务器的支持,而是对等点之间通过直接互连实现信息资源、处理器资源、存储资源的全面共享。

P2P网络结构基本可分为纯P2P系统、中心文件目录,分布式文件系统、有中间服务器三种不同的结构。P2P技术是一种基于网络环境的技术,所以针对这一特性,主要考虑以下几个方面的问题。首先,P2P应用是对于互联网上众多计算机的,所以要考虑那些低端的不具备服务器那样强的联网能力的普通个人电脑。其次,在P2P技术中需要有关于数据描述和交换的协议。第三,构造一个合适的网络拓扑结构能快速准确地发现对等点。如何从网络中的海量数据库信息中快速地查找到需要的信息是一个看似简单其实很困难的事情。P2P网络模式中节点之间的动态对等关系是高效搜索信息的有力保证。它可以保证搜索的实时性,达到令人惊叹的搜索深度。除了以上三点,还有数据库的管理机制、数据的安全等问题。

不妨将整个的查询过程简洁地用两个步骤四个字来概括,即“搜索”,“定位”。搜索中尽量减少经过的节点数可以提高速度;同时引导数据流向“有用的区域”。这里所说的”有用”是相对的,不同的信息搜索“有用的区域”也不一样。根据不同的情况,可不同程度的采用宽度优先或深度优先的策略。高效的搜索方法可以减少请求服务和信息处理的时间。查询也有很多方式,最常见的是关键宇查询。对普通的计算机用户而言,上网的过程中经常使用这个方法。合适的关键宇对查询结果起到决定性的作用。其实,合适的关键宇可以引导查询走向“有用的区域”。对于专业的编程技术人员,在程序中对数据库进行信息查询使用最多的就是查询语言了,比如结构化查询语言SQL(Structured Query Language)。SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL同时也是数据库脚本文件的扩展名。由于它的嵌入性,在程序中使用的非常多。

4总结

分布式媒资管理系统数据库研究 篇12

1 分布式媒资管理系统数据库研究

1.1 分布式数据库介绍

分布式数据库是由分布存放在计算机网络连接的不同场地的计算机中的一组数据组成的, 每处计算机都有独立处理数据的能力, 各处场地的局部应用通过网络技术汇集于全局应用程序。分布式数据库具有数据独立性、数据集中、节点自治、数据可恢复性强、数据位置透明、易于扩展的特点, 因此更适合应用于分布式管理系统, 且能提高系统的可靠性、实用性, 降低运行成本;但由于分布式数据库是建立在网络平台上的, 因此数据的安全性和保密性控制难度大, 需要采取一定的安全防范措施。

1.2 分布式媒资管理系统数据库构建

1.2.1 系统结构

媒资管理系统设计时, 应在满足企业对全系统视频资料编目检索要求的前提下, 对企业所在地区、资源共享、管理统一各要素进行综合考虑, 建立可用性强、稳定性高、具有兼容性、可扩展性和先进性的分布式媒资管理系统, 如图1 所示。

1.2.2 分布式整体网络结构

在构建媒资管理系统时, 应用程序使用以太网, 而SCSI技术存储区域网络 (IP SAN) 则主要应用于后台服务器, 整体网络结构采用单网结构模式, 具体组成如下。

第一, 网络平台, 有以太网平台和存储网络平台两种, 前者采用千兆以太网实现编目和编辑, 减少系统单点故障对管理系统的影响;后者采用高性能的光纤磁盘阵列构建整个系统的核心平台, 主要负责视频、音频数据的存储和传输。

第二, 服务器系统, 该部分是整个系统的中枢, 网络用户、数据库系统以及应用程序的管理都通过服务器系统实现, 因此服务器的配置性能较高, 以确保系统运行的高效性。

第三, 视音频上/ 下载、编辑处理系统。媒资系统的实用价值主要通过这一组成部分实现, 该组成部分可提供上传软件、下载软件、编辑软件、审查软件、配音软件以及串编软件等多种功能, 各种功能通过网络技术整合在一起, 以满足不同部门的需求。

第四, 网络管理系统, 这是决定网络运行效率的重要因素, 只有制定完整、科学的管理功能模块, 才能对人员、素材、存储空间、工作流程等各项内容进行管理, 提高系统运行的高效性。

1.3 媒资管理系统数据库应用技术分析

1.3.1 数字压缩技术

压缩技术是将图像转换为电子信号的一种技术, 而数字压缩技术则是对传统技术的革新和升级, 数字压缩技术利用信息论原理和数据压缩编码法, 在保留原有信息量的同时, 消除了冗余数据。

1.3.2 数据存储技术

数据存储技术在IT行业发展过程中, 占据着举足轻重的地位。按照某种策略进行层次化存储的分级存储方案极大的扩展了数据存储设备的存储能力, 满足了更多用户的需求。

1.3.3 数据冗余保护技术

硬盘属于实时加电、实时读取的一种存储介质, 一旦出现问题就会导致数据丢失, 为保护硬盘数据, 应采用冗余和校验数据保护技术, RAID技术就是其中较为重用的一种。

1.4 系统应用流程

编目检索网络系统利用整体规划、统一建立完善的存储结构, 各部门结构利用一体化网络运行平台, 实现数据资源在不同子系统内的迁移, 而各子系统的运行仍能保持原有的独立性。

1.5 系统安全管理

1.5.1 防病毒管理

系统中节目制作网络系统是以计算机为平台的信息处理系统, 因此做好计算机的病毒安全防范十分必要。具体防范措施有:①物理隔离法。②端点输入设备屏蔽法。③安装防病毒软件, 定期更新病毒库, 利用专业软件的检测和查杀功能对系统网络进行安全检测。

1.5.2 系统管理

系统运行成功与否的标志是网络管理, 常用的网络管理手段是Auto Net。媒资管理系统可利用集成界面, 为用户提供便利的网络管理, 实现素材管理、标题管理、人员管理、栏目管理、设备管理、权限管理、磁盘空间管理、日志管理、统计报表、公告信息等各项功能。

1.5.3 素材管理

素材管理分为单机素材管理和网络素材管理, 以后者为例, 管理分为个人素材管理和集中素材管理两种体制, 操作人员可对素材的分享权限进行设定和更改;系统还能根据既定策略对节目题目或者素材进行自动删除, 确保磁盘可用空间保持在某一范围内。

1.6 分布式应用管理平台

1.6.1 功能平台

分布式媒资管理系统的主要功能包括声像资料的上传、下载、检索、浏览以及不同地区之间的远程协同办公。

第一, 中心节点主要功能是负责下级地区上报资料的汇集和审核, 同时完成声像资料制作, 形成最终的上报资料;地方节点的主要是采集视音频素材, 远程获取中心节点的视音频资料, 对资料进行处理、上报, 配合中心节点的工作。

第二, 中心节点和下级地区节点的视音频资料检索和下载服务主要通过数据检索模块实现, 检索时即可通过资料的字段检索, 还可通过全文进行检索, 必要时还可利用系统的二次检索功能, 进行下一步检索, 以得到更为精确的搜索结果;资料目录浏览和在线浏览功能, 可为用户提供更为便利的服务;资料下载功能使用前, 系统需要对下载人员进行资格审查, 只有具有权限的人员才能下载资料。

第三, 协同办公模块主要工作是完成下级地区和中心节点之间的任务分发、信息反馈工作。中心节点可以利用网络将任务分配到下级节点, 下一级的视音频资料可通过协同办公系统上传到中心节点, 中心节点和下级地区节点任务分发和执行过程中的信息交换需要通过信息反馈模块实现。协同办公模块还提供资料下载, 并能生成应用统计报表。

1.6.2 管理平台

管理平台主要具备的功能有素材共享管理、文件重命名功能、分布式存储管理功能、资料分类编目功能、用户权限和日志管理功能。其中, 分布式存储是将所有存储设备统一管理, 然后对外提供虚拟接口, 为使用者提供虚拟的存储设备。

2 结语

随着广播电视发展速度和规模的不断加大, 媒体资产管理规律和种类也逐渐增多, 给电台电视台的管理造成了极大的困难。分布式管理系统以网络平台为基础, 将各项管理系统集中在网络平台上, 改善了媒体资产的管理效率。

摘要:随着数字广播电视业务的不断发展, 媒体资产管理难度逐渐加大, 传统的管理模式无法满足用户的需求。分布式数据库管理系统利用网络平台对数据资源进行统一管理, 相对于传统的信息管理系统具有较强的优越性。本文将以媒体资产为例, 对分布式管理系统数据库相关内容进行讨论。

关键词:分布式,媒体资产,管理系统,数据库

参考文献

[1]付瑞佳.分布式媒资数据库管理系统研究[D].哈尔滨:哈尔滨工程大学, 2008.

[2]李晶晶.分布式数据库在管理信息系统中的应用[D].武汉:武汉理工大学, 2004.

[3]陈驿.广电媒资管理系统的设计与实现[D].厦门:厦门大学, 2013.

上一篇:教师课程能力下一篇:元素形态