在之前的两篇中分享了数据刷新的并行改进,其实在对很多的数据表做了切分之后,数据刷新的总体负载就基本是平均的了。如何使得刷新的过程更加平滑和完整,我们还是需要做一些工作的。首先各个节点中都存在相同的表(其实是物化视图),所以在刷新的时候还是基本靠串行的思路来做并行的事情,怎么理解呢。可以参见下面的图片。在有多个节点的情况下,数据从第1个节点到第3个节点刷新的时候,内部还是串行的,只是在第1个节点刷新的时候使用了并行,把700多个表分成了多个刷新的进程来并行处理。对于各个节点之间的刷新还是串行的过程。就如同我在图中用绿色标注的那样。我们先来实现节点的串行,可以使用如下的脚本来使得某个脚本在对应的节点中都会依次运行。#ref_active.shsqlplus /nolog <<EOFconn prdrefssca/xxxxx@xxxxset timing onset echo onspool $1_prdrefssca.log@$1spool offconn prdusg1ssca/x@xxxxspool $1_prdusg1ssca.log@$1spool offconn prdusg2ssca/xx@xxxspool $1_prdusg2ssca.log@$1spool offconn prdusg3ssca/xxxx@xxxxspool $1_prdusg3ssca.log@$1spool offconn prdusg4ssca/xxx@xxxxspool $1_prdusg4ssca.log@$1spool offEOF在这个基础上,使用使用并行切分的脚本split_parall.sh 把多个表切分为指定的并行,比如700多个表按照数据情况切分成10个并行的刷新进程。然后就可以把脚本 ref_active.sh利用起来,生成动态的脚本,其实这个过程中会动态生成一些脚本。类似这样的形式 ksh ref_active.sh par1_tab_parall.lst.sql怎么具体实现呢。##### batch_split_parall.shtmp_ext_base_dir=`pwd`ext_base_dir=`dirname $tmp_ext_base_dir`ksh $ext_base_dir/append/split_parall.sh tab_parall.lst $1for i in {1..$1}docat ./par${i}_tab_parall.lstecho "ksh ref_active.sh " par${i}_tab_parall.lst.sql > tmp_par${i}_tab_parall.shecho "ksh " tmp_par${i}_tab_parall.sh "&" >> ref_all_active.shdone生成的动态脚本如下:-rw-r--r-- 1 xxxxx dba 2132 Jun 25 19:07 par10_tab_parall.lst-rw-r--r-- 1 xxxxx dba 4690 Jun 25 19:07 par10_tab_parall.lst.sql-rw-r--r-- 1 xxxxx dba 101 Jun 25 19:06 par1_tab_parall.lst-rw-r--r-- 1 xxxxx dba 53 Jun 25 19:07 par1_tab_parall.lst.sql-rw-r--r-- 1 xxxxx dba 976 Jun 25 19:07 par2_tab_parall.lst-rw-r--r-- 1 xxxxx dba 2101 Jun 25 19:07 par2_tab_parall.lst.sql-rw-r--r-- 1 xxxxx dba 1997 Jun 25 19:07 par3_tab_parall.lst-rw-r--r-- 1 xxxxx dba 4345 Jun 25 19:07 par3_tab_parall.lst.sql-rw-r--r-- 1 xxxxx dba 2077 Jun 25 19:07 par4_tab_parall.lst-rw-r--r-- 1 xxxxx dba 4607 Jun 25 19:07 par4_tab_parall.lst.sql-rw-r--r-- 1 xxxxx dba 2055 Jun 25 19:07 par5_tab_parall.lst-rw-r--r-- 1 xxxxx dba 4557 Jun 25 19:07 par5_tab_parall.lst.sql-rw-r--r-- 1 xxxxx dba 2016 Jun 25 19:07 par6_tab_parall.lst-rw-r--r-- 1 xxxxx dba 4489 Jun 25 19:07 par6_tab_parall.lst.sql-rw-r--r-- 1 xxxxx dba 2059 Jun 25 19:07 par7_tab_parall.lst-rw-r--r-- 1 xxxxx dba 4618 Jun 25 19:07 par7_tab_parall.lst.sql-rw-r--r-- 1 xxxxx dba 2038 Jun 25 19:07 par8_tab_parall.lst-rw-r--r-- 1 xxxxx dba 4568 Jun 25 19:07 par8_tab_parall.lst.sql-rw-r--r-- 1 xxxxx dba 2118 Jun 25 19:07 par9_tab_parall.lst-rw-r--r-- 1 xxxxx dba 4647 Jun 25 19:07 par9_tab_parall.lst.sql-rw-r--r-- 1 xxxxx dba 416 Jun 25 18:29 ref_active.sh-rw-r--r-- 1 xxxxx dba 301 Jun 25 19:07 ref_all_active.sh-rw-r--r-- 1 xxxxx dba 73730 Jun 25 19:06 tab_parall.lst-rw-r--r-- 1 xxxxx dba 2096 Jun 25 18:25 split_parall.sh-rw-r--r-- 1 xxxxx dba 44 Jun 25 19:07 tmp_par10_tab_parall.sh-rw-r--r-- 1 xxxxx dba 43 Jun 25 19:07 tmp_par1_tab_parall.sh-rw-r--r-- 1 xxxxx dba 43 Jun 25 19:07 tmp_par2_tab_parall.sh-rw-r--r-- 1 xxxxx dba 43 Jun 25 19:07 tmp_par3_tab_parall.sh-rw-r--r-- 1 xxxxx dba 43 Jun 25 19:07 tmp_par4_tab_parall.sh-rw-r--r-- 1 xxxxx dba 43 Jun 25 19:07 tmp_par5_tab_parall.sh-rw-r--r-- 1 xxxxx dba 43 Jun 25 19:07 tmp_par6_tab_parall.sh-rw-r--r-- 1 xxxxx dba 43 Jun 25 19:07 tmp_par7_tab_parall.sh-rw-r--r-- 1 xxxxx dba 43 Jun 25 19:07 tmp_par8_tab_parall.sh-rw-r--r-- 1 xxxxx dba 43 Jun 25 19:07 tmp_par9_tab_parall.sh

数据刷新中的并行改进(三) (r5笔记第79天)相关推荐

  1. .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(二)

    引言 随着CPU多核的普及,编程时充分利用这个特性越显重要.上篇首先用传统的嵌套循环进行数组填充,然后用.NET 4.0中的System.Threading.Tasks提供的Parallel Clas ...

  2. oracle 判断是否错误_Oracle中的并行系列(二):你设置的并行真的生效了吗?...

    作者  刘金龙·沃趣科技高级数据库技术专家 出品  沃趣科技 经过第一篇文章<Oracle 中的并行系列(一)>的介绍,我们对Oracle中的并行有了大致的了解.但是实际使用并行的过程中我 ...

  3. 大数据的中的数据是从哪里来的?

    大数据应用中的关键点有三个,首要的就是大数据的数据来源,我们在分析大数据的时候需要重视大数据中的数据来源,只有这样我们才能够做好大数据的具体分析内容.那么大家知不知道大数据的数据来源都是通过什么渠道获 ...

  4. Excel中数据透视表数据源更新的三种方式

    Excel中数据透视表数据源更新的三种方式 1.在原有的基础上重新选择数据源 2.变数据源为表格形式,在创建一个透视表,之后如果添加的数据,选中透视表右键刷新即可 3.利用更新过的数据源再重新创建一个 ...

  5. android listview 数据同步,android中ListView数据刷新时的同步方法

    本文实例讲述了android中ListView数据刷新时的同步方法.分享给大家供大家参考.具体实现方法如下: public class Main extends BaseActivity { priv ...

  6. 11300001数据集配置错误_Power BI 中的数据刷新(二)

    接着上篇文章我们接着谈谈Power BI 中的数据刷新(二) 查看数据基础结构依赖项 无论采用哪种存储模式,都必须能够访问基础数据源,否则将无法成功刷新数据. 有三种主要的数据访问方案: 数据集使用驻 ...

  7. 【MySQL】根据数据表中日期字段查询某个月每一天的数据量?查询数据表中所有日期每天的数据量?近三天每天数据量?

    前提这个table有一个日期字段date_time之类的 1.根据数据表中日期字段查询某个月每一天的数据量 如果要获取8月的数据,可以这么写: SELECT count(*), DATE_FORMAT ...

  8. KlayGE 4.4中渲染的改进(三):高质量无限地形

    转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2761 本系列的上一篇讲了DR中的一些改进.本篇开始将描述这个版本加入的新功能,高质量地形. ...

  9. powerbi实时刷新mysql数据库_PowerBI开发 第七篇:数据集和数据刷新

    PowerBI报表是基于数据分析的引擎,数据真正的来源(Data Source)是数据库,文件等数据存储媒介,PowerBI支持的数据源类型多种多样.PowerBI Service(云端)有时不直接访 ...

最新文章

  1. Dancing Links
  2. Hive在linux上的部署
  3. 简单的选项卡功能实现
  4. linux eclipse c++ 如何生成arm可执行文件_干货 | protobuf-c之嵌入式平台使用
  5. python信号处理的优点_python 信号处理
  6. 【转】Android游戏框架AndEngine使用入门
  7. 卷积神经网络CNN的由来,为什么要用卷积?
  8. Python sys.path、sys.modules模块介绍
  9. ABP框架系列之四十:(Notification-System-通知系统)
  10. 光敏电阻、压敏电阻、热敏电阻记录整理
  11. 网络远程计算机终止,电脑拨号上网出现错误629:连接被远程计算机终止怎么办...
  12. 点击百度网盘安装包无反应
  13. spark入门教程(3)--Spark 核心API开发
  14. python 播放本地音乐_python播音乐_python放音乐_python本地音乐播放器 - 云+社区 - 腾讯云...
  15. canvas教程1-canvas的基本使用
  16. 前端从一只小白到工作半年的心路历程
  17. stlink-opencd-gdb调试程序
  18. GD32F307 DAC 输出波形
  19. Calico集成kubernetes的CNI网络部署全过程、启用CA自签名
  20. 融资租赁行业开始“国进民退”,中小微租赁机构该何去何从?

热门文章

  1. 这些年造过的一些轮子
  2. iPhone免密支付被盗刷上千万,三招教你保护钱包安全!
  3. Alios-Thins教程连载 ④ 图文并茂教你使用乐鑫esp8266轻松连接阿里飞燕平台,个人设备实现轻松对接天猫精灵 。(下篇)(附带demo)
  4. 点特征直方图(PFH)描述(Point Feature Histograms (PFH) descriptors)
  5. 【饭谈】面试官让你来个“自我介绍”,你准备怎么说?
  6. 笔记︱基于网络节点的node2vec、论文、算法python实现
  7. 专访 | Aeternity创始人谈公链之争:你觉得PHP是Java竞争
  8. 饮品自动贩卖机系统 c语言,自动贩卖机控制系统自动贩卖机控制系统.doc
  9. Excel三年后日期计算、Excel自动匹配数据
  10. 微信转发或分享朋友圈带缩略图、描述的实现方法