查看: 5243|回复: 17

【大话IT】读写分离怎么处理

[复制链接]
论坛徽章:
17
生肖徽章2007版:马
日期:2014-02-14 16:38:54美羊羊
日期:2015-03-04 14:52:28优秀写手
日期:2015-03-04 06:00:14三菱
日期:2014-02-14 16:38:55蜘蛛蛋
日期:2012-07-09 13:55:32鲜花蛋
日期:2012-06-19 10:48:54奥运会纪念徽章:曲棍球
日期:2012-06-18 14:01:36迷宫蛋
日期:2012-06-11 15:34:58紫蛋头
日期:2012-04-05 09:43:52迷宫蛋
日期:2012-04-05 09:43:38
发表于 2015-3-2 08:35 | 显示全部楼层 |阅读模式
现在生产上想要实现读写分离,大家推荐哪种方案哪?
1:4节点rac,两节点读,两节点写
2:2个2节点rac,1套rac做主库(写),1套rac做备库(dg实现),但是由于需要主备库之间时间差异要是毫秒级别,难道只能用最大保护模式吗?这种模式会有什么问题哪?
3:同2,只不过采用异步模式,这样子时延在什么级别哪?
这三种方案,哪种适合我们的需求那?
需求有两个:
1:读写分离
2:读操作的备库必须保证毫秒级别,最差1秒内。


论坛徽章:
183
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
发表于 2015-3-2 10:10 | 显示全部楼层
11g的active dataguard

使用道具 举报

回复
论坛徽章:
311
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
发表于 2015-3-2 11:16 | 显示全部楼层
jieyancai 发表于 2015-3-2 10:10
11g的active dataguard

ACTIVE DG 能否满足备库毫秒级差别的误差?

使用道具 举报

回复
论坛徽章:
17
生肖徽章2007版:马
日期:2014-02-14 16:38:54美羊羊
日期:2015-03-04 14:52:28优秀写手
日期:2015-03-04 06:00:14三菱
日期:2014-02-14 16:38:55蜘蛛蛋
日期:2012-07-09 13:55:32鲜花蛋
日期:2012-06-19 10:48:54奥运会纪念徽章:曲棍球
日期:2012-06-18 14:01:36迷宫蛋
日期:2012-06-11 15:34:58紫蛋头
日期:2012-04-05 09:43:52迷宫蛋
日期:2012-04-05 09:43:38
 楼主| 发表于 2015-3-2 11:21 | 显示全部楼层
jieyancai 发表于 2015-3-2 10:10
11g的active dataguard

保护模式不同,时延也不同吧。
用adg能否即要保证我们时延,又要保证我们主库不能被备库搞垮,或者说被hang住。

生产上是否推荐用最大的保护模式。

使用道具 举报

回复
论坛徽章:
183
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
发表于 2015-3-2 12:25 | 显示全部楼层
wangzk0206 发表于 2015-3-2 11:21
保护模式不同,时延也不同吧。
用adg能否即要保证我们时延,又要保证我们主库不能被备库搞垮,或者说被h ...

是的。
官方的说明很清楚,您的这个需求只能权衡一下了,呵呵:
Maximum Availability

This protection mode provides the highest level of data protection that is possible without compromising the availability of a primary database. Transactions do not commit until all redo data needed to recover those transactions has been written to the online redo log and to the standby redo log on at least one synchronized standby database. If the primary database cannot write its redo stream to at least one synchronized standby database, it operates as if it were in maximum performance mode to preserve primary database availability until it is again able to write its redo stream to a synchronized standby database.

This mode ensures that no data loss will occur if the primary database fails, but only if a second fault does not prevent a complete set of redo data from being sent from the primary database to at least one standby database.

Maximum Performance

This protection mode provides the highest level of data protection that is possible without affecting the performance of a primary database. This is accomplished by allowing transactions to commit as soon as all redo data generated by those transactions has been written to the online log. Redo data is also written to one or more standby databases, but this is done asynchronously with respect to transaction commitment, so primary database performance is unaffected by delays in writing redo data to the standby database(s).

This protection mode offers slightly less data protection than maximum availability mode and has minimal impact on primary database performance.

This is the default protection mode.

Maximum Protection

This protection mode ensures that no data loss will occur if the primary database fails. To provide this level of protection, the redo data needed to recover a transaction must be written to both the online redo log and to the standby redo log on at least one synchronized standby database before the transaction commits. To ensure that data loss cannot occur, the primary database will shut down, rather than continue processing transactions, if it cannot write its redo stream to at least one synchronized standby database.

Transactions on the primary are considered protected as soon as Data Guard has written the redo data to persistent storage in a standby redo log file. Once that is done, acknowledgment is quickly made back to the primary database so that it can proceed to the next transaction. This minimizes the impact of synchronous transport on primary database throughput and response time. To fully benefit from complete Data Guard validation at the standby database, be sure to operate in real-time apply mode so that redo changes are applied to the standby database as fast as they are received. Data Guard signals any corruptions that are detected so that immediate corrective action can be taken.

Because this data protection mode prioritizes data protection over primary database availability, Oracle recommends that a minimum of two standby databases be used to protect a primary database that runs in maximum protection mode to prevent a single standby database failure from causing the primary database to shut down.

使用道具 举报

回复
论坛徽章:
183
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
发表于 2015-3-2 12:27 | 显示全部楼层
ZALBB 发表于 2015-3-2 11:16
ACTIVE DG 能否满足备库毫秒级差别的误差?

一般采用最大性能模式,秒级差不多。
毫秒级这种只能是最大保护模式方式了,但很少有人敢这么部署吧。

使用道具 举报

回复
论坛徽章:
311
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
发表于 2015-3-2 12:33 | 显示全部楼层
jieyancai 发表于 2015-3-2 12:27
一般采用最大性能模式,秒级差不多。
毫秒级这种只能是最大保护模式方式了,但很少有人敢这么部署吧。

你测过了? 最大性能模式,若能达到秒级,可以说已经满足需求了,终端读取数据,延迟几秒,很正常。

使用道具 举报

回复
论坛徽章:
183
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
发表于 2015-3-2 12:33 | 显示全部楼层
本帖最后由 jieyancai 于 2015-3-2 12:34 编辑
ZALBB 发表于 2015-3-2 12:33
你测过了? 最大性能模式,若能达到秒级,可以说已经满足需求了,终端读取数据,延迟几秒,很正常。

有生产部署过,呵呵。

4.2.3.2 Configurable Real-Time Query Apply Lag Limit

A physical standby database can be open for read-only access while redo apply is active only if the Oracle Active Data Guard option is enabled. This capability is known as real-time query.

The new STANDBY_MAX_DATA_DELAY session parameter can be used to specify a session-specific apply lag tolerance, measured in seconds, for queries issued by non-administrative users to a physical standby database that is in real-time query mode.

This capability allows queries to be safely offloaded from the primary database to a physical standby database, because it is possible to detect if the standby database has become unacceptably stale.

使用道具 举报

回复
论坛徽章:
311
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
发表于 2015-3-2 12:36 | 显示全部楼层
jieyancai 发表于 2015-3-2 12:33
有生产部署过,呵呵。

4.2.3.2 Configurable Real-Time Query Apply Lag Limit

部署过,感觉延迟是不是和ORACLE文档说的一样?

使用道具 举报

回复
论坛徽章:
183
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
发表于 2015-3-2 12:57 | 显示全部楼层
ZALBB 发表于 2015-3-2 12:36
部署过,感觉延迟是不是和ORACLE文档说的一样?

基本符合吧。
比如主库提交之后,备库就基本实时应用,可以查看到提交后的数据了。

另外有个新特性可以关注一下:
http://www.oracledatabase12g.com/archives/tag/new-feature

使用道具 举报

回复

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

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

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