楼主: lc7888

[精华] 数据库容灾、复制解决方案全分析

[复制链接]
论坛徽章:
0
41#
发表于 2004-12-13 16:55 | 只看该作者
先顶一下再说!

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
42#
发表于 2004-12-14 16:58 | 只看该作者
高人.
我也一直在自己摸索这些原理的东西. 进展不大. 都怪老板让我干活太多,没时间上网学习. 呵呵.

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
43#
发表于 2004-12-15 01:11 | 只看该作者
最初由 biti_rainy 发布
[B]我一直有一个困惑,存储级的 复制,假如是同步的,能保证 数据库所有文件一致吗 ?或者说是保证在 异常发生的那一刻有足够的缓冲来保障?

也就是说,复制的时候起文件写入顺序和oracle的顺序一致吗?如果不一致就可能有问题,那么是通过什么机制来实现的呢?


上次一个存储厂商来讲产品,我问技术工程师这个问题,没有能给出答案 [/B]


这个如果基于存储的复制方式是同步的,这是可以保证的.因为同步复制是复制IO,而且是主机端写IO的顺序技术复制的顺序,主要分成以下四步:主机端一个IO下来,存储复制到远端,然后远端完成IO,最后返回通知主机IO完成.  但是存储不保证数据库在此时逻辑上是一致的,这是靠数据库本身的机制来完成的. 即此时源端数据库崩溃,如果可以通过数据库相应恢复手段来恢复的话,远端复制的存储也可以.

但如果是异步方式的话,问题就比较麻烦. 异步与同步的区别就是,异步主机IO下来后不需要等远端存储IO完成和确认,直接返回主机端IO完成. 这些IO暂时存放在源端存储缓存里,等累计到一定程度或满足给顶条件时,在传送到远端. 此时如何保证传递的IO顺序从而保证逻辑一致,就与具体的产品有比较大的关系了. 有的产品没有保证机制,直接用存放的顺序发送, 但在实际传送过程中没有保证,如由于线路等原因造成部分传送等. 有比较好的旧有时间戳和顺序号,而且还有逻辑分组,即主机端IO下来的时候是事务相关和逻辑分组的. 存储就将这一组IO逻辑分组,按写下的顺序标号, 这样在异步传送到远端后就可以根据逻辑分组和IO标号来完成IO. 类似具有事务的性质.

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
44#
发表于 2004-12-15 08:56 | 只看该作者
最初由 yl1998 发布
[B]

这个如果基于存储的复制方式是同步的,这是可以保证的.因为同步复制是复制IO,而且是主机端写IO的顺序技术复制的顺序,主要分成以下四步:主机端一个IO下来,存储复制到远端,然后远端完成IO,最后返回通知主机IO完成.  但是存储不保证数据库在此时逻辑上是一致的,这是靠数据库本身的机制来完成的. 即此时源端数据库崩溃,如果可以通过数据库相应恢复手段来恢复的话,远端复制的存储也可以.

但如果是异步方式的话,问题就比较麻烦. 异步与同步的区别就是,异步主机IO下来后不需要等远端存储IO完成和确认,直接返回主机端IO完成. 这些IO暂时存放在源端存储缓存里,等累计到一定程度或满足给顶条件时,在传送到远端. 此时如何保证传递的IO顺序从而保证逻辑一致,就与具体的产品有比较大的关系了. 有的产品没有保证机制,直接用存放的顺序发送, 但在实际传送过程中没有保证,如由于线路等原因造成部分传送等. 有比较好的旧有时间戳和顺序号,而且还有逻辑分组,即主机端IO下来的时候是事务相关和逻辑分组的. 存储就将这一组IO逻辑分组,按写下的顺序标号, 这样在异步传送到远端后就可以根据逻辑分组和IO标号来完成IO. 类似具有事务的性质. [/B]


同步如果是从主机下来的IO直接复制,这样频繁的小IO将造成网络的大量问题,这对网络的要求太高了。 以前都是听人说同步是从 存储的cache 来的,拷贝的时候封锁cache不允许写……

使用道具 举报

回复
招聘 : 其它语言研发
论坛徽章:
0
45#
发表于 2004-12-16 11:37 | 只看该作者
我觉得这个和同步I/O和异步I/O没有关系,对于存储级的复制,他们都有一个队列来保证I/O的次序,这是类似于ca/emc等厂商的这些存储级(varitas文件系统级)复制的一个共同点。至少我知道veritas声称的原理是这样的。

如果不能保证I/O的次序,存储级复制没有任何意义。而且像ca这样的软件,他并不是实时改变多少就穿多少,我觉得他记录在磁盘头的tab应该隔多少时间加一次锁,然后新的插入写cache,所以如果这个时间源端off的话,cache中的数据应该是丢失的(磁盘坏)。
软件级的复制也一样,你总有一个队列来处理ops/rac的事务顺序,这个队列有放在磁盘上用文件来排队的,也有直接在内存中排队的,这些也是关键的东西。当然像软件复制这样的软件可以通过重新分析日志的方式来弥补,如果磁盘没有坏的话。

使用道具 举报

回复
论坛徽章:
12
会员2006贡献徽章
日期:2006-04-17 13:46:34生肖徽章2007版:兔
日期:2009-03-10 21:27:28ERP板块每日发贴之星
日期:2007-10-24 01:04:58ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44设计板块每日发贴之星
日期:2007-10-18 01:06:03ITPUB元老
日期:2007-10-11 14:47:20开发板块每日发贴之星
日期:2007-10-10 01:05:30行业板块每日发贴之星
日期:2007-10-01 01:05:12行业板块每日发贴之星
日期:2007-09-30 01:05:35会员2007贡献徽章
日期:2007-09-26 18:42:10
46#
发表于 2004-12-20 10:26 | 只看该作者
希望斑竹作成CHM版本

使用道具 举报

回复
论坛徽章:
78
ITPUB15周年纪念
日期:2020-08-28 17:23:53双鱼座
日期:2016-03-19 19:38:31秀才
日期:2016-02-18 09:31:52秀才
日期:2016-01-25 15:02:04双子座
日期:2016-01-19 20:35:54秀才
日期:2016-01-13 12:14:26秀才
日期:2015-12-25 15:31:10秀才
日期:2015-12-18 09:28:57秀才
日期:2015-12-14 14:56:09秀才
日期:2015-12-14 14:51:16
47#
发表于 2004-12-21 15:12 | 只看该作者
同步绝对就是那样,每个在SOURCE端写入的东西必须被远端的存储设备写入成功(不一定是写入磁盘)才返回主机写入成功,基本可以认为就是一个距离很远的RAID1。一致性的问题不用担心,但是带宽要求等等都是很高的。
异步的方法,在之前很多是不能保证一致的,呵呵。最近据说多了很多能保证一致的方法,就知道HDS会吧所有写记录到本地一个日志卷,EMC和IBM的方法还没有弄的很清楚。

使用道具 举报

回复
论坛徽章:
0
48#
发表于 2004-12-31 11:24 | 只看该作者

看看我们的实际应用

现在介绍我们数据库同步的成功案例,你们提到的问题都可以解决。
现在我们的数据同步已经投入了实际运行,采用逐步增加表的方式。目前已经同步了149个表,其中包括详单表,统计基表等。最大的6000多万记录,有16个超过1000万记录,采用10分钟异步复制。主要有以下特点:
1、关键业务数据(排出了很多垃圾数据),数据量最小
2、对生产机影响较小,目前一般只用到300M 空间
3、目标端数据不可以修改,完全保证数据一致
4、初始同步快捷、方便,不需要停止生产系统应用。影响小,只相当如一个select。
5、管理方便、灵活:能够看到各表上次同步时间;上次同步后又有多少条新数据;上次各表同步耗费多长时间等。
目前每天进行一次count(*) 检查,没有发现有问题。
如果想知道具体的实现方法和更具体的信息可以给我留email:
herycom@hotmail.com .

使用道具 举报

回复
论坛徽章:
0
49#
发表于 2004-12-31 12:05 | 只看该作者

补充说明

我们一前也试用过dsj和shareplex的产品,从名气上来说,应该还不错。具体不是我亲自试用的,但最后没有能够成功,我想与我们的系统复杂、数据库本身不是很稳定、要求太高有关。
1、这是一个24小时运行的系统,停止应用程序来进行初始同步比较麻烦。
2、需要在每天早晨从同步的数据中产生关键的数据和报表,要求不能耽误。
3、要求管理维护简单、灵活:要求运行稳定,同步中断后能够简单快速处理完。

现在我们用的oracle机制,加上第三方数据同步管理软件,只用了1个晚上就将主体数据同步好,一周就正式投入使用。然后逐步完善增加同步的表,目前已经同步了149张表,还对同步数据进行了分区处理等优化,从目前的近一个月的情况来看效果理想。
经过一年半还多的时间试用了2家产品没有能够成功,用一周时间就解决了问题(主要报表实际上第二天就正式使用了),心里是多么的欣慰、兴奋和富有成就感。
所以写了这么多东西。

使用道具 举报

回复
论坛徽章:
0
50#
发表于 2004-12-31 13:00 | 只看该作者

更全面的文档

无私奉献给大家,版权所有不要抄袭。
(如果你要抄袭也没有办法,也不可能一个个来告你,告了也是费钱耽误时间)

http://www.newilive.com/doc/报表机、容灾解决方案介绍.ppt

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表