• 设计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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Neptune w800开发版ubuntu linux环境编译通过——如何搭建开发环境
    neptune HarmonyOS开发板视频教程-环境搭建-编译-烧录-外设控制
    Neptune开发板与hiSpark开发板底板的管脚不兼容
    《设计心理学》要点(上)
    NLP(三十二):大规模向量相似度检索方案
    VIM编辑器设置
    (十一)pytorch加速训练的17种方法
    (十)pytorch多线程训练,DataLoader的num_works参数设置
    NLP(三十一):用transformers库的BertForSequenceClassification实现文本分类
    NLP(三十):BertForSequenceClassification:Kaggle的bert文本分类,基于transformers的BERT分类
  • 原文地址:https://www.cnblogs.com/dbasys/p/2127602.html
Copyright © 2020-2023  润新知