• Target优化



    优化目标主要包括以下几方面:

    1 优化平面文件
      如果目标平面文件在某机器的共享目录下,则该机器最好是专门用于文件存储的,如果还应用于其他非文件存储任务,则会降低加载效率
      如果Integration service运行在单节点,则可将该平面文件放置在该单节点所在本地,这样的话,本地数据加载会大大提升效率


    2 删除索引及主键约束
      如果目标表包含索引或主键约束,则会降低其加载效率,可暂时将它们删除,待加载结束后再重建还原
      如果需定期进行索引及主键约束的删除和重建还原,每次运行session时可将该操作封装至以下地方:
        1)  pre-load和post-load的存储过程
        2)  pre-session和post-session的SQL脚本
      如果必要的话,可使用基于约束的加载(constraint-based loading)


    3 增加数据库检查点间隔
      每当数据库执行Check Point时,session都会进行等待,因此可通过以下两种方式减少检查点的频率:
        1) 加大数据库检查点的间隔
        2) 减少数据库检查点的数量


    4 使用大容量负载(bulk load)
      当insert大量数据时,使用bulk load会提升效率(可通过session的target的Target load type中配置)
      bulk load时, Integration Service会忽略记录log信息,从而提高了加载速度。但也可能因此导致数据库无法回滚而无法还原数据
      所以,在使用bulk load时,需事先权衡性能和数据还原的利害关系
      bulk load时,可增大commit间隔来减少bulk load处理的次数,这样可提升性能,因为数据库每次commit之后都会开始一个新的bulk load


    5 使用外部加载器
      不同目标数据库可以采用不同的外部加载器
      当目标表是Oracle时, 如果session使用多分区管道加载时,可使用相同分区数创建目标表提升性能


    6 避免死锁
      如果Integration Service在尝试写入目标时遇到死锁,则死锁只影响同一目标连接组中的目标。Integration Service 仍然写入其他目标连接组中的目标
      增加Integration Service用于写入会话中目标的目标连接组的数量
      为会话中的每个目标表使用不同的目标连接组,为每个目标实例使用不同的数据库连接名称
      可为每个连接名称指定相同的连接信息


    7 增加数据库网络包大小
      增加网络包大小,以允许较大的数据包一次通过网络
      不同数据库,增加数据库网络包大小的方式也不同
      Oracle: 可在listener.ora和tnsnames.ora中设置增加数据库服务器网络包大小


    8 优化oracle目标数据库
      当优化数据库时,可检查数据库的存储子句, 空间分配, 回滚区间以及撤回区间
      主要为以下几点:
        1) 检查数据库对象的存储子句,确保数据库表有足够的initial和next值
        2) 将表和索引数据存储在不同的表空间中,最好存储在不同的磁盘上
        3) 确保回滚区间和撤回区间在合适的表空间中,它们最好在不同的磁盘
         因为加载数据时,数据库会使用回滚和撤回区间,同时回滚和撤回区间也要有合适的存储字句
        4) 优化Oracle redo log,该log用于记录数据加载操作的,确保该log文件及其缓冲有足够的大小(可通过init.ora查看相关属性)
        5) 当Integration Service运行在单节点且oracle数据库实例安装在与该节点相同机器上时,可使用IPC协议连接数据库(通过在listener.ora and tnsnames.ora设置)
         使用该协议可提高连接效率

  • 相关阅读:
    Floyd判圈算法 Floyd Cycle Detection Algorithm
    最优化问题 Optimization Problems & 动态规划 Dynamic Programming
    自平衡二叉搜索树
    树 & 二叉树
    数根
    二叉搜索树BST
    K-Means & Sequential Leader Clustering
    KMP算法
    递归问题的时间复杂度分析
    人工神经网络 Artificial Neural Network
  • 原文地址:https://www.cnblogs.com/shiliye/p/10564555.html
Copyright © 2020-2023  润新知