专栏首页杨建荣的学习笔记数据刷新中的并行改进(r5笔记第72天)

数据刷新中的并行改进(r5笔记第72天)

昨天按照计划进行了系统升级,多多少少还是碰到了一些问题。 有一个问题不算紧急,但是也在计划之中需要进行调优和改进。是关于数据的复制刷新的使用。为了更加清楚的描述问题,自己画了下面的一个简单的示意图来说明。 其实真实环境要远远比这个复杂,这是简单说明问题点到为止即可。 这是一个数据字典数据型数据,也算是静态数据,配置数据等的刷新示意图,数据的源头只有一个,数据都在active的一个schema上,其他几个类似的节点都在维护这样一套类似的结构,但是因为节点都是分布式的,所以都分散在不同的机器上,数据的刷新目前是采用物化视图来做的。远程的刷新是通过db link+物化视图来完成的。 对于下层应用来说,还是根据业务规则连接到不同的节点中。

大体的情况就是如此,在生产中进行数据刷新的时候,如果进行并行复制,其实对于主节点还是有很大的压力的。而且目前的刷新情况也是一个串行的方式。 比如我们存在表a,b,c 则在不同的节点中进行刷新的时候,是先刷新a,在各个节点一次刷新,然后刷新b,然后继续刷新c,依次类推。在最后的时候,只需要切换对应的快照schema即可。即上图中红色和蓝色的部分,最后把schema进行切换即可,对于应用来说是透明的,如果数据出现问题进行undo也是很轻松的事情。 所以在采用刷新的时候,也是考虑了主节点中的负载和压力,采用了串行的方式进行刷新,但是一方面保证了压力,但是刷新时间就是一个比较明显的问题了。时间会随着节点的增多而进行指数级增长。 在尽可能不改动逻辑,少改动逻辑的情况进行的调研情况,得知这种数据的刷新频率还是不高的,可能几周才会进行这样的一次刷新,而且在刷新的过程中,对于应用app1来说优先级是比较高的,app1中的刷新完成之后,会有一些业务的预处理,对于app2,app3的数据刷新速度就没有很严格的要求了。慢一些还是可以接受的。 所以的改进思路就是分成两部分来处理,两条腿走路。对于app1优先刷新,而且对于app1中的表进行并行切分。 比如里面有15张表,就可以分成多个并行刷新session来处理。一方面刷新的都是不同的表,不会有之前热点快的争用的情况,而且这个过程完成了就对后续的处理优先级就会大大降低。依赖性就大大降低了。

当然了这个过程还有很多的细节需要考虑,主要的一个思路就是对于近上千张静态数据表进行快速的刷新,有几个要点需要考虑。 一个就是并行切分的把握,因为数据字典表的数据量相对来说不算很大,总体来说分区表还是很少存在的,所以进行并行切分的时候可能直接根据segment的情况就能够得到一个大体的数据分布情况了。 优先刷新app1需要的节点之后,对于后续的节点可以还是保留原有的方式进行刷新即可。 看起来思路还是比较简单的,但是能够使得方案落地还是需要做不少的工作,后续对切分的细节进行分享。

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes),作者:r5笔记第72天

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-06-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 各大IT公司的名字由来(r7笔记第89天)

    这几天看到《硅谷之谜》的时候,心里会有咯噔一下的感觉,原来这种看起来不太关心的领域之中竟然有这么多的传奇故事,当然书没有看完,也是泛泛而读,突然对里面很多公司的...

    jeanron100
  • 性能调优之redo切换频率(47天)

    生产系统的一个库(负责容错处理的),目前遇到了严重的性能问题,数据量也大的出奇,一个分区表一百多个分区,blob字段达到了800多G.查看 AWR 系统负载倒不...

    jeanron100
  • 重启数据库的一场闹剧(r5笔记第68天)

    在几周前,某个测试环境在尝试impdp导入dump的时候报了错误,有个DBA立马做了kill session的操作,但是持续了5个小时,session状态还是K...

    jeanron100
  • CDN系列学习文章(六)——刷新篇

    本文介绍CDN的内容管理中刷新功能,从刷新场景,业务逻辑以及常见问题来剖析CDN刷新功能。

    开元
  • iOS开发常用之UI下拉刷新

    GuangdongQi
  • FlatList ListView SectionList 下拉刷新 上拉加载 彻底解决

    至于 FlatList SectionList 自带的上拉加载功能,根本就是骗人的。

    onety码生
  • 日志收集工具fluentd安装配置及使用介绍

    两台服务器(注:Fluent-bit只支持centos 7以上版本,Fluentd可以支持centos 6版本),host1写日志到本地,然后通过Fluent-...

    用户5166556
  • 使用非主流域名的会计学堂融资4150万!

    会计实务在线教育品牌会计学堂近日完成了达晨创投领投的4150万人民币A轮融资。公司创始人兼CEO柳齐表示,该笔融资将用于完善网络课堂和在开设线下学院...

    躲在树上的域小名
  • 客户应该怎么能找到合适的进销存

      企业领导层在决定使用进销存软件的时候,大多数对于它所能产生的效益并没有很明确的概念,甚至觉得只要将软件买回来,使用上一段时间就会有效果。进销存管理软件的应...

    明象ERP
  • 用jquery刷新或重新加载页面

    在网页开发过程中,经常会遇到需要重新加载或刷新页面,下面我来说一下如果通过jq来刷新或重新加载页面,来看代码。

    无邪Z

扫码关注云+社区

领取腾讯云代金券