Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL...

53
© 2010 IBM Corporation Usando el Informix SQL Warehousing Informix SQL Warehousing Tool Tool para movimiento de datos y ETL Veronica Gomes ([email protected]) IT Specialist, IBM Informix Development

Transcript of Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL...

Page 1: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation

Usando el Informix SQL Warehousing Informix SQL Warehousing ToolTool para movimiento de datos y ETL

Veronica Gomes ([email protected])

IT Specialist, IBM Informix Development

Page 2: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation2 2010

Important Disclaimer

THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.

WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.

IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE.

IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.

NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF:

• CREATING ANY WARRANTY OR REPRESENTATION FROM IBM (OR ITS AFFILIATES OR ITS OR THEIR SUPPLIERS AND/OR LICENSORS); OR

• ALTERING THE TERMS AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT GOVERNING THE USE OF IBM SOFTWARE.

The information on any new product is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information on the new product is for informational purposes only and may not be incorporated into any contract. The information on the new product is not a commitment, promise, or legal obligation to deliver any material, code or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion.

Page 3: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation3 2010

Qué es el Informix SQL Warehousing Tool (SQW)?

Componentes y herramientas en el Informix SQW

Introducción a la funcionalidad del SQW– Design Studio

• Data Modeling & Architect• Data Movement & Transformation: Data Flows, Control Flows

– Warehouse Admin Console• Deploy, Schedule, Monitor

Cómo bajar, instalar y comenzar a usar el Informix SQW?

Dónde encontrar más información?

Preguntas?

Introducción al Informix SQL Warehousing Tool – Agenda

Page 4: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation4 2010

Qué es el Informix SQL Warehousing Tool (SQW)?

Conjunto de 2 herramientas gráficas (GUI) integradas:– Design Studio (diseño/desarrollo)– Warehouse Admin Console (runtime/producción)

Proveen funcionalidad y soporte del ciclo de vida para:– Migración de datos entre diferentes BD y archivos– Extract-Load-Transform (ELT) tool– Movimiento de datos y transformaciones basadas en

SQL entre BD JDBC-compatibles y archivos planos– Modelaje y descubrimiento de modelos de datos

Construída sobre la base de:– SQL– Java y JDBC– Web Services

Herencia y adaptación optimizada para Informix del InfoSphere Warehouse SQW

Page 5: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation5 2010

Qué hay de nuevo en el Informix SQW?

Cambios efectivos desde Mayo 25, 2010:

Nombre del software ETL y opción en el paquete del motor Informix: – (antes) Informix Warehouse Feature 11.5 → (ahora) Informix SQL Warehousing Tool (SQW) 11.5

Costo: Disponible para bajar e usar sin costo para clientes de:– Informix Growth Edition (antiguo Informix Dynamic Server Workgroup Edition)– Informix Ultimate Edition (antiguo Informix Dynamic Server Enterprise Edition)

Bundle Informix Warehouse (Workgroup / Enterprise edition) → reemplazado por ediciones de Informix que incluyen SQW

Informix Warehouse puede referirse al Informix SQW, o también:– al uso, software y roadmap de Informix como plataforma de data warehousing– a la integración de Informix con la herramienta Informix SQW y potencialmente con otros software de Integración y

Business Intelligence (BI) (ejm: Cognos) para construir una solución de BI basada en Informix

Informix Growth editionInformix Growth edition(incluye el Informix SQW)

Informix Ultimate editionInformix Ultimate edition(incluye el Informix SQW)

Page 6: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation6 2010

En una Arquitectura Típica de Data Warehouse...

Page 7: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation7 2010

Dónde iría el motor de base de datos Informix?

Page 8: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation8 2010

Dónde irían Informix SQW, InfoSphere CDC, QualityStage, DataStage?

Page 9: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation9 2010

Dónde irían IBM Cognos, SPSS, DataQuant, Mashup Center, BIRT?

Page 10: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation10 2010

ELT: Extract – Load – Transform

Convierte al motor de BD relacional en un motor de movimiento y transformación de datos

Necesita una base de datos para procesar las transformaciones (execution database)

Usualmente, el trabajo es hecho en la base de datos del sistema destino (= execution database)

Puede extraer información de múltiples tipos de base de datos pero típicamente soporta un destino específico

Puede “empujar” algún procesamiento a las bases de datos fuente

Puede invocar utilitarios de bases de datos

Por definición, tiene una tendencia de diseño basada en conjuntos / datos

Informix SQL Warehousing Tool (SQW) es una herramienta ELT (Execution DB es un Informix 11.5+)

Extract TransformLoad

Execution DatabaseUsually, same as the

Target Database (Ejm: Warehouse)Data sources

Data warehouse

Page 11: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation11 2010

En lugar de tener que escribir y mantener código SQL así...SELECT SALES.OU_IP_ID AS STR_IP_ID, SALES.PD_ID AS PD_ID, SALES.MSR_PRD_ID AS TIME_ID, SALES.C_D_MKT_BSKT_TXN_ID AS NMBR_OF_MRKT_BSKTS, SALES.SUM_NBR_ITM AS NUMBER_OF_ITEMS, CASE WHEN SALES.M_BK_PD_SUB_DEPT_NM IN ('BATH AND SHOWER', 'CAMERAS') THEN SALES.BKP_SUM_NBR_ITMXPRC * DECIMAL(MARTS.RAND1N(5) + 123) / 100 ELSE SALES.BKP_SUM_NBR_ITMXPRC * DECIMAL(MARTS.RAND1N(5) + 102) / 100END AS PRDCT_BK_PRC_AMUNT, CASE WHEN SALES.MIN_CG_PD_DEPT_NM IN ('TEEN BOYS', 'TEEN BOYS JEANS', 'DRESS FORMAL','MEN SHOES') THEN (DECIMAL(68 - MARTS.RAND1N(5)) / 100) * SALES.SUM_CG_NBR_ITMX_PRC WHEN SALES.MIN_CG_PD_DEPT_NM IN ('ELECTRICAL APPLIANCES','ELECTRONICS','COLORED TELEVISIONS','WOMEN SHOES') THEN (DECIMAL(77 - MARTS.RAND1N(5)) / 100) * SALES.SUM_CG_NBR_ITMX_PRC WHEN SALES.MIN_CG_PD_DEPT_NM IN ('HEALTH AND BEAUTY') THEN (DECIMAL(65 - MARTS.RAND1N(5)) / 100) * SALES.SUM_CG_NBR_ITMX_PRC ELSE (DECIMAL(72 - MARTS.RAND1N(5)) / 100) * SALES.SUM_CG_NBR_ITMX_PRC END AS CST_OF_GDS_SLD_CGS, SALES.SUM_NBR_ITMXSTM_PRC AS SALES_AMOUNT FROM SALES) …………

Y entonar manualmente tu código SQL para performance ?

Qué pasa cuando el esquema de las tablas cambia?

O cuando el esquema de particionamiento / fragmentación se actualiza?

O necesites ejecutar este código en un site diferente (development -> testing -> production) ?

Page 12: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation12 2010

No es preferible escribir la lógica a alto nivel y que el código SQL sea generado automáticamente?

De manera que...

Reaccionar a un cambio es muy fácil

Y un plan de ejecución óptimo es decidido por ti ( Está bien, todavía podrás “entonar” la ejecución )

Y el código que tu desarrollas es modular y reusable

Page 13: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation13 2010

Provee una plataforma de muy bajo costo para soportar el ciclo de vida de:

–Modelaje físico y arquitectura de datos de fuentes y destinos de movimiento de data

–Movimiento y transformación de datos (ETL) entre BD heterogéneas (JDBC/JCC) y archivos planos

Basada en GUI/Wizards, estándares y plataforma abierta

–SQL, Java/JDBC, open-source IDE en Eclipse, BD metadata/control y Web Services

SQL es usado en virtualmente todo proyecto ETL

–SQL siempre es necesario, es el lenguaje natural para desarrollar lógica sobre BDs

–Permite ejecutar código SQL customizado que toma ventaja del SQL provisto por las distintas BDs

–Usar una BD de ejecución que sea también la BD destino evita movimiento innecesario de datos

–La transformación es hecha dentro del warehouse donde la data pertinente reside

Aprovecha las ventajas del Optimizador de la BD, SQL, scripts, y estrategias para performance tuning

–Ayuda a automatizar, optimizar y mantener fácilmente actividades de migración de datos y ETL basadas en SQL

–Permite reusar en los proyectos recursos pre-existentes (SQL scripts, comandos de S/O, diseño físico de BD)

SQL es un complemento a las herramientas tradicionales ETL en ambientes heterogéneos

–Donde SQL no aplique, permite integrar con “conectores” para extraer datos o procesar tareas fuera de la BD

–Conectividad directa con DataStage/QualityStage, para manejo sofisticado de metadata, calidad de datos, perfil de datos y conectividad con sistemas mainframe y ERP

Beneficios del Informix SQL Warehousing Tool

Page 14: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation14 2010

Paquete de la Application Warehouse (zip file)

Deployment profile (conexiones a las DB, recursos de máquina, variables, DDLs)

Código generado para ETL jobs (control flows)

Componentes del Informix SQL Warehousing Tool (SQW)

Design Studio (Cliente)Design Studio (Cliente)

Ambiente de Diseño basado en EclipseAdmin Console (Servidor)Admin Console (Servidor)

Ambiente de Producción basado en Websphere

deploy

crear

Manejo de la Aplicación de Warehouse

Programar la ejecución de los control flows en un Schedule

Monitorear la ejecución de control flows

man

ejar

Page 15: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation15 2010

IDE basado en Eclipse (eclipse.org)– Herramientas integradas con IBM IDA, Data Studio– Plataforma customizable y expandible a través de plug-ins (ejm: CVS)– Compartir recursos (scripts, variables, trabajos ETL, modelos, etc)– Registro de la historia de cambios a diseño de datos y ETL– Importar/exportar modelos de datos físicos (MIMB feature) y proyectos

Proyectos de Data Warehousing contienen:– Data Models (physical modeling & reverse engineering)– Data Flows (data-only ETL)– Control Flows (data+logic deployable ETL jobs)– Warehouse Applications (deployment packages)– Subflow & Subprocess (reusable flow modules)– Variables– SQL Scripts

Data Source Explorer– Conexiones a múltiples bases de datos. Ejm: Informix, DB2 LUW,

Oracle, SQL Server, mySQL, DB2 z/OS, Sybase, etc.– Ver objetos de las bases de datos, ver todos los datos o muestra de

datos, obtener esquema (DDL) o descargar datos, etc

Integration con IBM DataStage

Informix SQW: Design Studio (Design, Develop, Test, Debug)

Page 16: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation16 2010

Informix SQW – Design Studio Workbench

Page 17: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation17 2010

Informix SQW – Design Studio: Soporte de 2 grupos de actividades

Data Integration and ETL Modeling

Physical Database Modeling and Data

Architect

Physical Data ModelsOverview (ER) Diagrams

Data Flows (SQL-based data movement & transformation)

Control Flows (data flows + logic / control + DB/OS tasks)

Physical Data Model: Data Sources and Targets(Discover, Design, Validate, Deploy)

Data Movement and Transformation processes(Design, Test and Debug, Prepare for Deployment)

(IDA eclipse plug-ins) (SQW eclipse plug-ins)

Page 18: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation18 2010

Pasos típicos en Design Studio

1. Entrar a un Workspace nuevo o existente

2. Crear y probar las Conexiones de BD JDBC a fuentes y destinos

3. Crear un Nuevo Proyecto o Abrir un Proyecto Existente de tipo Data Warehousing

4. Crear o descubrir los Physical Data Models de BD fuentes y destinos usadas en los ETL

5. Crear, validar, probar los Data Flows para movimiento de datos entre fuentes y destinos

6. Crear, validar, probar los Control Flows con la secuencia de Data Flows, operadores fuera de las BD y lógica de control

7. Empaquetar en un .zip una Aplicación Warehouse con los Control Flows y recursos adicionales de interés para luego importar la aplicación empaquetada desde el Wareshouse Admin Console

Page 19: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation19 2010

SQW Design Studio – Data Modeling/Architect (discover, model, visualize, relate) (1)

Physical Data Model

Visualized data modeling, overview diagram (ER)

Impact analysis

Reverse engineering, from template or new from scratch

Compare & sync

Generate and apply DDL

Data Models (for sources, targets) are required to provide relational table metadata to Data Flows

Shell Sharing with InfoSphere Data Architect (IDA) & Optim Data Studio products

Page 20: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation20 2010

SQW Design Studio – Data Modeling / Architect (2)

Overview (ER) Diagram

Physical Database Objects

Properties

Data Objects Palette

Data Model Objects

Data Source

Explorer

Data Operators & Database Objects:DatabaseTables (columns, indexes, constraints, triggers)Views & synonymsRelationshipsStored procedures & functionsSchemas, users & rolesSequences

Page 21: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation21 2010

SQW Design Studio – Data Movement and Transformation

Los procesos de Movimiento y Transformación de Datos son diseñados y desarrollados usando Design Studio.

El ciclo de vida de estos procesos incluye:

Diseñar y validar data flows

Probar-depurar-ejecutar data flows

Diseñar y validar control flows

Probar-depurar-ejecutar control flows

Preparar la aplicación de warehouse que contiene los control flows para deployment

Data Flows: SQL-based data movement & transformation (non-deployable)Control Flows: data flows + logic / control + DB/OS activities (deployable)

Page 22: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation22 2010

SQW Design Studio – Data Flows (pure SQL-based ETL) (1)

Data flows define the SQL-based data movement and transformation activities that run in an Informix database

Table Join

Aggregation

Table Target

Table Source(s)Table

Source(s)Each Data Flow needs an Execution Database

OperatorsPalette

Data Flow Operators:Source & target operators (table, file)SQL Transformation operatorsWarehousing operators

File Source

Page 23: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation23 2010

SQW Design Studio – Data Flows (pure SQL-based ELT) (2)

Características claves de los data flows (flujos de datos):

Definen los pasos de transformación y movimiento de datos

Librería de operadores comunes para pasos de extracción y transformación

La mayoría de los operadores contienen puerto(s) de entrada y de salida de datos con posibilidad de transformaciones intermedias

Posibilita la incorporación de operadores de 3ros a través de una librería

Tiene operadores generales de SQL que también permiten escribir transformaciones en SQL directamente

Soporta variables y parametrización de flujos para facilitar portar y reusar

sub-flows reusables (macros) para patrones de transformación frecuentes

Probar y depurar el flujo contra una BD antes que sea implementado

Fuentes y destinos pueden ser múltiples tablas en BDs y/o archivos

Page 24: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation24 2010

A simple flow

Generated SQL code

Optimization across SQL statements.

Optimized staging strategy

In-database transformation

SQW Design Studio – Data Flows (pure SQL-based ELT) (3)

Page 25: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation25 2010

SQW Design Studio – Control Flows (Data Flows + Logic + Utils) (1)

If success, run several Data

Flows in Parallel

Control Flow Operators:Common utility operatorsInformix-specific operatorsInvoke data flows in sequence or in parallelControl logic, parallel execution, loop iterationError handling

If success, call this

Data Flow

If failure, Send Email

Secure FTP

Update Statistics

OperatorsPalette

StartWrite to

a File

Call a Stored Procedure

If failure, call an Iterator

End Iterator

Control flows are container models that sequence 1+ data flows integrated with other data processing, rules and activities Control flows are deployable jobs (data flows are not deployable)

Page 26: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation26 2010

SQW Design Studio – Control Flows (Data Flows + Logic + Utils) (2)

Características claves de los control flows (flujos de control):

Comienzan con el operador Start

Permiten la coordinación de la ejecución de varios data flows junto con otras actividades

Soportan las condiciones de ejecución en caso de éxito (success), falla (failure) y siempre (unconditional)

Soporte de:– Data flows– DataStage jobs– Secure server script commands– E-mail activities– Iterators– Operaciones específicas de Informix: Scripts, Custom SQL,

Partition Attach/Detach, Update Statistics

Generación de aplicaciones de warehousing para posterior deployment de control flows y sus recursos asociados en el servidor de producción a través del Warehouse Admin Console

Page 27: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation27 2010

Tablas Fuente (Table Source)– Informix sources

• Si están en un nodo secundario en cluster: setear DBSPACETEMP, TEMPTAB_NOLOG

– Non-Informix sources through JDBC/JCC– Sobre los fuentes, se aplican:

• Filtros de filas a extraer (where clause)• Mapping de tipos de datos de columnas• Edición / transformación de columnas• Carga en tabla temporal para procesamiento

– Sinónimos, vistas

Archivos planos (Flat Files: File Import)– Data es extraída del archivo y almacenada en

una tabla temporal para procesamiento– Ello permite usar archivos como entrada de

operaciones de SQL, como Joins– Definición automática o manual de columnas:

• Discovery a partir de una muestra del archivo• Abilidad de definir File Format manualmente

Usar Custom SQL para:– Crear External tables (for fast loading from files)

Tablas Destino (Table Target)

– Informix target tables

• Preferible que esté en el Execution DB

• Métodos: Insert (commit interval available), Update, Delete

– Non-Informix (remote) targets via JDBC

• Insert, Update, Delete

Usar Custom SQL (en lugar de Table Target) para:

– Merge (Upsert, for Aggregate/Summary Tables & incremental update)

– External Tables (fast loading from files)

– Load from statement

Usar Command para:

– dbload, onunload, onpload (HPL), etc

Archivos planos (Flat Files: File Export)

– Performs an Unload operation

Fuentes y Destinos de datos (Data Sources and Targets)

Page 28: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation28 2010

Ejemplos de Fuentes y Destinos en un Data Flow

Informix table source

Flat file as source

Connection to Microsoft® SQL server

Access remote table with JDBC

Connection to MS SQL

server

Non-Informix table source

Data-type conversion to IDS is

automatic, yet change-able

Connection to IBM® Informix

Page 29: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation29 2010

Cada operador tiene Wizard y Posibilidad de Transformaciones

You can type your own SQL-based code in here too

Page 30: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation30 2010

La BD de Ejecución (Execution Database) – Dónde configurarla

Data Flows Properties tab / page Flow Execution Wizard / dialog box

Execution database is a mandatory property of data flow

Data FlowProperties

page

Data Flow Execution

Wizard

Page 31: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation31 2010

Parametrización de Data Flows y Control Flows

Variables pueden usarse en Data Flows and Control Flows

Definidas por el Usuario y Reservadas Permiten diferir la definición de ciertas

propiedades o valores hasta una etapa tardía del ciclo de vida de ETLs

Usarlas cuando se desconoce, por ejm:– File Names– Table Names– Schema Names– DataStage job Name

(el formato/esquema de archivos y tablas tiene que ser conocido)

Generaliza los Data Flow y Control Flow para reusar en customizaciones

Facilita paso del ambiente de Desarrollo a Producción

Variables Phases (last phase to change): Design, Deployment Preparation, Deployment, Runtime, Execution Instance

Variables pueden usarse en combinación con constantes:

${MY_FILE_DIRECTORY}myfile.txt

Ejecución finalizó OK en ${RESERVED/CURRENT_TIMESTAMP}

Page 32: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation32 2010

Data Station operator

Defines an explicit staging point in a data flow, to store intermediate processed data for tracking, debugging, or ease of data recovery

Station types: Use the right for you– PERSISTENT TABLE

– TEMPORARY TABLE

– FILE

– VIEW

Data stations with persistent tables can serve as target operators

– You may want to have data put into a persistent store at various points during processing, perhaps as logical recovery points

– Useful as a recovery and checkpoint mechanism

One other property of a data station is pass through

Page 33: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation33 2010

Data Station – Pass Through property

During design stage, you might place data stations at various points in order to verify that the flow is working correctly

When the application is deployed into production, you do not want the overhead of hardening your data at those various staging points

Prior to deployment, you can specify the Pass Through option to ignore the staging point

No need to remove the data stations from your flow, but you still get the performance benefit as if they were not there

Data Stage operator is ignored. File is not created

Page 34: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation34 2010

Skip Execution in Control Flow operators

Skips this specific operator assuming it executed successfully

Useful to resume a control flow from the failed point without restarting from beginning

Saves time when need to re-run control flow but not all of it

You can change the @SKIPEXECUTION activity attribute in the Administration Console after you deploy the application

Page 35: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation35 2010

Internal/Implicit Staging Tables

We do not control the names of the internal temporary tables that are created at runtime

Important if multiple data flows run at the same time within a parallel container:

– Use a distinctive prefix name for the implicit temporary tables to be created on each data flow

– Avoid collision of temporary table names between data flows

Page 36: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation36 2010

Create Suitable Table option

Take advantage of this feature when needed, to save you time

Creates a physical table for storing data operator results:– Target table created based upon the virtual table of the port

– Right-click on output port to get pop-up menu

Page 37: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation37 2010

Splitter and Select List operators

Splitter operator:

Different targets/outputs according to one or more conditions

Select List operator:

Multiple targets, same output port

Emulates the SELECT clause of an SQL statement

• Can be used to add, drop, split, modify or combine columns of a data set

Page 38: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation38 2010

Informix feature: Loading data with MERGE statement

Transfers data to target table using UPSERT

Replaces current UPSERT logic implemented in client applications

ANSI/ISO 2003 standard

Merges rows to a target table based on a condition:

– TRUE: Update the target table row.– FALSE: Insert the target table row

Target Table: t

12

11

10

C1

212011

222110

C3C2C1 707012

212016

222115

C3C2C1

Source Table: s M E R G E

MERGE

INTO TARGET t

USING SOURCE s

ON t.c1=s.c1

WHEN MATCHED THEN

UPDATE SET t.c1=t.c1+5

WHEN NOT MATCHED

THEN INSERT (t.c1, t.c2, t.c3) values (s.c1, 70, 70);

Target Table: t

Page 39: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation39 2010

Maintaining Aggregate/Summary tables – SQW & Merge

Data flow to insert new rowsto salesand update aggregate

Place Subflow Aggregate

Subflow here

Insert new rows into fact

table Sales

Use Select List multiple connect feature to use the

same output to update both sales and its summary table

sales_per_month

Page 40: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation40 2010

Maintaining Aggregate/Summary tables – SQW & Merge

Most of the time (as the size of the fact table grows), the faster method is to update the aggregate/summary tables with the new values added to the fact table. Code inside the Custom SQL operator: The MERGE operation in IDS:

MERGE INTO sales_per_month AS spm USING "INPUT_010_0" AS newON spm.district_code = new.district_code AND

spm.product_code = new.product_code ANDspm.month_code = new.month_code

WHEN MATCHED THENUPDATE SET spm.units_sold = spm.units_sold + new.units_sold,spm.revenue = spm.revenue + new.revenue,spm.cost = spm.cost + new.cost,spm.net_profit = spm.net_profit + new.net_profit

WHEN NOT MATCHED THENINSERT (district_code, product_code, month_code, units_sold, revenue, cost, net_profit)VALUES (new.district_code, new.product_code, new.month_code, new.units_sold, new.revenue, new.cost, new.net_profit);

Saved asa Sub-flowafter changes

Aggregate Subflow Replaced Table Target (Insert) with

Custom SQL for sales_per_month

Below code

Replaced Table Source with

Subflow Input for sales

"INPUT_010_0"

Page 41: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation41 2010

SQW Admin Console (Set up Connections, Deploy applications, Schedule, Execute, Monitor) (1)

Manage Connections in Production environment

Deploy (import a zip file) a warehouse application containing several control flows

Set up the variables values and DB connections to use in production

Page 42: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation42 2010

SQW Admin Console (Set up Connections, Deploy applications, Schedule, Execute, Monitor) (2)

Manage common resources (e.g. databases connections, ftp servers, DataStage servers)

Schedule & monitor warehouse processes

Page 43: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation43 2010

Pasos típicos en el Admin Console

1. Login en el Warehouse Admin Console

2. Configurar el ambiente de Producción (runtime) y Crear las definiciones de Conexiones a las Bases de Datos en Producción

3. Importar / instalar (Deploy) la aplicación de warehouse en el ambiente de Producción, usando el archivo .zip que se empaquetó desde Design Studio

4. El Admin Console encontrará los Control Flows empaquetados. Configurar las variables con los valores que se usarán en Producción

5. Programar la ejecución (Schedule) de los procesos ETL (control flows) que vinieron con la aplicación

6. Monitorear la ejecución, chequear los logs, tomar acciones, reiniciar procesos si es necesario

Page 44: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation44 2010

Troubleshooting / Diagnóstico de Problemas

A nivel de la base de datos:– Enable JDBC / JCC Trace at the DB Connection (Data Source Explorer)

A nivel de Design Studio: Data Flows y Control Flows– Debug y configurar breakpoints (en lugar de Execute)– A nivel de operadores: Propiedad en Diagnostic tab:

• Tracing Level: None, Methods, Content, Both• Logging Level: Info, Warning, Error

– Consultar tabs: SQL Results, Problems, Execution Status y Job Status

A nivel del Admin Console: Control Flows– Manage Logs permite los niveles: Info, Warning, Error, Debug, Trace– Monitor & View Log for failed or slow Control Flow execution

Page 45: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation45 2010

Descargando el Informix SQL Warehousing Tool (SQW)

Usuarios de Informix Growth y Ultimate Edition:– A través de IBM Passport Advantage online (PPA)

Trials and Demos:– Download 90-days trial: Informix Warehouse:

• Informix Ultimate/Enterprise Edition + • Informix SQL Warehousing Tool (SQW) / Informix Warehouse Feature

– http://www14.software.ibm.com/webapp/download/search.jsp?pn=Informix+Warehouse

Del Informix SQW, descargar cada componente para la plataforma deseada:– Client (Design Studio)– Server (Admin Console)– Descargar también: Activation zip file (0.5 MB, multiplatform)

• Será necesario para instalar el Design Studio y el Admin Console

Page 46: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation46 2010

Instalando el Cliente SQW: Design Studio

Windows:– Ir al directorio donde se descromprimió la media del instalador de Design Studio:

cd <image_path_SQW>\client\– Instalar el Design Studio pasando a la opción -Dprofile el path del archivo .zip de

Activación:install.exe -Dprofile=”<path_to>\ActivationKeyFile.zip”

Linux:– Ir al directorio donde se descomprimió la media del instalador de Design Studio:

cd <image_path_SQW>/client/– Se requiere ambiente gráfico para el instalador, configurar si no se está en la cónsola:

• Levantar una sesión de X-Server en el desktop/laptop• En el terminal del Linux, exportar el DISPLAY al IP del desktop/laptop:export DISPLAY=<your_machine_ip_address>:0.0

– Instalar el Design Studio pasando a la opción -Dprofile el path del archivo .zip de Activación:../install.bin -Dprofile=”<path_to>/ActivationKeyFile.zip”

Si se necesita ignorar un pre-requisito del S/O, usar la opción: -DDS_IGNORE_OSPREREQ=TRUE

Page 47: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation47 2010

Invocando al Cliente SQW: Design Studio

Windows:– Directorio de instalación por defecto del SQW:

C:\Program Files\IBM\ISWarehouse– Opciones para invocar al Design Studio:

• Desde el grupo de programas:Start → All Programs → IBM Informix Warehouse Feature → DesignStudio

• Desde línea de comandos:cd <directorio_de_instalación_del_SQW>\ds\eclipse

Linux:– Directorio de instalación por defecto del SQW:

/opt/IBM/ISWarehouse– Para invocar al Design Studio:

• Desde línea de comandos:cd <directorio_de_instalación_del_SQW>/ds./eclipse &

Page 48: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation48 2010

Page 49: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation49 2010

Instalando el Servidor SQW: Administrative (Admin) Console

Crear una BD con ANSI Log en Informix 11.5 (BD de control, por ejm: SQWCTRL) para mantener la información de metadata y ejecución de los control flows, preferiblemente crear en un dbspace con un tamaño de página de 4K:

onspaces -c -d <DBspace> -p <path> -o <offset> -s size -k 4CREATE DATABASE <dbname> IN <DBspace> WITH LOG MODE ANSI;

– Durante la instalación del Admin Console (server component) se preguntará por:• los datos de conexión hacia esta BD de control / metadata (ejm: sqwctrl)• el usuario administrativo (global security) de Websphere Application Server (WAS) (ejm: wasadmin)

Windows:– Ir al directorio donde se descromprimió la media del instalador del Admin Console:

cd <image_path_SQW>\server\– Instalar el Admin Console pasando a la opción -Dprofile el path del archivo .zip de Activación:

install.exe -Dprofile=”<path_to>\ActivationKeyFile.zip”

Linux:– Ir al directorio donde se descomprimió la media del instalador del Admin Console:

cd <image_path_SQW>/server/– Se requiere ambiente gráfico para el instalador, configurar si no se está en la cónsola:

• Levantar una sesión de X-Server en el desktop/laptop• En el terminal del Linux, exportar el DISPLAY al IP del desktop/laptop:export DISPLAY=<your_machine_ip_address>:0.0

– Instalar el Admin Console pasando a la opción -Dprofile el path del archivo .zip de Activación:../install.bin -Dprofile=”<path_to>/ActivationKeyFile.zip”

Si se necesita ignorar un pre-requisito del S/O, usar la opción: -DDS_IGNORE_OSPREREQ=TRUE

Page 50: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation50 2010

Invocando al Servidor SQW: Warehouse Admin Console

Windows:

– Directorio de instalación por defecto del SQW:C:\Program Files\IBM\ISWarehouse

– Opciones para invocar al WAS para configurar la aplicación del Warehouse Admin Console por primera vez:

• Desde el grupo de programas, levantar el WAS si no está arriba:Start → All Programs → IBM Websphere → Application Server 7.0 → Profiles → AppSrv01 → Start the server

• Invocar Administración de WAS Admin para configurar el Warehouse Admin Console (ejm: 9080):Start → All Programs → IBM WebSphere → Application Server V7.0 → Profiles → AppSrv01 → Administrative consoleo también via web browser (ver debajo)

Linux:

– Directorio de instalación por defecto del SQW:/opt/IBM/ISWarehouse

– Opciones para invocar al WAS para configurar la aplicación del Warehouse Admin Console por primera vez:

• Desde línea de comandos, levantar el WAS si no está arriba (como root):<directorio_de_instalación_del_SQW>/appServer/bin/startServer.sh server1

Invocar Administración de WAS Admin para configurar el Warehouse Admin Console:

http://<host_name>:<WAS_admin_tcp_port>/ibm/console

Levantar/abrir el home page del Warehouse Admin Console:

http://<host_name>:<Admin_Console_tcp_port>/ibm/warehouse

Para encontrar el puerto TCP donde corre el Admin Console (ejm: 9043):<directorio_de_instalación_del_SQW>\appServer\profiles\AppSrv01\properties\portdef.props (ver: WC_adminhost_secure)

Para encontrar el puerto TCP donde corre el Warehouse Admin Console (ejm: 9080)<directorio_de_instalación_del_SQW>\appServer\profiles\AppSrv01\properties\portdef.props (ver: WC_defaulthost)

Page 51: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation51 2010

Invocando al Servidor SQW: Admin Console

Page 52: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation52 2010

Dónde encontrar más información?

IBM Informix Warehouse – Roadmap page

http://www.ibm.com/developerworks/data/roadmaps/roadmap_ids_warehouse.html

RedBook: Data Warehousing with Informix Dynamic Server

http://www.redbooks.ibm.com/abstracts/sg247788.html?Open

DeveloperWorks tutorial

http://www.ibm.com/developerworks/views/data/libraryview.jsp?search_by=informix+warehouse+series

Advanced Data Tools webcasts

http://www.advancedatatools.com/Solutions/DataWarehouseWebcast.html

Informix 11.5 Online documentation – Data warehousing and Analytics

http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=/com.ibm.dwe.navigate.doc/welcome_ifxwarehouse.html

Informix Warehouse topics at Informix Tech Support site

http://www-01.ibm.com/support/search.wss?rs=0&apar=include&q1=%2b"informix"%2b"warehouse"&loc=en_US

Chat with the Lab

http://www.ibm.com/informix/labchats

IIUG → (Login) Member Area → Download Conferences (2008, 2009)

http://iiug.org

Page 53: Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL Warehousing Tool para ... Aprovecha las ventajas del Optimizador de la BD, SQL, scripts,

© 2010 IBM Corporation53 2010

Veronica Gomes - [email protected]

Muchas Gracias!

Preguntas?