yangtingkun
===========================================================
冲突解决方案概念和体系结构——高级复制
===========================================================

文档在这一章介绍了冲突解决方案的概念。


无论是多主复制环境还是可更新物化视图复制环境,只要有两个以上的站点存在同时的写操作,就可能导致数据的不一致,为了保证各个站点上的数据统一性,就必须设定冲突解决方案。

其中多主复制每个主站点都会在出现数据冲突时根据预设的冲突解决方案来解决数据的冲突。而物化视图复制环境只在主站点和可更新的主物化视图站点运行冲突解决方案。

根据冲突的类型不同,可以分为更新冲突、唯一冲突和删除冲突。

更新冲突指的是两个或更多站点在几乎同时(多主复制是在两个主站点将修改推到对方之前,而物化视图复制则是在物化视图刷新之前)修改了同一条记录。Oracle预设了LAST TIMESTAMPOVERWRITEADDITIVEAVERAGEDISCARDEARLIEST TIMESTAMPMAXIMUMMINIMUMPRIORITY GROUPSITE PRIORITY多种冲突解决方案。其中LAST TIMESTAMPADDITIVE可以保证在多主环境中数据的统一性。而MAXIMUMMINIMUMPRIORITY GROUP都是在满足一定条件下可以保证多主环境中数据统一性。其他的方法用在多主环境中很可能会造成各个站点在进行冲突解决后数据不一致,因此更适合作为物化视图复制环境的冲突解决方案,或者第二冲突解决方案。在所有冲突解决方案中,最常使用的是LAST TIMESTAMP加上SITE PRIORITY作为后备冲突解决方案,因为两个站点的时间戳可能出现重复。

唯一冲突是指两个或更多站点在几乎同时(多主复制是在两个主站点将修改推到对方之前,而物化视图复制则是在物化视图刷新之前)插入或更新的数据的唯一键值相同。Oracle提供了APPEND SITE NAMEAPPEND SEQUENCEDISCARD三种冲突解决方案,其实大部分唯一冲突都可以从设计层面避免。

删除冲突指的是两个或更多站点在几乎同时(多主复制是在两个主站点将修改推到对方之前,而物化视图复制则是在物化视图刷新之前)删除同一行记录,或者一个站点删除记录,而另一个站点对数据进行了更新。Oracle并没有提供解决删除冲突的解决方案,对于删除冲突可以通过避免DELETE语句,或者用户自己提供的冲突方案来解决。

yangtingkun 发表于:2010.06.18 21:46 ::分类: ( 读书笔记 ) ::阅读:(492次) :: 评论 (0)

发表评论
标题

在此添加评论
表情符号: smile laughing tongue angry crying sad wassat wink

称呼

邮箱地址(可选)

个人主页(可选)

 authimage


切换风格
新闻聚合
博客日历
文章归档...
最新发表...
最新评论...
最多阅读文章...
最多评论文章...
博客统计...
Blog信息
网站链接...