孔再华
作者孔再华2017-09-18 14:44
数据库运维工程师, 中国民生银行

双活环境开发指导手册

字数 851阅读 913评论 0赞 6

1.民生银行双活环境两地三中心灾备方案

1.1 整体技术架构

1.1.1 系统架构描述

民生银行的双活环境两地三中心灾备方案是建立在pureScale GDPC, DB2 HADR, EMC SRDF等数据同步技术基础上,合理运用这些技术,满足业务需求,完成两地三中心灾备方案的建设。
本地双中心采用DB2 GDPC技术方案实现双中心双活架构。同时辅以DB2 HADR技术完成单实例保护。
异地中心采用EMC SRDF异步复制存储的技术,实现数据同步。

1.1.2 方案设计图

物理拓扑图如下
QQ截图20170918143908.png

QQ截图20170918143908.png

相关服务器角色描述:
QQ截图20170918143956.png

QQ截图20170918143956.png

1.2 方案面向开发的特点

A. 双中心内部通信成本比较高,内部RDMA通信和存储复制延时较高。
B. 表扫描等行为会大大增加内部通信。
C. 大日志量的写入会受到存储复制的延时影响。
D. 热点表在双活环境性能问题会加剧

2. 民生银行双活环境开发建议

2.1 双活环境开发建议

2.1.1 减少表扫

表扫会注册所有扫描到的PAGE,所以对于双活内部通信压力比较大。尤其是大表,避免使用count, sum,avg等聚集函数。

2.1.2 索引开发建议

A. 建立组合索引的时候要将经常用的和行数比较多的列放在左边。
B. 对于插入比较多的表,尽量减少索引个数,使用组合索引。
C. 对于顺序插入的列,建立索引应采用RANDOM方式。例如时间,序列等。

2.1.3 避免不记日志的操作

因为双活环境采用了HADR做保护,除了操作临时表,所有的操作必须记录日志。不要运行LOAD加载数据。

2.1.4 热点表建议

A. 对于预期的大表,建议从业务逻辑上就开始分表。
B. 对于流水表,最好不要有更新,如果有,尽量放在一个事务里面。可以按日期做分区,打开APPEND ON。定期detach分区。
C. 必须要建立在线表和历史表机制,避免在线操作大表。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

6

添加新评论0 条评论

Ctrl+Enter 发表

关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
© 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30