martes, 23 de febrero de 2010

El portfolio de IBM (IBM Information Management Software)

Para empezar con el análisis de las plataformas de integración de datos he decidido utilizar la clasificación que ofrece Gartner en su último cuadrante de Noviembre de 2009, así que empezaremos por IBM.

La plataforma de gestión de datos de IBM se agrupa bajo la familia InfoSphere Software, esta familia de productos está compuesta por 4 piezas que forman el portfolio de soluciones de Information Management de IBM.

Cada una de estas áreas se identifica con un producto de software de la familia InfoSphere, de esta forma tenemos:

Master Data Management --> IBM InfoSphere MDM Server

Data Warehousing --> IBM InfoSphere Warehouse

Information Integration --> IBM InfoSphere Information Server

Design & Governance --> IBM InfoSphere Foundation Tools

Para los que ya conocíais un poco el portfolio de IBM, diríamos que esta es la nueva estructura o familia de productos que viene de lo que se conocía como IBM Information Server y anteriormente como DataStage, parte de la familia de Rational y algunos módulos de WebSphere.

A continuación os detallo los módulos o aplicaciones que contiene cada producto:


Os puedo asegurar que hacer este cuadro de resumen de los productos no ha sido fácil, ya que al cambiar IBM recientemente las versiones de producto, nombres y distribución de los mismos no existe información actualizada de todos los componentes.

Para el objetivo de nuestro artículo los productos de MDM y Warehouse no los englobaríamos dentro de las herramientas puras de integración y calidad de datos, así que ahora nos centraremos en los productos que componen las Foundation Tools y el Information Server.

A continuación haremos una breve explicación de las características de cada producto. Todos los productos empiezan con el nombre de la familia InfoSphere, con vuestro permiso omito esta palabra.

Information Services Director, es uno de los componentes clave de la plataforma de integración de IBM. Services Director proporciona un mecanismo común para publicar y administrar servicios compartidos entre las funciones de Data Quality, Data Integration y Federation. Es también el encargado de enlazar estas aplicaciones con sus metadatos y contiene los servicios de logging, reporting, security, administration, etc. Creo que el gráfico adjunto refleja las funciones principales del Information Services Director.

Change Data Capture, este componente ahora llamado IBM InfoSphere Change Data Capture era lo que conocíamos como DataMirror, este servicio permite la captura de datos en tiempo real para trabajos de estracción de datos (DataStage Jobs).

Este tipo de tecnología a día de hoy tiene un impacto muy bajo sobre el rendimiento de las bases de datos ya que actualmente se utiliza lo que se conoce como Log-based sourcing que es un control de cambios basado en la monitorización de log en lugar de la utilización de triggers de antaño. Actualmente IBM ofrece esta funcionalidad para DB2, Oracle y SQL Server y anuncian que en la próxima versión ya estará disponible también para Informix y Sybase.

DataStage y QualityStage, son los 2 productos core de Information Server, el primero ofrece las funcionalidades de desarrollo de Data Flows, como los llama IBM, o procesos de extracción de datos desde multiples orígnes, capacidades de tranformación y por último entrega sobre DDBB o aplicaciones de destino. Es el componente ETL de la solución. QualityStage proveee de funcionalidades de Data Quality a Information Server, en la versión 8,1 IBM anuncia que han ampliado las capacidades de verificación y estandarización de direcciones hasta 240 países. Como novedades también destacan nuevas funcionalidades de matching como el MULT_ALIGN Comparison Type o el Unduplicate Transitive Match, esta opción permite agrupar elementos mediante la aplicación de la propiedad transitiva de tal forma que si A coincide con B y B coincide con C, entonces a,B y C forman un grupo de coincidencia (digo coincide porque no me gusta utilizar la palabra matchea como he visto por ahí, si os gusta más podríamos decir hacer matching).

Federation Server, es la funcionalidad que permite crear una vista de datos federados para un acceso rápido a orígnes de datos, se utiliza por ejemplo para evitar tener que mover los datos físicamente a una nueva ubicación, con este utilidad podemos crear en una nueva ubicación física un puntero hacía los datos reales (vista federada) se utiliza para creación de prototipos (prototipado es otra palabra que no me gusta), o en procesos de fusiones, migraciones, etc para crear accesos temporales a bases de datos que no han de ser migradas, por ejemplo.

Discovery es una herramienta de automating discovery, permite crear un modelo de datos y relaciones de forma automatizada, es capaz de hacer este descubrimiento en entornos heterogéneos. Esta funcionalidad es básica por ejemplo en los productos de archivado (Data Archiving) y normalmente se conoce como Subsetting. Esta funcionalidad estaba incluida en el producto Optim de IBM y es muy útil para poder hacer extracciones de conjuntos de datos, un ejemplo típico se produce en la aseguradoras cuando quieres extraer los datos de una agencia y quieres que te de las pólizas de esa agencia, independientemente del tipo de póliza, con los clientes, comerciales, productos, etc que estén relacionados para hacer por ejemplo un entorno de pruebas.

FastTrack, es una herramienta de creación de reglas de negocio o de conversión de datos, lo que en otros artículos denominábamos Data Driven Tables. Estas reglas permiten especificar la lógica de negocio necesaria para traducir los datos fuente en un formato de consumo para una aplicación de destino. Por ejemplo, la definición de un cálculo matemático para rellenar una columna de destino, hacer una conversión del dato por ejemplo de M a Male y F a Female, etc.

Estos requisitos de negocio se pueden guardar y volver a utilizarse y servir como una pista de auditoría para las decisiones de diseño realizados durante el proceso de desarrollo o proporcionar información histórica.

Business Glossary es una herramienta web-based para gestionar, administrar, editar y compartir todos los metadatos de negocio y físicos. Es importante destacar este detalle, la misma herramienta permite trabajar con Business Metadata y Phisycal Metadata, la diferencia radica en que los metadatos físicos se centran en la definición de la estructura de los datos, localización, etc, mientras que los metadatos de negocio se centran en las características de la información, su uso y las reglas de negocio aplicables a los mismos. Este tipo de herramientas suelen ser visuales y muy intuitivas.

Information Analyzer es una herramienta de análisis de datos desde el punto de vista de su calidad, formato, precisión, longitud, compatibilidad, validez, etc. Otros fabricantes denominan a este tipo de herramientas, herramientas de perfilado de datos. Son muy útiles para entender exactamente qué es lo que tenemos dentro de los orígenes de datos y permite hacer un análisis previo a cualquier proceso de integración. Suelen incluir análisis de columnas, tablas y entre tablas para detectar inconsistencias, foreign keys, etc.

Data Architect, es una herramienta de diseño y modelado de datos. Esta herramienta permite optimizar el modelo de datos de nuestros orígnes, así como de las nuevas fuentes que vayamos generando. IBM facilita con esta herramienta modelos predefinidos para diferentes tipos de datos e industrias, permitiendo que personalicemos y realicemos cambios sobre estos modelos. Como funcionalidades Data Architect permite crear un modelo lógico y físico de datos, definir los atributos de los datos, incluidas las limitaciones de dominio y los atributos de privacidad, descubrir, explorar y visualizar la estructura de las fuentes de datos y descubrir, identificar, comparar y sincronizar la estructura de dos fuentes de datos.

La nueva versión de esta herramienta ofrece integración con IBM Rational Software Architect, Eclipse 3.2 y IBM Information Server; asignaciones adicionales y un soporte ampliado para XML, DB2 V9, Sybase, Informix y MySQL.

Metadata WorkBench, es la herramienta de trazabilidad y linaje de datos. Permite hacer un análisis de impacto de los procesos de integración o bien realizar trazabilidad inversa para ver de dónde salen los datos de un informe de BI, etc. Este tipo de funcionalidades son requeridas por ejemplo por regulaciones como Basilea II o Sarbanex-Oxley.

Bueno, espero que con toda esta información os podáis hacer una idea del portfolio de integración de IBM, a modo de resumen diríamos que el producto de Integración y Calidad de datos es el IBM InfoSphere Information Server y que podéis añadir funcionalidades a este producto mediante las herramientas que se incluyen en el InfoSphere Foundation Tools.




Por último y como os decía en el post “Las Plataformas de integración y calidad de datos de los principales fabricantes (Introducción)”, creo que viendo el portfolio de IBM entendéis él porque creo que intentar hacer una buena comparativa de productos de integración y calidad de datos es una tarea muy compleja, a no ser que tengas los recursos de Gartner o Forrester, por eso creo que tenéis que ser muy cautos a la hora de analizar las comparativas que circulan por la red donde se pueden ver tablas donde comparan los productos de IBM, Informatica, Oracle, SAP, Talend y por ejemplo Pentaho, en base a 7 u 8 parámetros del tipo coste, riesgo, facilidad de uso, desarrollo, velocidad, escalabilidad, conectividad y soporte y te dan una puntuación sin más, sin explicar que productos realmente han sido los analizados, con que módulos instalados, en base a qué tipo de procesos, etc.

Bueno y para el mes que viene iremos a por Informatica. Hasta entonces espero vuestros comentarios.

3 comentarios:

  1. Hola David,

    Muy interesante el artículo y muy útil esta línea de post analizando herramientas de integración de datos.
    Me surgen algunas preguntillas respecto a la de IBM:

    ¿Llega a generar código?, quiero decir igual que las herramientas ETL de Oracle pueden llegar a generar PL/SQL, o las herramientas de SAS generan código SAS/BASE, ¿hay algo similar en esta suite IBM?

    ¿Hay temas de monitorización del rendimiento?, ¿estadísticas de consumo de máquina, tiempos, etc..?

    ¿Tienes referencias de cómo se comporta con volúmenes altos de datos?

    Otra duda que me ha asaltado:

    He oído hablar de Basilea II o Sarbanex-Oxley, pero desconozco cuáles son los requerimientos de trazabilidad del dato que van a ser necesarios con estas regulaciones, ¿podrías explicarlo un poquillo o dar alguna referencia para consultar.

    Gracias, un saludo

    Juan Vidal

    ResponderEliminar
  2. Hola Juan,

    Primero de todo disculparme por el retraso en mi respuesta, pero temas personales me han impedido responder antes.

    La suite de IBM incorpora herramientas de monitorización y generación de estadísticas, donde puedes ver datos de consumo, tiempos, etc. Tal y como me comentas, ahora bien, el punto que yo considero muy útil en ese sentido es que IBM incorpora una herramienta llamada Resource Estimation que te permite hacer estimaciones de los requerimientos de CPU, memoria, disco, etc de los procesos a ejecutar.
    Respecto del tema de la generación de código, te respondo a la gallega, depende. Tú puedes incluir el código que tú quieras en los procesos de integración para realizar tratamientos personalizados, transformaciones, etc, este código puede ser PL/SQL, C, Java, etc. Ahora bien, sí lo que quieres es que todo el proceso acabe generando un PL/SQL para luego tú poder ejecutarlo en la base de datos, te he de decir que este es un planteamiento muy típico de las personas acostumbradas a desarrollar en PL/SQL o en Oracle DataWarehouse y no está en sintonía con lo que ofrecen este tipo de herramientas de integración.
    Piensa que la suite de IBM incluye toda una serie de funcionalidades propias como el particionamiento dinámico, reparticionamiento de procesos al vuelo (in-flight), funciones de paralelismo, multiproceso, etc, para asegurar el rendimiento del proceso y otro elemento importante es que Information Server incluye su propio motor de proceso, gestión de metadato, etc.
    En resumen, la pregunta es muy típica de la gente acostumbrada a trabajar con Oracle Datawarehouse, que es un generador de código que ejecuta todos los procesos en el motor de la base de datos en este caso Oracle y ahí tú puedes tocar el código PL/SQL a tu antojo, pero no tiene mucho sentido hacer eso en herramientas como la de IBM o la de Informatica, donde el motor de ejecución del proceso no siempre es la base de datos, no siempre es PL/SQL ya que puedes integrar de forma nativa en DB2, Informix, etc.
    Por último, el tema de Basilea II, lo tengo en mi lista de artículos a tratar, pero a modo de pincelada te diría que el pilar principal que afecta a la parte de integración es el Pilar 3 y los temas principales que regula este directiva a nivel de movimiento de datos, están muy relacionados con la trazabilidad del dato.
    Bueno, espero haberte ayudado aunque sea un poco tarde.
    Un saludo.

    ResponderEliminar
  3. David,

    Muchas gracias por contestar, me ha sido de gran utilidad.

    La verdad es que no conocía las funcionalidades de particionamiento dinámico, reparticionamiento de procesos al vuelo (in-flight), funciones de paralelismo, multiproceso, ..., entiendo que está gestión de los procesos la realiza la propia herramienta buscando el grado de paralelismo óptimo, dividiendo un proceso en n, ¿esta gestión se hace a nivel de sistema operativo?.

    Espero tu artículo de Basilea, me interesa el tema de la trazabilidad del dato.

    Gracias de nuevo, un saludo,

    Juan Vidal

    ResponderEliminar