zoukankan      html  css  js  c++  java
  • 设计SSIS包的OVAL原则

    设计SSIS包的OVAL原则

    Created as a development framework for SSIS packages, OVAL principles of package design encompass four facets of SSIS applications. These design considerations include identifying the  Operations  to be performed; the data  Volume  to be processed (in production) ;  the  Application  of the right tools, tasks, sequence, and flow; and  Location -determining where the SSIS application will run.

    (1) Best practices design concerning data conversion is first to sharpen data types among your data sources and targets to meet your business requirements most efficiently and avoid unnecessary data type conversions. 

    (2) Another best practices discipline is to remove redundant or unused columns from your data sources.

    (3) Another best practices approach is to remove redundant columns after every asynchronous component. 

    (4) If you can filter your rows in the WHERE clause of your data source, that is optimal for your design. Sometimes, however, you might need to filter rows farther into the data flow and, if so, use the Filter task.

    (5) Rather than reading data from multiple database tables within a single source database and using the Merge Join task within an SSIS package, it is significantly better to create DBMS views or stored procedures and exploit the power of the SQL Server database engine to prepare the data for other SSIS operations. Joining at the database level is one advantage, but you can also take advantage of eliminating Sort tasks, Conditional Splits, and Filter and Derived Columns tasks by including ORDER BY and basic data cleansing using ISNULL, NULLIF, and TRIM options.

    (6) Remember, you can generate an SSIS package for Bulk Import by using the Data Import Wizard within Microsoft SQL Server Management Studio

    (7) Using Variables

    (8)Using the Lookup Task versus Merge Join

    (9) Using Database Snapshots

     (10)When using parallel-design techniques, always remember to allocate enough threads for server processing. The  EngineThreads  property is found on the Data Flow task in the control flow component.    Number of threads = Number of sources + Execution trees  

    (11) Use Row Counts to show whether you have all the rows expected.

    (12)Break out transformation logic specific to your environment.

    (13)Always configure to handle lookup errors (especially for when a fact table business key has no corresponding entry in the dimension table).

    (14)Always perform iterative design and development and testing methodology such as Agile, rapid application deployment (RAD), Extreme, and Microsoft Solutions Framework (MSF), which all promote modularity and short cycles.

    (15)Break complex, multisource, multidestination ETL into logically distinct packages (versus monolithic design).

    (16)Separate subprocesses within a package into separate containers. This is a more elegant, easier way to develop and allows you to disable whole containers simply when debugging.

    (17)Use Script Task/Transform for one-off problems.

    (18)Build custom components to reduce redundant script logic.

     
    作者:深潭
    出处:http://www.cnblogs.com/dbasys/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Python --链接MYSQL数据库与简单操作 含SSH链接
    Jmeter 后置处理器--jp@gc
    Jmeter 接口测试 响应结果中文是Unicode转为中文
    Jmeter JDBC请求---把数据库结果参数化传递到其他请求
    MySQL根据某字段部分内容分组计数
    Linux 服务器命令,持续更新……
    APP网络测试要点和弱网模拟
    Jmeter JDBC Request 查询语句中有汉字查询结果为空的解决方法
    Jmeter连接Redis,获取Redis数据集
    Jmeter获取接口返回数组的长度
  • 原文地址:https://www.cnblogs.com/dbasys/p/2127602.html
Copyright © 2011-2022 走看看