您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 分布式数据库及其在飞机订票系统的应用
分布式数据库及其在飞机订票系统中的应用一、分布式数据库系统1、分布式数据库概述随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩大,以分布式为主要特征的数据库系统的研究与开发受到人们的注意。分布式数据库是数据库技术与网络技术相结合的产物,在数据库领域已形成一个分支。分布式数据库的研究始于20世纪70年代中期。世界上第一个分布式数据库系统SDD-1是由美国计算机公司(CCA)于1979年在DEC计算机上实现。20世纪90年代以来,分布式数据库系统进入商品化应用阶段,传统的关系数据库产品均发展成以计算机网络及多任务操作系统为核心的分布式数据库产品,同时分布式数据库逐步向客户机/服务器模式发展。分布式数据库的典型定义是:分布式数据库是一个数据集合,这些数据在逻辑上属于同一个系统,但物理上却分散在计算机网络的若干站点上,并且要求网络的每个站点具有自治的处理能力,能执行本地的应用。每个站点的计算机还至少参与一个全局应用的执行。2、DDBS的优缺点1)DDBS优点:(1)更适合分布式的管理与控制。分布式数据库系统的结构更适合具有地理分布特性的组织或机构使用,允许分布在不同区域、不同级别的各个部门对其自身的数据实行局部控制。例如:实现全局数据在本地录入、查询、维护,这时由于计算机资源靠近用户,可以降低通信代价,提高响应速度,而涉及其他场地数据库中的数据只是少量的,从而可以大大减少网络上的信息传输量;同时,局部数据的安全性也可以做得更好。(2)具有灵活的体系结构。集中式数据库系统强调的是集中式控制,物理数据库是存放在一个场地上的,由一个DBMS集中管理。多个用户只可以通过近程或远程终端在多用户操作系统支持下运行该DBMS来共享集中是数据库中的数据。而分布式数据库系统的场地局部DBMS的自治性,使得大部分的局部事务管理和控制都能就地解决,只有在涉及其他场地的数据时才需要通过网络作为全局事务来管理。分布式DBMS可以设计成具有不同程度的自治性,从具有充分的场地自治到几乎是完全集中式的控制。(3)系统经济,可靠性高,可用性好。与一个大型计算机支持一个大型的冀中是数据库在加一些进程和远程终端相比,由超级微型计算机或超级小型计算机支持的分布式数据库系统往往具有更高的性价比和实施灵活性。分布式系统比集中式系统具有更高的可靠性和更好的可用性。如由于数据分布在多个场地并有许多复制数据,在个别场地或个别通信链路发生故障时,不至于导致整个系统的崩溃,而且系统的局部故障不会引起全局失控。(4)在一定条件下响应速度加快。如果存取的数据在本地数据库中,那末就可以由用户所在的计算机来执行,速度就快。(5)可扩展性好,易于集成现有系统,也易于扩充。对于一个企业或组织,可以采用分布式数据库技术在以建立的若干数据库的基础上开发全局应用,对原有的局部数据库系统作某些改动,形成一个分布式系统。这比重建一个大型数据库系统要简单,既省时间,又省财力、物力。也可以通过增加场地数的办法,迅速扩充已有的分布式数据库系统。2)DDBS的缺点:(1)通信开销较大,故障率高。例如,在网络通信传输速度不高时,系统的响应速度慢,与通信县官的因素往往导致系统故障,同时系统本身的复杂性也容易导致较高的故障率。当故障发生后系统恢复也比较复杂,可靠性有待提高。(2)数据的存取结构复杂。一般来说,在分布时数据库中存取数据,比在集中时数据库中存取数据更复杂,开销更大。(3)数据的安全性和保密性较难控制。在具有高度场地自治的分布时数据库中,不同场地的局部数据库管理员可以采用不同的安全措施,但是无法保证全局数据都是安全的。安全性问题式分布式系统固有的问题。因为分布式系统式通过通信网络来实现分布控制的,而通信网络本身却在保护数据的安全性和保密性方面存在弱点,数据很容易被窃取。分布式数据库的设计、场地划分及数据在不同场地的分配比较复杂。数据的划分及分配对系统的性能、响应速度及可用性等具有极大的影响。不同场地的通信速度与局部数据库系统的存取部件的存取速度相比,是非常慢的。通信系统有较高的延迟,在CPU上处理通信信息的代价很高。分布式数据库系统中要注意解决分布式数据库的设计、查询处理和优化、事务管理及并发控制和目录管理等问题。3、数据分片1)数据分片的类型:(1)水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。(2)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。(3)导出分片:又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。(4)混合分片:以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。2)数据分片的条件:(1)完备性条件:必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。(2)可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。(3)不相交条件:要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。4、体系结构数据分片和数据分配概念的分离,形成了“数据分布独立型”概念。数据冗余的显式控制。数据在各个场地的分配情况在分配模式中一目了然,便于系统管理。局部DBMS的独立性。这个特征也称为“局部映射透明性”。此特征允许我们在不考虑局部DBMS专用数据模型的情况下,研究DDB管理的有关问题。所谓全局应用,要求使用通讯子系统在几个站点存取数据。这个定义强调了分布式数据库的两个重要特点:分布性和逻辑相关性。下图给出了典型的分布式数据库系统(DDBS)的物理结构。其中在不同地域的3台计算机分别控制本地数据库及各终端用户T;每台计算机及其本地数据库组成了此分布式数据库的一个站点,各站点用通讯网络连接起来,可以是局域网或广域网。DDBS的物理结构图下图给出了分布式数据库的逻辑结构。其中,DDBMS是分布式数据库管理系统,用来支持分布式数据库的建立和维护。LDBMS是局部数据库管理系统,也就是通常的集中式数据库管理系统,用来管理本站的数据。DDBS的逻辑结构5、DDBS的安全性保证分布式数据库系统是物理上分散而逻辑上集中的数据库系统。分布式数据库系统使用计算机网络将地理位置分散而管理和控制需要不同程度集中的多个逻辑单位(通常是集中式数据库)连接起来,共同组成一个统一的数据库系统。因此,分布式数据库系统可以看成是计算机网络与数据库系统的有机组合。Internet的高速发展推动着分布式数据库的发展,但同时也增加了分布式数据库安全问题的复杂性。如何才能保证开放网络环境中分布式数据库系统的安全?一般情况下,分布式数据库面临着两大类安全问题:一类由单站点故障、网络故障等自然因素引起,这类故障通常可利用网络提供的安全性来实现安全防护,所以说网络安全是分布式数据库安全的基础;另一类来自本机或网络上的人为攻击,即黑客攻击,目前黑客攻击网络的方式主要有窃听、重发攻击、假冒攻击、越权攻击、破译密文等,针对这类安全隐患,有下列分布式数据库安全关键技术:身份验证,保密通信,访问控制,库文加密。6、分布式数据更新(1)、分布式数据更新的原则和方法在分布式数据库系统中,为了获得高查询速度和高可靠性,以增加数据复制的代价来减少数据通信的代价,并增强系统的可靠性。但由于数据复制在多个站点上,一旦要对有多个副本的数据进行更新时,为保证数据库的一致性,就必须对这些数据的所有复制版本同时做同样的更新。先考虑单用户情况。如果站点A上有一个事务T对数据X进行更新,若X在站点B1,B2,…,Bn和C1,C2,…,Cm上有副本。而现在站点B1,B2,…,Bn与站点A连通,但站点C1,C2,…,Cm与站点A现在不连通,如下图:说明:(1)、R在B1,B2,…,Bn和C1,C2,…,Cm上有副本;(2)、但只有站点B1,B2,…,Bn与站点A连通而站点C1,C2,…,Cm与站点A暂时未连通。此时,现在只能对连通站点B1,B2,…,Bn上的X副本进行更新,而对未连通站点C1,C2,…,Cm上的X副本,只能当站点连通时才能进行更新。为此,要记录对X所做的更新内容和应更新而未连通的站点,一旦其中的站点连通,就立刻进行相应的更新。(2)、分布式数据更新存在的问题分布式数据更新,存在如下两个问题:多站点各副本同时更新的不现实性:因为每一个站点某一时刻与站点A连通的概率为P(P=1),同时更新要求每一个有X副本的站点与A都连通,其概率为P**n,当n→∞时,P**n→0。当对未连通的站点上的副本要求更新的事务增多时,就不能保证在该站点A连通时,进行的更新是正确的。因为更新的顺序就是站点连通的顺序,但通常情况下,对数据的更新顺序不会等于站点连通的顺序。7、分布式查询分布式数据库系统中数据的分布导致查询也具有了分布性,分布式查询可能针对异类的OLEDB或ODBC数据源。SQLServer支持分布式查询,即包括来自两个或更多服务器数据的查询,支持服务器间的检索、更新和游标,并使用MicrosoftDistributedTransactionCoordinator(MSDTC)保证节点间事务语义,维护服务器间的安全。分布式查询处理负责将用户查询转换为各站点上的物理查询,并负责合并各子查询结果以得到最后结果。在分布式环境下,查询可以分为三种:局部查询,远程查询和全局查询。局部查询是指在本站点上执行查询,即查询本站点上存放的数据。远程查询是指在某个站点上执行查询,即查询在网络上的另一个战点上存放的数据。站点A要更新R站点B1站点B2站点Bn站点C1站点C2站点Cm…….…….分布式查询处理模型二、一个具有三个站点的飞机订票系统1、飞机订票业务概述这个订票系统维护一个分布在三个站点,即机场1,2,3上的数据库。数据库存储有关机场规程、班机调度、班机可用情况和旅客订票等数据。假定各班机直接从出发机场到到达机场,中途不停站。其功能结构图为:2、飞机订票系统数据库概念模式设计机场表编号字段名称数据类型说明1IDint序号2namechar城市3signchar符号4rightchar权力5areaint区域6safechar安全规程飞机订票系统旅客订票飞机起飞旅客登记班机表编号字段名称数据类型说明1IDint序号2numberint机号3dateint日期4seatchar可用座位5entryint进入口6spicturechar座位图7delaychar延期8gtimeint起飞时间9atimeint到达时间机场符号城市权力区域安全等级班机进入口机号到达时间日期可用座位起飞时间延期座位图旅客表编号字段名称数据类型说明1IDint序号2namechar旅客名字3tnumberInt电话4snumberInt座位号5tkindchar机票种类6pnumberInt行李号旅客旅客名字机票种类电话座位号行李号班机旅客机场n1n13、飞机订票系统逻辑数据库设计4、全局数据模式和全局操作模式(1)飞机订票数据库的全局数据模式(2)飞机订票数据库全局操作模式订票应用(订票图),每当一新的旅客想预定一班机的机票时,就被激活。在这种情况下,访问数据库中的起飞与到达的机场,起飞与到达时间和班机日期。这些属性在图中标以“k”,表明它们被用作访问数据的关键词。箭头表明经由两个关系“从”与“到”访问从机场实体到班机实体的进行情况。实体左下角和右下角中的数字分别表示示例总数和由应用选择的平均示例数。一旦确定了班机,就建立旅客实体的一个新的示例及联系订票的一个示例;关于旅客名字,电班机机场旅客从到订票登记区域权力符号城市起飞时间到达时间可用座位检查行李安全规程机号日期延期名字电话种类座位图进入口座位号全局数据模式图话和种类的数据被写入数据库。可用座位属性先读后写(“O,W”;O表示输出,W表示写入)。登记应用(登记图),凡旅客实际登机时,先执行登记任务。根据旅客名字和班机号与日期
本文标题:分布式数据库及其在飞机订票系统的应用
链接地址:https://www.777doc.com/doc-2649547 .html