Oracle高级复制基础(上)

发表于:2010-6-18 10:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  2.动态所有权

  动态所有权,异步更新将复制数据从一个节点移到另一个节点,而在该过程中,必须保证在同一时刻只有一个特定的节点可以对数据进行更新。一个典型实际应用就是“海关订单处理系统”,订单处理的典型步骤是,报关→同意→装运→开单→收单→入帐等。应用模型可以执行其中的任何步骤,但必须保证各个不同模块的同一个数据应该在一个综合数据库中。在该系统中,当且仅当订单的状态表明前一个步骤已经完成时,下一个应用模块才可以执行更新订单数据的操作。例如,“装运”应用模块仅能在“报关”并且得到“同意”后才能被执行。(Delphi中通过使用动态所有权复制模型,可以将一个系统分布在多个节点和数据库上,也就是说应用模型可以建立在不同的系统上。我们还是来看上面的例子,“报关”和“批准”这两部分可以运行在一个系统上,“装运”在另一个系统上,“开单”和“收单”等又可在一个系统上。在这个分布式系统中,数据可以被复制到不同的节点上,这些节点对复制的数据只要具有只读的权限即可。如,利用复制,“报关”节点可以监视已经报关的订单处理过程。

  前面讨论的主节点所有权和动态所有权复制模型具有一个共同的特征:在任何一个给定的时间点,只允许一个节点有更新数据的权利,而其余节点对于复制的数据拷贝仅有只读权限。然而,还存在这样的情况,允许多个节点可以更新同一个数据,在极端情况下可以是在同一时刻,这就是所说的共享所有权。

  3.共享所有权

  共享所有权使用异步复制,这对于主节点和动态所有权模型来讲存在一些限制。在共享所有权情况下,整个系统可以存在暂时的不一致,同时必须使用冲突检测和消除。共享所有权模例如,对于前面我们讨论的那个采用具有水平划分主节点复制方案来的分布式"订单处理系统"的例子。采用共享所有权模型,每个销售办事处都有库表中不同的水平划分,该库表含有每一个办事处为之服务的一些订单信息和与消费者有关的顾客信息。每一个销售办事处只输入与自己有关的顾客订单情况,而不管其余顾客信息。

  然而,在实际商业应用中,这个模型不是最佳的选择。例如,这种情况,一个零售集团在一个大城市中可以有好几个商场。顾客可能经常去离他们住的最近的那个商场,但是偶尔也可能到其他商场去购物。这时,如果多家商场执行更新同一个顾客和其订单数据的信息,更新冲突就会发生。所以在这种情况下必须要采用冲突检测和消除方案。

  Oracle高级复制支持同时既考虑冲突避免又考虑冲突检测和消除的复制模型。Oracle高级复制之所以又称为对称复制,其原因之一就是支持对称复制模型,也就是可以在任何地方更新,即所有的复制节点都可以进行更新处理。为了避免冲突,一种方法就是将应用设计为将更新限制在一些特定的节点。对于共享所有权,Oracle提供了自动冲突检测和消除方案。

  4.备用数据库(Fail-Over)

  异步复制通过将一个主系统数据复制到另一系统,可以起到对主系统的崩溃提供保护的作用,这也就是所说的Fail-Over系统,如果主系统出现问题,业务依旧可以通过复制数据库进行。

  Oracle高级复制支持这种Fail-Over配置。同时,Oracle也针对Fail-Over提供了另外两个可选的解决方案:Oracle并行服务器和备用数据库配置。用户可以根据吞吐量、可用性、事务损失的可能性和其他一些如数据一致性、方法的局限性等参考指标来权衡选择合适的Fail-Over方案。

  三.Oracle高级复制配置

  Oracle高级复制即可支持基于整个表的复制也可支持基于部分表的复制两种复制方案。这两种复制方案主要是通过Oracle的两种复制机制来完成的,即多主复制和可更新快照复制,同时还可以将这两种复制机制结合起来以满足不断变化的业务需求。

  1.多主复制

  多主复制方案支持全表在各个主节点间的对称复制,允许所有主节点对主表都有更新操作的权利。任何一个主节点上的复制表的更新都会被传播并被直接应用到其他所有主表。一个主节点出现问题,不会对其他主节点之间变化的传播造成影响。

  多主复制采用一种称为"延迟远程过程调用(deferred remote procedure calls RPCs)"

  的机制作为主要的传播和应用变化的机制。各节点之间变化的传播,既可以以基于事件的方式立即传播,也可以在某个特定的时间点,如在网络空闲时(如晚上)传播。在传播变化时,如果其中的一个远端系统没有准备好,传播变化的延迟远程过程调用(RPCs)就会保存在其本地队列中,等到系统准备好以后再执行。

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号