第11章分布式数据库与分布数据处理(不讲)课件

上传人:仙*** 文档编号:241639071 上传时间:2024-07-12 格式:PPT 页数:52 大小:2.05MB
返回 下载 相关 举报
第11章分布式数据库与分布数据处理(不讲)课件_第1页
第1页 / 共52页
第11章分布式数据库与分布数据处理(不讲)课件_第2页
第2页 / 共52页
第11章分布式数据库与分布数据处理(不讲)课件_第3页
第3页 / 共52页
点击查看更多>>
资源描述
绍兴文理学院元培学院数数 据据 库库 系系 统统 及及 应应 用用分分布布式式数数据据库库与与分分布布数数据据管管理理第第11章章 分布式数据分布式数据库库与分布数据管理与分布数据管理什么是分布式数据库?分布式数据库的数据分布方式 分布式数据库的特点和目标 SQL Server的分布数据管理 什么是分布式数据库?分布式数据库是一个物理上分布于计算机网络的不同地点、而逻辑上又属于同一系统的数据集合。网络上每个地点的数据库都有自治能力,能够完成局部应用;同时每个地点的数据库又属于整个系统,通过网络也可以完成全局应用。分布式数据库的示意图分布式数据库的特点数据的物理分布性数据的逻辑整体性数据的分布透明性场地自治和协调工作数据冗余分布式数据库的数据分布方式集中式,即所有数据安排在一台服务器上,这是一种特殊情况,实质上是集中数据库管理方式。分割式,即将全部数据分割成若干部分,分别存放在若干场地的计算机上,或者说是将一个整体数据库分成若干子集,每个子集放在一个数据库服务器上。复制式,即将一个数据库复制多个副本,在每个数据库服务器上都有一个完整的数据库副本。混合式,即分割式与复制式的混合。数据分片水平分片,即通过关系代数的选择操作,按一定的条件将全局关系划分成若干个子集,每个子集可以看作是一个数据分片。垂直分片,即通过关系代数的投影操作将关系按属性划分成若干个子集,同样,每个子集也可以看作是一个数据分片。混合型分片,即先按水平分片再按垂直分片,或先按垂直分片再按水平分片,依此种方法可以将一个全局关系划分成若干子集,或从一个全局关系划分出若干子集。分布式数据库的特点和目标本地自治(local autonomy)不依赖中心场地(no reliance on a central site)可连续操作性(continuous operation)位置独立性(location independence)分片独立性(fragmentation independence)复制独立性(replication independence)分布式查询处理(distributed query processing)分布式事务管理(distributed transaction management)硬件独立性(hardware independence)操作系统独立性(operating system independence)网络独立性(network independence)DBMS独立性(DBMS independence)本地自治 即分布式系统中的每个场地的系统都是一个独立、可以自治的系统,可以独立完成本地的操作即使其他场地的计算机发生死机也不受影响。本地自治还意味着本地数据都是本地拥有和管理的,包括数据的安全性、完整性和存储形式等等都在本地的控制和管辖之下。不依赖中心场地 不依赖中心场地和本地自治实际是相类似的目标。本地自治本身就意味着不过分依赖其他场地,意味着所有场地是“平等”的。反之,依赖中心场地则意味着非中心场地不能自治。可连续操作性 可连续操作性意味着分布式系统可以提供更高的可用性和可靠性,这个目标得益于前两个目标:可靠性:某个场地出现故障不会影响整个系统的连续操作(可能降低了应用水平)。可用性:分布式系统具有数据复制的功能,所以某个场地的故障可能对整个系统的连续操作没有任何影响。位置独立性 位置独立性也称作位置透明性,即用户不需要知道数据物理存储在什么位置。对用户来讲,分布式系统中的所有数据都“逻辑存储在本地”。位置独立性简化了用户程序和终端的操作,即便存储的数据在场地之间物理迁移也不会影响用户程序和终端的正常操作。分片独立性 分片独立性和位置独立性的目标是一致的。分片独立性使用户感到数据就像没有被分片,由系统来确定所访问的分片存储在什么地方。实际上,分片独立性意味着用户将使用一个视图,这个视图中的数据是各个分片通过适当的连接和集合的并操作逻辑地组合在一起。复制独立性 复制独立性的含义是用户并没有感觉到复制的存在,用户访问的是哪个副本是由系统确定的,这意味着即便某个场地的副本被损坏了,也不会影响系统的操作。更新传播 复制独立性带来的主要问题是更新传播,即如果一个复制的副本更新了,则所有的副本都必须得到同步的更新。解决更新传播问题的常用方法是:将复制的副本分为主副本和从副本,被复制的对象有一个被指定为主副本,其他均为从副本;不同数据对象的主副本存储在不同的场地;更新总是首先作用在主副本上;一旦完成了对主副本的更新,则由主副本所在的场地负责将更新传播到所有从副本上;为了保证事务的ACID性质,只有所有的副本都完成了更新,事务才算完成。分布式查询处理 用户可能在一个场地提出查询要求,而所要求查询的数据存储在另一个场地。一个分布式系统可能含有分片式分布和复制式分布,系统应该找到一个最优的途径、以最优的方式完成分布式查询处理。影响分布式查询效率的主要因素是网络的数据传输速度,所以分布式查询优化的一个目标就是降低网络数据的传输数量。分布式事务管理 事务管理主要包括并发控制和恢复控制两个方面,在分布式系统中它们将更复杂。在分布式系统中,一个事务可能会操作不同场地的数据。为此在分布式事务管理中引入了一个代理的概念,所谓代理是指在一个场地代表一个事务执行的进程。硬件独立性 所谓硬件独立性是指不同场地的计算机不必是一样的,有些场地使用IBM的机器,另外一些场地则可以使用联想的机器等。操作系统独立性 每个场地不必使用统一的操作系统,有些场地可能使用Windows 2000/NT,而另外一些场地可以使用Unix等。网络独立性 一个系统支持多个场地,这些场地可以使用不同的计算机硬件、运行不同的操作系统,当然也可以支持不同的网络通讯系统。DBMS独立性 不同的场地可以在不同的计算机上运行不同的数据库管理系统,也就是说分布式系统还应该支持DBMS独立性。SQL Server的分布数据管理 SQL Server提供了复制式分布策略的功能来支持分布数据的管理,通过服务器之间的数据复制来实现数据的分布式管理。复制技术 SQL Server专门用于分布式数据管理的是复制(Replication)技术。为了方便理解数据复制技术的概念和过程,在SQL Server中使用了出版发行订阅这样的术语。SQL Server通过数据出版产生数据的副本,通过数据发行传送数据的副本,通过订阅获得数据的副本。基于事务的复制 显然不可能在每次数据更新时都传送数据的副本,这样的开销太大了。所以,SQL Server提供了基于事务的复制,即在复制的开始传送一次副本,使相关数据库服务器上的数据同步,然后通过传送和执行事务使分布的数据保持一致。紧凑一致和松散一致 紧凑一致(tight consistency)保证所有的拷贝与源数据内容在任何时刻都完全一致松散一致(loose consistency)允许在源数据的改变与目标数据的更新之间有一个时间延迟两阶段提交 所谓两阶段提交就是在多个数据库上连续地修改同一数据库的副本,如果在一个服务器上事务提交失败了,则已经提交事务的也必须撤消事务(第一阶段);只有所有的数据库的(第一阶段)事务提交都成功了,才最后确认事务成功(第二阶段)。复制的过程 在复制开始之前,首先将要分布在各个服务器上的共享数据制作一个相同的副本,并把它存放在各个服务器上,我们把这个过程称作同步。在此之后复制开始,复制拷贝的不是数据,而是影响数据的事务。事务是从数据库的事务日志中记录下来的,被标明用作复制。这些事务随后会被拷贝到目标数据库(不在一台服务器上),并作用于目标数据库。如果目标数据库开始就与源数据库的数据相同,那么在拷贝的事务发挥作用之后,两个数据库中的数据就应该完全相同。这就是复制的概念。出版、订阅和发行 在SQL Server的复制技术中,使用出版(Publication)、发行(Distribution)和订阅(Subscription)这样的术语。由此也就有了出版数据库、发行数据库、订阅数据库以及出版服务器、发行服务器和订阅服务器的概念。复制的源数据就是出版数据,而目标数据就是订阅数据,从源数据到目标数据的过程则是发行。出版服务器与出版物 出版服务器可以定义为存放被复制数据的源服务器。在一个出版服务器上可以有一个或多个出版数据库作为数据源。在一个出版数据库中可以建立一个或多个出版物,每个出版物由若干文章(Article)构成。一“篇”文章是根据一个表进行选择、投影或选择和投影的混合运算产生的结果。订阅服务器 订阅服务器与出版服务器相对应,是存放复制数据的目标服务器。在订阅服务器上有订阅数据库,它从一个或多个服务器上订阅出版物。发行服务器 发行服务器扮演的是“存储和转发”的角色,在发行服务器上有发行数据库,它存储来自出版服务器的出版数据,并将这些数据转发到订阅服务器。发行数据库只在复制时使用,不包含任何用户表。它的内容是由出版数据库提供的。出版与订阅 从出版的角度,可以选择垂直分片出版、水平分片出版或混合分片出版。从订阅的角度,可以选择垂直分片订阅、水平分片订阅或混合分片订阅。即可以根据实际情况来选择复制的数据集。推订阅和拉订阅 订阅的行为可以发生在出版服务器上,也可以发生在订阅服务器上。当订阅行为发生在出版服务器时称为推订阅。当订阅行为发生在订阅服务器时称为拉订阅。复制模型1复制模型2复制模型3复制模型4复制的类型 SQL Server用于分布式应用的复制类型有快照复制、事务复制和合并复制。快照复制是事务复制和合并复制的基础。快照复制也可以单独使用。快照复制快照复制可以简单的理解为将某一时刻的数据的副本传送到订阅服务器上。快照复制是特定时刻的拷贝,它不监视对数据的更新。如下情况可以使用快照复制 主要是静态数据,不经常更改;当数据确实发生更改时,将一个完全新的副本传送到订阅服务器。一个时期内允许有已过时的数据复本。复制少量数据(在整个数据刷新为合理的情况下)。快照复制是通过快照代理程序和发行代理程序实现的 快照代理程序将根据出版数据库创建模式和数据文件,并将它们存储在快照文件夹中,然后由发行代理程序将它们传送到订阅服务器。快照代理程序的执行步骤:建立从发行服务器到出版服务器的连接,并在出版所包含的所有表上设置共享锁,以保证数据快照的一致性。这些共享锁将阻止所有其他用户更新这些表。建立从出版服务器到发行服务器的连接,并将每个项目的表模式等复制到特定的文件。在出版服务器上复制已出版表中的数据,并将这些数据写入快照文件夹。向发行数据库的有关目录表追加行(指出同步集位置的命令,以及引用订阅服务器同步任务的命令)。释放所有已出版表的共享锁,完成日志表的写入。发行代理程序的执行步骤:建立从代理程序所在服务器到发行服务器的连接,如果是推订阅,发行代理程序通常在发行服务器上运行,如果是拉订阅,发行代理程序通常在订阅服务器上运行。检查发行服务器上发行数据库中的相关目录表,代理程序从中读取同步集的位置和订阅服务器的同步命令。将读到的结果应用到订阅数据库。事务复制 在订阅服务器上应用快照复制后,使得在多台计算机上有了同一数据的副本,这一过程也可以称为初始同步。以后则可以通过事务复制使得分布式数据库中的各个复制副本保持一致。事务复制用事务日志捕获已出版数据中发生的修改,即监视INSERT、UPDATE和DELETE语句或其它数据修改,并将这些修改存储到发行数据库中,然后再将这些修改传播到订阅服务器上。当出版服务器的数据更改希望及时传播到订阅服务器上时应该使用事务复制。事务复制事务复制是由快照代理程序、日志读取器代理程序和发行代理程序实现的。快照代理程序准备快照文件,其中包含了已出版表和数据库对象的模式和数据,然后将这些文件存储在快照文件夹中,并在发行服务器上的发行数据库中记录同步作业。日志读取器代理程序监视已为事务复制配置的每个数据库的事务日志,并将日志读取器代理程序监视已为事务复制配置的每个数据库的事务日志,并将已设复制标记的事务从事务日志复制到发行数据库中。已设复制标记的事务从事务日志复制到发行数据库中。发行代理程序将保存在发行数据库表中的事务和初始快照作业发行代理程序将保存在发行数据库表中的事务和初始快照作业移动到订阅服务器上。移动到订阅服务器上。事务复制日志读取器代理程序监视源数据库的事务日志,该事务日志记载了对出版表的修改,当一个事务发生在出版的表上时,就被“刻上”复制标志,并最终被送到订阅服务器,订阅服务器根据这些事务日志来更新订阅的表。在出版服务器和订阅服务器之间建立复制关系以后,复制是自动的,不需要人工干涉。只要有事务提交,就会使出版表和目标表都被更新,只不过出版表和目标表的更新会有一段时间延迟。这是因为要经过日志阅读过程和发行过程才能把事务传送到订阅服务器。合并复制 合并复制使许多不同的站点可以自主工作,然后在稍晚的适当时候再将更新合并成一个统一的结果。为此,需要首先在订阅服务器上应用初始快照,然后SQL Server在出版服务器上和订阅服务器上跟踪已出版数据的更改。数据或是连续地、或是按调度时间或是按需在服务器之间同步。由于更新是在多个服务器上进行的,所以同一数据可能由出版服务器或者由多个订阅服务器进行了更新。于是,合并更新时就可能出现冲突。当冲突发生时,合并代理程序唤醒调用一个冲突解决程序,并决定接受哪个站点的更新。当有如下应用需求时应该使用合并复制 多个订阅服务器需要在不同时刻更新数据并将这些更改传播到出版服务器和其它订阅服务器。订阅服务器需要接收数据,脱机更改数据,然后将更改同步到出版服务器和其它订阅服务器。合并复制合并复制是由快照代理程序和合并代理程序实现的。快照代理程序准备快照文件,其中包含已出版表的模式和数据,然后将这些文件存储在快照文件夹中,并在出版数据库中插入同步作业。合并复制代理程序将保存在出版数据库表中的初始快照作业应用到订阅服务器上。该代理程序也合并那些创建初始快照之后在出版服务器或订阅服务器上发生的增量数据更改,并根据配置的规则或者使用创建的自定义冲突解决程序协调冲突。合并复制的过程 一旦在订阅服务器上应用了快照复制,SQL Server即开始跟踪在出版服务器和订阅服务器上执行的INSERT、UPDATE和DELETE语句,并将参与合并复制的每个表的更新操作都记录在特定的系统表中(不管出版服务器和订阅服务器当时是否建立了连接)。当出版服务器和订阅服务器建立连接、并运行合并代理程序时,合并代理程序将所有未提交的行更改收集到一个或多个组中,并依据指定的策略协调更新冲突,最后将合并的结果传播到有关的服务器上(数据从更改发生处流向需要更新或同步处理的站点)。结束语当你尽了自己的最大努力时,失败也是伟大的,所以不要放弃,坚持就是正确的。When You Do Your Best,Failure Is Great,So DonT Give Up,Stick To The End谢谢大家荣幸这一路,与你同行ItS An Honor To Walk With You All The Way演讲人:XXXXXX 时 间:XX年XX月XX日
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!