Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL...
-
Upload
phamnguyet -
Category
Documents
-
view
238 -
download
5
Transcript of Usando el Informix SQL Warehousing Tool para movimiento de ...€¦ · Usando el Informix SQL...
© 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
© 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.
© 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
© 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
© 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)
© 2010 IBM Corporation6 2010
En una Arquitectura Típica de Data Warehouse...
© 2010 IBM Corporation7 2010
Dónde iría el motor de base de datos Informix?
© 2010 IBM Corporation8 2010
Dónde irían Informix SQW, InfoSphere CDC, QualityStage, DataStage?
© 2010 IBM Corporation9 2010
Dónde irían IBM Cognos, SPSS, DataQuant, Mashup Center, BIRT?
© 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
© 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) ?
© 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
© 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
© 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
© 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)
© 2010 IBM Corporation16 2010
Informix SQW – Design Studio Workbench
© 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)
© 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
© 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
© 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
© 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)
© 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
© 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
© 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)
© 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)
© 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
© 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)
© 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
© 2010 IBM Corporation29 2010
Cada operador tiene Wizard y Posibilidad de Transformaciones
You can type your own SQL-based code in here too
© 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
© 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}
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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"
© 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
© 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
© 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
© 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
© 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
© 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
© 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 &
© 2010 IBM Corporation48 2010
© 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
© 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)
© 2010 IBM Corporation51 2010
Invocando al Servidor SQW: Admin Console
© 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