Performance Through Pushdown Processing in Informatica 8.6
WHITE PAPER How to Obtain Flexible, Cost-effective Scalability and Performance through Pushdown Processing Under the Hood of the Pushdown Optimization Option Now Available Through Informatica PowerCenter 8 This document contains Confidential, Proprietary and Trade Secret Information (“Confidential Information”) of Informatica Corporation and may not be copied, distributed, duplicated, or otherwise reproduced in any manner without the prior written consent of Informatica. While every attempt has been made to ensure that the information in this document is accurate and complete, some typographical errors or technical inaccuracies may exist.
Informatica does not accept responsibility for any kind of loss resulting from the use of information contained in this document. The information contained in this document is subject to change without notice. The incorporation of the product attributes discussed in these materials into any release or upgrade of any Informatica software product—as well as the timing of any such release or upgrade—is at the sole discretion of Informatica. Protected by one or more of the following U. S. Patents: 6,032,158; 5,794,246; 6,014,670; 6,339,775; 6,044,374; 6,208,990; 6,208,990; 6,850,947; 6,895,471; or by the following pending U.
S. Patents: 09/644,280; 10/966,046; 10/727,700. This edition published April 2006 White Paper Table of Contents Executive Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Historical Approaches to Data Integration . . . . . . . . . . . . . . . . . . . . . . . . . 4 The Combined Engine- and RDBMS-based Approach to Data Integration . .5 How Pushdown Optimization Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Overview of Pushdown Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Two-Pass Pushdown Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Partial Pushdown Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Full Pushdown Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Platform-specific Pushdown Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Limitations on the Types of Transformations that Can Be Pushed to the Database . . . . . .9
Benefits of Pushdown Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Increased Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 Increased IT Team Productivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Reduced Risk and Enhanced Flexibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Conclusion and Next Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Pushdown Optimization 1 Executive Summary
Over the next five to 10 years and beyond, the two dominant variables in the enterprise data integration equation are painfully clear—more data and less time. Given these, what’s the right data integration strategy to effectively manage terabytes or even hundreds of terabytes of data with enough flexibility and adaptability to cope with future growth? Historically, data integration was performed by developing hand-coded programs that extract data from source systems, apply business/transformation logic and then populate the appropriate downstream system, be it a staging area, data warehouse or other application interface. Helping to overcome the challenges of implementing data integration as an enterprise-wide function, PowerCenter 8 offers key new features that can enable near-universal data access, deliver greater performance and scalability, and significantly increase developer productivity. The push-down logic will allow us to take further advantage of our database processing power. ” Mark Cothron Data Integration Architect, Ace Hardware
Hand-coding has been replaced, in many instances, by data integration software that performs the access, discovery, integration, and delivery of data using an “engine” or “data integration server” and visual tools to map and execute the desired process. Driven by accelerated productivity gains and ever-increasing performance, “state of the art” data integration platforms, such as Informatica® PowerCenter®, handle the vast majority of today’s scenarios quite effectively. PowerCenter has enjoyed wide acceptance and use by high-volume customers representing companies and government organizations of all sizes.
Based on this use, Informatica has identified performance scenarios where processing data in a source or target database—instead of within the data integration server—can lead to significant performance gains. These scenarios are primarily where data is “co-located” within a common database instance, such as when staging and production reside in a single Oracle relational database management system (RDBMS) or where a large investment has been made in database hardware and software that can provide additional processing power.
With these scenarios in mind, Informatica Corporation set out to deliver a solution that delivers the best of both worlds without incurring undo configuration and management burden; a solution that best leverages the performance capabilities of its data integration server and/or the processing power of a relational database interchangeably to optimize the use of available resources. White Paper Informatica has developed a solution that offers IT architects flexibility and ease of performance optimization through “push down” processing into a relational database using the same metadata-driven mapping and execution architecture: the PowerCenter Pushdown Optimization Option now available through Informatica PowerCenter 8.
PowerCenter 8 is the latest release of Informatica’s single, unified enterprise data integration platform for accessing and integrating data from virtually any business system, in any format, and delivering that data throughout the enterprise at any speed. This white paper describes the flexibility, performance optimization, and leverage provided by the PowerCenter 8 Pushdown Optimization Option.
It examines the historical approaches to data integration and describes how a combined engine- and RDBMS-based approach to data integration can help the enterprise: • Cost-effectively scale by using a flexible, adaptable data integration architecture • Increase developer and team productivity • Save costs through greater leverage of RDBMS and hardware investments • Eliminate the need to write custom-coded solutions • Easily adapt to changes in underlying RDBMS architecture • Maintain visibility and control of data integration processes After reading this paper, you will understand how pushdown processing works, the option’s technical capabilities, and how these capabilities will benefit your environment. Pushdown Optimization 3 Historical Approaches to Data Integration Historically, there have been four approaches to data integration: 1. Hand-coding. Since the early days of data processing, IT has attempted to solve integration problems through development of hand-coded programs. These efforts still proliferate in many mainframe environments, data migration projects, and other scenarios where manual labor is applied to extract, transform, and move data for the purposes of integration.
The high risks, escalating costs, and lack of compliance associated with hand-coded efforts are well documented, especially in today’s environment of heightened regulatory oversight and the need for data transparency. Early on, solutions for automation emerged to replace handcoding as an alternative cost effective solution. 2. Code generators. The first early attempts at increasing IT efficiency led to the development of code generation frameworks that leveraged visual tools to map out processes and data flow but then generated and compiled code as the resultant run-time solution. Code generators were a step-up from hand-coding for developers, but this pproach did not gain widespread adoption as solution requirements and IT architecture complexity arose and the issues around code maintenance, lack of visibility through metadata, and inaccuracies in the generation process led to higher rather than lower costs. 3. RDBMS-centric SQL Code generators. An offspring of early generation code generators emerged from the database vendors themselves. Using the database as an “engine” and SQL as a language, RDBMS vendors delivered offerings that centered on their “flavor” of database programming. Unfortunately, these products exposed the lack of capability of the SQL language and the database-specific extensions (e. g. PL/SQL, stored procedures) to handle cross-platform data issues; XML data; the full range of functions such as data quality, profiling, and conditional aggregation; and the rest of the complete range of business logic needed for enterprise data integration. What these products did prove was that for certain scenarios, the horsepower of the relational database can be effectively used for data integration. 4. Metadata-driven engines. Informatica pioneered a data integration approach that leveraged a data server, or “engine,” powered by open, interpreted metadata as the workhorse for transformation processing. This approach addressed complexity and met the needs for performance. It also provided the added benefit of re-use and openness due to its meta data-centricity.
Others have since copied this approach through other types of engines and languages, but it wasn’t until this metadata-driven, engine-based approach was widely adopted by the market as the preferred method for saving costs and rapidly delivering on data integration requirements that extraction, transformation, and loading (ETL) was established as a proven technology. Figure 1 shows this engine-based data integration approach. THE POWERCENTER PUSHDOWN OPTIMIZATION OPTION Automatically generates and “pushes down” mapping logic • Generates database-specific logic that represents overall data flow • Pushes the execution of the logic into the database to perform data transformation processing
Provides a single design environment with an easy-to-use GUI • Decouples data transformation logic from the physical execution plan • Controls where processing takes place • Dynamically creates and executes database specific transformation language • Allows you to preview the processing you can push to the database Leverages a single, unified data integration platform • Applies pushdown optimization to all data integration processing available on the PowerCenter platform, including data cleansing, data profiling, and unstructured and semi-structured data processing Data Integration Server Data Target Metadata Repository Data Sources Figure 1: Informatica Pioneered the Metadata-driven Engine Approach to Data Integration 4
White Paper The Combined Engine- and RDBMS-based Approach to Data Integration Using an engine-based approach, Informatica PowerCenter has become the industry performance leader for enterprise data integration. This leadership has been demonstrated in industry benchmarks, with continued success in complex, high-volume customer environments and in head-to-head evaluations with other competitive offerings. Performance capabilities, such as source-specific partitioning, 64-bit support, threaded architecture, and continued testing and refinement of the data server, led to organizations to choose PowerCenter to meet their most strenuous requirements.
In reviewing requirements for the latest version of the product, PowerCenter 8, Informatica evaluated certain scenarios in which it made sense, while processing transformations in a relational database, to limit the movement of data out and subsequent back in the database during “data co-resident” periods. It is with these scenarios in mind that Informatica developed the pushdown optimization capabilities to round out the optimal performance architecture of its enterprise data integration platform. Pushdown optimization is enabled through PowerCenter’s metadata-driven architecture, which decouples the data transformation logic from the physical execution plan. This unique architecture allows processing to be “pushed down” inside an RDBMS when possible. PowerCenter 8 is the only software on the market that offers engine-based and RDBMS-based integration technology in a single, unified platform.
This approach ensures a broad spectrum of data integration initiatives and enables IT to save costs through intelligent use of existing computing resources. Both approaches are required for organizations looking to develop an Integration Competency Center where all integration efforts are developed and/or managed by an expert team faced with varying solution requirements. Although processing is spread between the data integration engine and the database engine, with Power Center 8 developers use a single design environment and the same standard set of PowerCenter tools. For example, a developer can design the data flow using the PowerCenter Designer, and can design job workflow using the PowerCenter Workflow Manager.
Metadata continues to be generated and managed within PowerCenter. By simply selecting pushdown optimization in the PowerCenter graphical user interface (GUI), developers can control where processing takes place, and database-specific transformation language will be dynamically created and executed as appropriate. Pushdown optimization ensures that existing IT assets are fully utilized, helping organizations maximize their investment in RDBMS horsepower. A SQL code generator-only approach to data integration hampers IT’s ability to deliver on the various needs of the enterprise due to the limitations of SQL as a comprehensive language for data integration efforts. How Pushdown Optimization Works
The Pushdown Optimization Option increases systems performance by providing the flexibility to push data transformation processing to the most appropriate processing resource, whether within a source or target database or through the PowerCenter server. This section explains how pushdown processing works, including two-pass, partial, and full pushdown processing. It describes platform-specific pushdown processing and outlines the limitations on the types of transformations that can be pushed to the database. Pushdown Optimization 5 Overview of Pushdown Processing Separating logical business logic from physical run-time execution, the Pushdown Optimization Option is coupled with the creation and management of workflows. Workflows tie the execution of a metadata-based mapping to an actual physical environment.
This environment spans not only the PowerCenter Data Integration Services that may reside on multiple hardware systems, but also the relational databases where pushdown processing will occur. As shown in Figure 2, data integration solution architects can configure the pushdown strategy through a simple dropdown menu in the PowerCenter 8 Workflow Manager. Figure 2: Data Integration Solution Architects Can Configure the Pushdown Strategy through a Simple Drop-Down Menu in the Powercenter 8 Workflow Manager Pushdown optimization can be used to push data transformation logic to the source or target database. The amount of work data integration solution architects can push to the database depends on the pushdown optimization configuration, the data transformation logic, and the mapping configuration.
When pushdown optimization is used, PowerCenter writes one or more SQL statements to the source or target database based on the data transformation logic. PowerCenter analyzes the data transformation logic and mapping configuration to determine the data transformation logic it can push to the database. At run time, PowerCenter executes any SQL statement generated against the source or target tables, and it processes any data transformation logic within PowerCenter that it cannot push to the database. Using pushdown processing can improve performance and optimize available resources. For example, PowerCenter can push the data transformation logic for the mapping seen in Figure 2 to the source database. 6 White Paper Figure 3 shows a mapping that can be pushed to the source database.
Figure 3: Sample Mapping Pushed to Source Database The mapping contains a filter transformation that filters out all items except for those with an ID greater than 1005. PowerCenter can push the data transformation logic to the database, and it generates the following SQL statement to process the data transformation logic: INSERT INTO ITEMS(ITEM_ID, ITEM_NAME, ITEM_DESC, n_PRICE) SELECT ITEMS. ITEM_ID, ITEMS. ITEM_NAME, ITEMS. ITEM_DESC, CAST(ITEMS. PRICE AS INTEGER) FROM ITEMS WHERE (ITEMS. ITEM_ID >1005) PowerCenter generates an INSERT SELECT statement to obtain and insert the ID, NAME, and DESCRIPTION columns from the source table, and it filters the data using a WHERE clause.
PowerCenter does not extract any data from the database during this process. Because PowerCenter does not need to extract and load data, performance improves and resources are maximized. Two-Pass Pushdown Processing Pushdown processing is based on a two-pass scan of the mapping metadata. In the first pass, PowerCenter starts scanning the mapping objects starting with source definition object, moving towards the target definition object. When the scan encounters an object containing data transformation logic that cannot be represented in SQL, the scanning process stops, and all transformation upstream of this transformation are grouped together with equivalent SQL for execution inside the source system.
In the second pass, PowerCenter scans in the opposite direction (i. e. , from the target definitions towards the source definitions). When the scan encounters an object containing data transformation logic that cannot be represented in SQL, the scanning process stops, and all transformation objects downstream of this transformation are grouped together with equivalent SQL for execution inside the target system. PowerCenter executes any remaining data transformation logic. When you configure PowerCenter to use pushdown optimization, it can process the data transformation logic using full or partial pushdown optimization. Pushdown Optimization 7 Partial Pushdown Processing
Partial pushdown processing occurs when either the source and target systems are in different database instances, or only some of the data transformation logic can be represented in SQL. In such cases, some processing may be pushed into source database, some processing occurs inside PowerCenter, and some processing may be pushed to the target database. In Figure 4, all transformations up to and including the aggregate transformation are pushed into the source database. The Update Strategy transformation is executed within PowerCenter, and the Expression transformation is executed inside the target database. Figure 4 shows an example of partial pushdown processing. Figure 4: Mapping for Partial Pushdown Processing Full Pushdown Processing
Full pushdown processing occurs when the source and target relational database management systems are the same instance, and data transformation logic can be completely represented in SQL. In this case, PowerCenter pushes down the entire mapping processing inside the database system. Figure 5 shows example mapping that is fully processed inside the database system. Figure 5: Mapping for Full Pushdown Processing In Figure 5, the sources and targets are the same instance, and the data transformation logic can be pushed to the database. The work of the filtering, joining, and sorting the data is performed by the database, freeing PowerCenter resources to perform other tasks. However, the transformation logic is represented in PowerCenter, so it is platform independent and easy to modify.
The visual representation makes it simple to review the flow of logic, and the Pushdown Optimizer Viewer allows you to preview the SQL statements PowerCenter will execute at run time. 8 White Paper Platform-specific Pushdown Optimization When pushdown optimization is applied to specific database type, the PowerCenter Data Integration Services generate SQL statements using native database SQL. Standards-based generation for ODBC is also supported, and PowerCenter generates SQL statements using ANSI SQL. PowerCenter can generate a greater variety of transformation functions when a specific database type is used and ensures optimal generation of the fastest execution plan.
Limitations on the Types of Transformations that Can Be Pushed to the Database PowerCenter includes a number of transformations that perform functions that cannot be performed within a database. Figure 6 summarizes the transformation types that can be pushed to the database. Transformation Aggregator Application Source Qualifier Custom Expression External Procedure Filter Java Joiner Lookup Normalizer Rank Router Sequence Generator Sorter Source Qualifier Stored Procedure Target Transaction Control Union Update Strategy XML Generator XML Parser XML Source Qualifier Figure 6: Transformation Types that Can Be Pushed to The Database Using PowerCenter Source-side Target-side x x x x x x x x x x x
With the PowerCenter Pushdown Optimization Option, data integration solution architects canleverage both the database and PowerCenter’s capabilities by pushing some transformation logic to the database and processing other data transformation logic using PowerCenter. Pushdown Optimization 9 For example, users might have a mapping that filters and sorts data and then outputs the data to an XML target. To utilize database and PowerCenter capabilities to their fullest potential, data integration solution architects might push the transformation logic for the Source Qualifier, Filter, and Sorter transformations to the source database, and then the extract the data to output it to the XML target. Figure 7 shows a mapping that uses database capabilities and PowerCenter’s XML capabilities. Figure 7: Mapping Pushes Transformation Logic to the Source and Writes to an XML Target Benefits of Pushdown Optimization
The PowerCenter Pushdown Optimization Option offers many benefits, including: • Increased performance by using optimal resources • Increased ease-of-use with a metadata-driven architecture that provides metadata lineage • Increased IT team productivity with simplified debugging and performance tuning • Reduced risk and enhanced flexibility through database neutrality Increased Performance The PowerCenter Pushdown Optimization Option increases systems performance by providing the flexibility to push data transformation processing to the most appropriate processing resource, whether within a source or target database or through the PowerCenter server. With this option, PowerCenter is the only enterprise data integration software on the market that allows data integration solution architects to choose when pushing down processing offers a performance advantage.
With the PowerCenter Pushdown Optimization Option, data integration solution architects can choose to push all or part of the data transformation logic to the source or target database. Data integration solution architects can select the database they want to push transformation logic to, and they can choose to push some sessions to the database, while allowing PowerCenter to process other sessions. For example, let’s say an IT organization has an Oracle source database with very low user activity. This organization may choose to push transformation logic for all sessions that run on this database. In contrast, let’s say an IT organization has a Teradata® source database with heavy user activity.
This organization may choose to allow PowerCenter to process the transformation logic for sessions that run on this database. In this way, the sessions can be tuned to work with the load on each database, optimizing performance. With the PowerCenter Pushdown Optimization Option, data integration solution architects can also use variables to choose to push different volumes of transformation logic to the source or target database at different times during the day. For example, partial pushdown optimization may be used during the peak hours of the day, but full pushdown optimization is used from midnight until 2 a. m. when activity is low. 10 White Paper Increased IT Team Productivity
With its unique metadata-driven architecture, the PowerCenter Pushdown Optimization Option increases IT team productivity in several ways: • Ease-of-use on different platforms. PowerCenter’s metadata-driven architecture allows transformation logic to be easily ported to different platforms. The same transformation logic can easily be performed on different databases. The same session can be assigned different database connections, and the same data transformation can be performed without rewriting code or using different SQL syntax. • Ease of maintenance. PowerCenter’s metadata-driven architecture makes it easy to track data for the purposes of error-logging, data cleansing, or data profiling.
In addition, metadata for repository objects is also maintained in the PowerCenter repository. Modifications to repository objects, import and export metadata can be tracked and a history of changes to repository objects can be maintained. • Simplified debugging and performance tuning. When data transformation logic is configured in PowerCenter, the data transformation logic is represented in a mapping, which provides a visual representation of the data flow, making it simple to debug and edit the transformation logic. Because PowerCenter is a single, unified platform, different functions can be applied to the same metadata without exiting the PowerCenter GUI.
For example, a developer might create a mapping to represent data transformation, and then launch the Data Profiling tool to assess the status of the data. Later, the developer can open the Workflow Manager to perform the transformation and launch the Workflow Monitor to track the data as it moves from the source to the target. A tool called the Pushdown Optimization Viewer lets data integration solution architects preview the flow of data to the source or target database. This tool allows data integration solution architects to preview the data flow, the amount of transformation logic that can be pushed to the source or target database, and the SQL statements that will be generated at run time as well as any messages related to pushdown optimization.
Figure 8 shows the mapping from Figure 6 displayed in the Pushdown Optimization Viewer. Figure 8: Pushdown Optimization Viewer Pushdown Optimization 11 Reduced Risk and Enhanced Flexibility IT organizations typically support several different relational databases. Even when they are able to standardize on a single RDBMS, changing business conditions—resulting from mergers and acquisitions, cost cutting, etc. —dictate that they need to be prepared to support multiple relational databases architectures. IT organizations need to be able to fully leverage the capabilities of each type of database, and yet stay agile enough to rapidly integrate other types of databases as the need arises.
New regulatory and governance requirements also dictate increased visibility and control into the business rules applied to data as it moves throughout the enterprise. PowerCenter reduce the risk of changing database architectures and enhances flexibility by being database-neutral. PowerCenter’s metadata-driven architecture extends to mappings that leverage the Pushdown Optimization Option. The appropriate database-specific logic can be easily regenerated post-database change, providing flexibility of choice and ease of change. Leveraging metadata analysis and reporting, rather than having business logic tied to vendor-specific handcoded logic, enables effective data governance and transparency. Conclusion and Next Steps
Today’s challenges to save costs and also drive revenue are pushing organizations to examine their current data integration infrastructure needs and choose solutions that provide flexibility and maximum leverage of current assets. Informatica PowerCenter provides IT organizations with the flexibility to optimize performance in response to changing runtime demands, peak processing needs, or other dynamic aspects of the production environment, helping IT organizations achieve cost-effective scalability and performance. By delivering a combined engine-centric and RDBMS-centric approach to data integration in a single, unified platform, PowerCenter 8, with its Pushdown Optimization Option, ensures optimal performance for the broad spectrum of data integration projects and helps IT save costs through the intelligent use of existing computing resources.
With the Pushdown Optimization Option, PowerCenter 8 can help the enterprise: • Cost-effectively scale through a flexible, adaptable data integration architecture • Increase developer and team productivity • Save costs through greater leverage of RDBMS and hardware investments • Eliminate the need to write custom coded solutions • Easily adapt to changes in underlying RDBMS architecture • Maintain visibility and control of data integration processes To find out how using a combined engine- and RDBMS-centric approach can benefit your data integration initiatives, or to find out more about PowerCenter 8, please visit us at www. informatica. com or call us at (800) 653-3871. 12 White Paper Pushdown Optimization 13
Worldwide Headquarters, 100 Cardinal Way, Redwood City, CA 94063, USA phone: 650. 385. 5000 fax: 650. 385. 5500 toll-free in the US: 1. 800. 653. 3871 www. informatica. com Informatica Offices Around The Globe: Australia • Belgium • Canada • China • France • Germany • Japan • Korea • the Netherlands • Singapore • Switzerland • United Kingdom • USA © 2006 Informatica Corporation. All rights reserved. Printed in the U. S. A. Informatica, the Informatica logo, and, PowerCenter are trademarks or registered trademarks of Informatica Corporation in the United States and in jurisdictions throughout the world. All other company and product names may be tradenames or trademarks of their respective owners. J50701 6650 (04/25/06)