Oracle高级复制基础(上)

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

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

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

  一.基本概念

  1.分布式数据库技术

  分布式数据库技术是目前我们经常提及的分布式计算的一个重要组成部分,该技术允许数据在多个服务器端共享。采用分布式数据库技术,一个本地服务器可以存取不同物理地点的远程服务器上的数据;也可以使所有的服务器均可以持有数据的拷贝/复制,这样分布式系统中设计一个分布式计算解决方案首先需要考虑的问题就是应用的完整性、复杂性、性能和可用性以及响应时间等,同时还需要考虑的是对于不同的应用需求是采用实时存取远程数据还是采用延迟存取远程数据。这对于数据复制来讲就是采取实时更新复制方案还是延迟数据复制方案。

  2.同步和异步的概念

  同步分发数据库技术是一种实时远程存取和实时更新数据的技术。这种技术可以保证应用的完整性降低了应用的复杂性,但是如果系统存在网络存取速度很慢这样的问题,相应响应时异步分发数据库技术是一种延迟远程存取和延迟传播对数据更新的技术。这种技术具有很高的可用性和很短的响应时间。相比同步分发数据库技术就显得复杂一些,为了确保应用的完对于实际的商业问题,必须权衡这两种技术的利弊最终选择最佳的解决方案,有些问题选用同步技术比较适合,也有一些问题采用异步技术是比较好的解决方案,还有一些问题必须综合这两种技术。

  3.复制的概念

  复制,顾名思义就是将数据库中的数据拷贝到不同物理地点的数据库中以支持分布式应用,它是整个分布式计算解决方案的一个重要组成部分。上面介绍了同步和异步的概念,这里针对复制也存在同步复制和异步复制的问题。

  同步复制,复制数据在任何时间在任何复制节点均保持一致。如果复制环境中的任何一个节点的复制数据发生了更新操作,这种变化会立刻反映到其他所有的复制节点。这种技术适用于那些对于实时性要求较高的商业应用中。

  异步复制,所有复制节点的数据在一定时间内是不同步的。如果复制环境中的其中的一个节点的复制数据发生了更新操作,这种改变将在不同的事务中被传播和应用到其他所有复制节点。这些不同的事务间可以间隔几秒,几分种,几小时,也可以是几天之后。复制节点之间的数据临时是不同步的,但传播最终将保证所有复制节点间的数据一致。

  4.更新冲突

  在异步复制环境中,对于所有应用最关键的就是要确保数据的一致性。我们来看下面这种情况会有什么后果发生呢?在同一时间对同一个表的同一行数据的同一列在两个不同的地点作更新。这种情况就会发生称之为更新冲突的错误。为保证数据的一致性,更新冲突必须被检测到并且处理以确保在不同地点的数据元素保持同样的值。更新冲突可以通过限制"所有权"到单一节点或者将更新某个特定数据元素的权利限制到某一具体节点的方法来避免。

  二.Oracle数据复制应用模型

  为确保实际应用数据的一致性,必须在异步复制应用模型中考虑冲突避免或者冲突检测和消除的方法。例如,对于一个实际商业应用,首先必须在逻辑上了解该商业应用采取的冲突避免方法和在某个节点有那些数据以及这些数据中那些是可更新的,而那些又是不可更新的。在下面的这一部分中,我们首先将详细讨论两种常用的冲突避免方法:主站点所有权模型和动态所有权模型。然后,讨论共享所有权模型以及这种模型引起的冲突检测和处理问题,最后,讨论针对Fail-over的复制配置,这种复制方案同时考虑了冲突避免和冲突检测与消除两种情况。

  1.主站点所有权

  主站点所有权,异步复制数据被一个单一节点"所有",这些要复制的数据仅能被该节点更新,其他节点向拥有该数据的主节点订阅(subscribe)数据,这意味着他们在本地系统上只能够存取这些复制数据的只读拷贝。下面是一些这样的例子。

  (1)决策支持系统(DSS)的联机事务处理数据的卸载。来自一个或者多个OLTP系统的数据可以被卸载到一个独立的局部DSS中,用于只读分析。

  (2)中央信息的分发。产品信息,如价格列表等在总部节点上维护,然后将这些信息复制到远程销售办事处的只读产品目录系统中

  (3)远程信息的集中。许多远程节点上的产品目录数据复制到总部节点,这里总部节点一个主节点拥有一个表的完全所有权,而其他节点只能订阅这个表的只读拷贝。也可以是多个主节点拥有同一个表的截然不同子集或者划分,而另一些节点则订阅这些子集或者划分的只读拷贝。如,一个分布的产品目录系统可以让不同的销售办事处拥有一个表的属于自己的一个"水平"部分,如在客户(CUSTOMERS)表,订单(ORDERS)表和目录(ITEMS)这些表中含有每个销售办事处为之服务的客户和产品信息。中心总部节点可以通过订阅每个办事处拥有的数据来保持一个完整的所有产品和客户信息的只读拷贝。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号