楼主: lc7888

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

[复制链接]
论坛徽章:
117
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主7段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32紫蛋头
日期:2013-03-04 17:00:07优秀写手
日期:2013-12-18 09:29:09
71#
发表于 2005-2-22 13:53 | 只看该作者

Re: Re: Re: Re: 不好意思,笔误,就当作难得糊涂吧

最初由 Kamus 发布
[B]

http://www.itpub.net/showthread. ... 017&pagenumber=

这贴?

同步复制?那如果主备之间网络出现了问题呢?
同步复制始终在同一个transaction中完成,如果整个环境中的任何一个site没有成功执行事务,那么整个transaction将被回滚,包括源site。
herycom能否描述一下这部分的整体方案?如果避免由于网络问题带来的的事务失败。
另外我还比较感兴趣的是,同步复制的情况下对于主库的影响有多大?能否提供一些比较数据,比如在没有同步复制的时候,1秒钟可以完成多少次insert,加上同步以后又是多少? [/B]


不太可能是同步复制,复制技术不可避免的引入额外的内部操作,导致额外的负担。

对于任何大规模、高并发、高变更的数据环境肯定都会存在问题。
我使用简单数据的测试,给于WAN的:
无复制情况下,3500条/秒 左右
同步复制情况,30条/秒 左右

[php]
SQL> begin
  2  for i in 1 .. 10000 loop
  3  insert into test_2 values (i,'eygle',1,1,sysdate,'123');
  4  commit;
  5  end loop;
  6  end;
  7  /

PL/SQL procedure successfully completed.

Elapsed: 00:00:03.52

SQL> select to_char(datlogontime,'yyyy-mm-dd hh24:mi:ss'),count(*)
  2  from test_2
  3  where test_2.vc2username='eygle'
  4  group by to_char(datlogontime,'yyyy-mm-dd hh24:mi:ss') ;

TO_CHAR(DATLOGONTIM   COUNT(*)
------------------- ----------
2005-01-11 15:14:57         64
2005-01-11 15:14:58       2607
2005-01-11 15:14:59       3536
2005-01-11 15:15:00       3551
2005-01-11 15:15:01        242

Elapsed: 00:00:00.09
SQL>

SQL> select to_char(datlogontime,'yyyy-mm-dd hh24:mi:ss'),count(*)
  2  from test
  3  where test.vc2username='eygle'
  4  group by to_char(datlogontime,'yyyy-mm-dd hh24:mi:ss')
  5  /

TO_CHAR(DATLOGONTIME,'YYYY-MM-   COUNT(*)
------------------------------ ----------
2005-01-11 15:02:23                    19
2005-01-11 15:02:24                    31
2005-01-11 15:02:25                    30
2005-01-11 15:02:26                    30
2005-01-11 15:02:27                    30
2005-01-11 15:02:28                    30
2005-01-11 15:02:29                    28
2005-01-11 15:02:30                    32
2005-01-11 15:02:31                    27
2005-01-11 15:02:32                    29

.
[/php]

至于如果任意站点出现问题,人工介入不可避免,基本上不可能自动判断的。

不过话又说回来,任何技术都不可能解决所有的问题,能解决部分问题就不错了。

使用道具 举报

回复
论坛徽章:
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
72#
发表于 2005-2-22 14:25 | 只看该作者

Re: Re: Re: Re: 不好意思,笔误,就当作难得糊涂吧

最初由 Kamus 发布
[B]

http://www.itpub.net/showthread. ... 017&pagenumber=

这贴?

同步复制?那如果主备之间网络出现了问题呢?
同步复制始终在同一个transaction中完成,如果整个环境中的任何一个site没有成功执行事务,那么整个transaction将被回滚,包括源site。
herycom能否描述一下这部分的整体方案?如果避免由于网络问题带来的的事务失败。
另外我还比较感兴趣的是,同步复制的情况下对于主库的影响有多大?能否提供一些比较数据,比如在没有同步复制的时候,1秒钟可以完成多少次insert,加上同步以后又是多少? [/B]


说句实在话,对于oracle的同步复制,我是畏惧的

使用道具 举报

回复
论坛徽章:
31
管理团队2006纪念徽章
日期:2006-04-16 22:44:452012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:52铁扇公主
日期:2012-02-21 15:02:402013年新春福章
日期:2013-02-25 14:51:242014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14
73#
发表于 2005-2-23 06:27 | 只看该作者

Re: Re: Re: Re: Re: 不好意思,笔误,就当作难得糊涂吧

最初由 eygle 发布
[B]

不太可能是同步复制,复制技术不可避免的引入额外的内部操作,导致额外的负担。

对于任何大规模、高并发、高变更的数据环境肯定都会存在问题。
我使用简单数据的测试,给于WAN的:
无复制情况下,3500条/秒 左右
同步复制情况,30条/秒 左右

[/B]


Hi Eygle,

did you do a test on Async replcation too in this environment ? what 's the figure ?
( I know it must be something in between :-) )

And one more question ,  does anyone here use procedural replcation before in Production  ?
or heard any site doing that ?

thanks

使用道具 举报

回复
论坛徽章:
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
74#
发表于 2005-2-23 09:29 | 只看该作者

Re: Re: Re: Re: Re: Re: 不好意思,笔误,就当作难得糊涂吧

最初由 wing hong 发布
[B]

Hi Eygle,

did you do a test on Async replcation too in this environment ? what 's the figure ?
( I know it must be something in between :-) )

And one more question ,  does anyone here use procedural replcation before in Production  ?
or heard any site doing that ?

thanks [/B]


这个也是不好的,如果同步阻塞一段时间,将可能造成本地表空间(出现相关问题的例子都是系统表空间)问题  和 重新同步时候数据量太大的麻烦问题。

因为这不过是存放在本地相当于queue 里。

使用道具 举报

回复
论坛徽章:
117
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主7段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32紫蛋头
日期:2013-03-04 17:00:07优秀写手
日期:2013-12-18 09:29:09
75#
发表于 2005-2-23 09:36 | 只看该作者
俺们在用基于WAN的同步复制,至少到目前还没有出现问题。

不过心里还是惴惴的

使用道具 举报

回复
论坛徽章:
4
生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-11-23 21:42:02ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:45生肖徽章2007版:狗
日期:2009-05-07 20:16:29
76#
发表于 2005-2-23 09:57 | 只看该作者
我们以前也做过容灾的调研,是通过 IBM 的存储设备 Fast 和它本身的软件来实现的。不过版本太新(2004年10 月刚出来的),后来由于风险和成本的考虑就没有上。

它的实现方式是这样的:

在源端,通过 Fast 提供的一个软件 Remote Mirror 将数据传到目标端,会对数据块一致性进行检测,据他们的人说,对主机的影响小于10% 。在源端有一个缓冲队列,当目标端出现问题时会数据暂时存在那里。

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
77#
发表于 2005-2-23 14:25 | 只看该作者
实现异步复制,可以把queue的基表从system表空间中移出来

使用道具 举报

回复
论坛徽章:
60
2007年度最佳版主
日期:2008-04-03 16:46:15现任管理团队成员
日期:2011-05-07 01:45:08双黄蛋
日期:2011-06-15 17:03:34ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期: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
78#
发表于 2005-2-23 15:55 | 只看该作者

Re: Re: 不好意思,笔误,就当作难得糊涂吧

最初由 Kamus 发布
[B]

上周去quest作了一次技术交流
席间也问到了DSG的问题,DSG产品的优势在于效率快,但是确实是可能出现数据不同步的现象,而且据说无法查出原因

[/B]


不要这么不厚道么

使用道具 举报

回复
论坛徽章:
0
79#
发表于 2005-2-23 20:46 | 只看该作者

几天没来,好热闹呀

我解释一下同步复制的问题。
目前我们只是做过测试,还没有下定决心做。
但我从测试的过程发现,同步复制的两台机器间推荐采用100M以上光纤连接,一定要稳定。(不同的wan也有带宽和延迟的不同,我们就有20多公里远的100M光纤环境)
同步复制最大的诱惑力在于:可以有效利用容灾设备,并且能够因平常就在实际使用而保证容灾环境的确实可用。有需求的技术就能发展,我对同步复制有信心。
对数据库性能的影响也很大程度决定于网络延迟以及对方主机性能,所以双方主机性能要差不多。
刚用oracle本身的功能我觉得肯定不能投入实用,一定要增加实时监控和报警,自动性能优化等辅助功能。

其实,物化视图、同步复制、异步复制都属于oracle的高级复制,我对高级复制有信心。
也许我孤陋寡闻,我还没听说谁用物化视图做复制,为什么?就是没有配套的控制、报警、自动优化、容错、自动核对机制。

顺便说句,感谢在我们这里没有试用成功的公司,虽然没有成功,但你们都多次派人现场安装测试,也付出了很大成本,真是没有功劳也有苦劳。同时我相信你们的产品可能只是在我们这个特殊情况下不能用,经过不断改进,你们的市场应该会越来越广。

我也想说说,厂家失败一个项目对厂家来说只是一个项目,但对客户来说影响可是100%,所以不要老 埋怨客户要求苛刻,客户也有难处。

上面有位提到 “还有什么优化不能oracle解决”,我指的是针对复制的专门的自动优化功能,oracle虽然有手段,但不会自动特殊处理。

还是前面提到的观点,我主要讨论的技术应用,而不是技术本身。我们做技术的,只有应用好了,才能有价值。

使用道具 举报

回复
论坛徽章:
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
80#
发表于 2005-2-23 22:19 | 只看该作者

Re: 几天没来,好热闹呀

最初由 herycom 发布
[B]
也许我孤陋寡闻,我还没听说谁用物化视图做复制,为什么?就是没有配套的控制、报警、自动优化、容错、自动核对机制。

[/B]


其实关于 snapshot (or  MV) 的问题,使用的人很多,只是因为比较平常,所以讨论比较零散,很少作为同步专题拿出来探讨。


我们公司这个用的很多,至于数据库服务器重点方面的监控,我们还是有一系列的完善的监控手段,短信报警目前基本是5分钟的检查周期,马上将做一系列的尽可能适时的全面的短信监控。


关于自动优化一说,个人认为你说的太笼统,能否具体化一些?

使用道具 举报

回复

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

本版积分规则 发表回复

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