Sei sulla pagina 1di 16

Publicado em Dataprix (http://www.dataprix.

net)
Incio > Blogues > do blogue respinosamilla > ferramentas de ETL. Quais so, para eles valem?. A maioria dos produtos populares. Open Source ETL's.

ferramentas de ETL. Quais so, para eles valem?. A maioria dos produtos populares. Open Source ETL's.
Por respinosamilla Criado em 27/03/2011 - 10:52

En la publicacin 3 de nuestro Blog, cuando hablabamos del DataWarehouse, pasamos por encima de las herramientas ETL, considerandolas un elemento fundamental en la construccin, explotacin y evolucin de nuestro DW.

Esquema Tipico de Herramienta ETL Deciamos que las herramientas de este tipo, deberan de proporcionar, de forma general, las siguientes funcionalidades: Control de la extraccin de los datos y su automatizacin, disminuyendo el tiempo empleado en el descubrimiento de procesos no documentados, minimizando el margen de error y permitiendo mayor flexibilidad. Acceso a diferentes tecnologas, haciendo un uso efectivo del hardware, software, datos y recursos humanos existentes. Proporcionar la gestin integrada del Data Warehouse y los Data Marts existentes, integrando la extraccin, transformacin y carga para la construccin del Data Warehouse corporativo y de los Data Marts. Uso de la arquitectura de metadatos, facilitando la definicin de los objetos de negocio y las reglas de consolidacin. Acceso a una gran variedad de fuentes de datos diferentes. Manejo de excepciones. Planificacin, logs, interfaces a schedulers de terceros, que nos permitiran llevan una gestin de la planificacin de todos los procesos necesarios para la carga del DW. Interfaz independiente de hardware. Soporte en la explotacin del Data Warehouse. Es hora de ampliar las definiciones y entrar un poco mas a fondo en lo que son realmente las ETLs: ________________________________________________________________________________________

Definicin de ETL en la Wikipedia

Si ampliamos las definiciones, en la Wikipedia [1] se dice lo siguiente de las herramientas ETL: ETL son las siglas en ingls de Extraer, Transformar y Cargar (Extract, Transform and Load). Es el proceso que permite a las organizaciones mover datos desde mltiples fuentes, reformatearlos y limpiarlos, y cargarlos en otra base de datos [2] , data mart [3] , o data warehouse [4] para analizar, o en otro sistema operacional para apoyar un proceso de negocio. Los procesos ETL tambin se pueden utilizar para la integracin con sistemas heredados [5] (aplicaciones antiguas existentes en las organizaciones que se han de integrar con los nuevos aplicativos, por ejemplo, ERPs. La tecnologa utilizada en dichas aplicaciones puede hacer dificil la integracin con los nuevos programas).

Extraer
La primera parte del proceso ETL consiste en extraer los datos desde los sistemas de origen. La mayora de los proyectos de almacenamiento de datos fusionan datos provenientes de diferentes sistemas de origen. Cada sistema separado puede usar una organizacin diferente de los datos o formatos distintos. Los formatos de las fuentes normalmente se encuentran en bases de datos relacionales [6] o ficheros planos, pero pueden incluir bases de datos [2] no relacionales u otras estructuras [7] diferentes. La extraccin convierte los datos a un formato [8] preparado para iniciar el proceso de transformacin. Una parte intrnseca del proceso de extraccin es la de analizar los datos extrados, de lo que resulta un chequeo que verifica si los datos cumplen la pauta o estructura que se esperaba. De no ser as los datos son rechazados. Un requerimiento [9] importante que se debe exigir a la tarea de extraccin es que sta cause un impacto mnimo en el sistema origen. Si los datos a extraer son muchos, el sistema de origen se podra ralentizar e incluso colapsar, provocando que ste no pueda utilizarse con normalidad para su uso cotidiano. Por esta razn, en sistemas grandes las operaciones de extraccin suelen programarse en horarios o das donde este impacto sea nulo o mnimo.

Interfaz Grafico herramienta ETL

Transformar
La fase de transformacin aplica una serie de reglas de negocio [10] o funciones sobre los datos extrados para convertirlos en datos que sern cargados. Algunas fuentes de datos requerirn alguna pequea manipulacin de los datos. No obstante en otros casos pueden ser necesarias aplicar algunas de las siguientes transformaciones: Seleccionar slo ciertas columnas para su carga (por ejemplo, que las columnas con valores nulos no se carguen). Traducir cdigos (por ejemplo, si la fuente almacena una H para Hombre y M para Mujer pero el destino tiene que guardar 1 para Hombre y 2 para Mujer). Codificar valores libres (por ejemplo, convertir Hombre en H o Sr en 1). Obtener nuevos valores calculados (por ejemplo, total_venta = cantidad * precio).

Unir datos de mltiples fuentes (por ejemplo, bsquedas, combinaciones, etc.). Calcular totales de mltiples filas de datos (por ejemplo, ventas totales de cada regin). Generacin de campos clave en el destino. Transponer o pivotar (girando mltiples columnas en filas o viceversa). Dividir una columna en varias (por ejemplo, columna Nombre: Garca, Miguel; pasar a dos columnas Nombre: Miguel y Apellido: Garca). La aplicacin de cualquier forma, simple o compleja, de validacin [11] de datos, y la consiguiente aplicacin de la accin que en cada caso se requiera: Datos OK: Entregar datos a la siguiente etapa (Carga). Datos errneos: Ejecutar polticas de tratamiento de excepciones [12] (por ejemplo, rechazar el registro completo, dar al campo errneo un valor nulo [13] o un valor centinela).

Interfaz Grafico de la herramienta ETL Kettle - Pentaho

Carga
La fase de carga es el momento en el cual los datos de la fase anterior (transformacin) son cargados en el sistema de destino. Dependiendo de los requerimientos de la organizacin, este proceso puede abarcar una amplia variedad de acciones diferentes. En algunas bases de datos se sobrescribe la informacin antigua con nuevos datos. Los data warehouse mantienen un historial de los registros de manera que se pueda hacer una auditora de los mismos y disponer de un rastro de toda la historia de un valor a lo largo del tiempo. Existen dos formas bsicas de desarrollar el proceso de carga: Acumulacin simple: La acumulacin simple es la ms sencilla y comn, y consiste en realizar un resumen de todas las transacciones comprendidas en el perodo de tiempo seleccionado y transportar el resultado como una nica transaccin hacia el data warehouse, almacenando un valor calculado que consistir tpicamente en un sumatorio o un promedio de la magnitud considerada. Rolling: El proceso de Rolling por su parte, se aplica en los casos en que se opta por mantener varios niveles de granularidad. Para ello se almacena informacin resumida a distintos niveles, correspondientes a distintas agrupaciones de la unidad de tiempo o diferentes niveles jerrquicos en alguna o varias de las dimensiones de la magnitud almacenada (por ejemplo, totales diarios, totales semanales, totales mensuales, etc.). La fase de carga interacta directamente con la base de datos de destino. Al realizar esta operacin se aplicarn todas las restricciones y triggers (disparadores) [14] que se hayan definido en sta (por ejemplo, valores nicos, integridad referencial, campos obligatorios, rangos de valores). Estas restricciones y triggers (si estn bien definidos) contribuyen a que se garantice la calidad de los datos en el proceso ETL, y deben ser tenidos en cuenta.

Procesamiento
Un desarrollo reciente en el software ETL es la aplicacin de procesamiento paralelo. Esto ha permitido desarrollar una serie de mtodos para mejorar el rendimiento general de los procesos ETL cuando se trata de grandes volmenes de datos. Hay 3 tipos principales de paralelismos que se pueden implementar en las aplicaciones ETL: De datos: Consiste en dividir un nico archivo secuencial en pequeos archivos de datos para proporcionar acceso paralelo. De segmentacin (pipeline) [15] : Permitir el funcionamiento simultneo de varios componentes en el mismo flujo de datos. Un

ejemplo de ello sera buscar un valor en el registro nmero 1 a la vez que se suman dos campos en el registro nmero 2. De componente: Consiste en el funcionamiento simultneo de mltiples procesos [16] en diferentes flujos de datos en el mismo puesto de trabajo. Estos tres tipos de paralelismo no son excluyentes, sino que pueden ser combinados para realizar una misma operacin ETL. Una dificultad adicional es asegurar que los datos que se cargan sean relativamente consistentes. Las mltiples bases de datos de origen tienen diferentes ciclos de actualizacin (algunas pueden ser actualizadas cada pocos minutos, mientras que otras pueden tardar das o semanas). En un sistema de ETL ser necesario que se puedan detener ciertos datos hasta que todas las fuentes estn sincronizadas. Del mismo modo, cuando un almacn de datos tiene que ser actualizado con los contenidos en un sistema de origen, es necesario establecer puntos de sincronizacin y de actualizacin.

Desafos
Los procesos ETL pueden ser muy complejos. Un sistema ETL mal diseado puede provocar importantes problemas operativos. En un sistema operacional el rango de valores de los datos o la calidad de stos pueden no coincidir con las expectativas de los diseadores a la hora de especificarse las reglas de validacin o transformacin. Es recomendable realizar un examen completo de la validez de los datos (Data profiling [17]) del sistema de origen durante el anlisis para identificar las condiciones necesarias para que los datos puedan ser tratados adecuadamente por las reglas de transformacin especificadas. Esto conducir a una modificacin de las reglas de validacin implementadas en el proceso ETL. Normalmente los data warehouse son alimentados de manera asncrona desde distintas fuentes, que sirven a propsitos muy diferentes. El proceso ETL es clave para lograr que los datos extrados asncronamente de orgenes heterogneos se integren finalmente en un entorno homogneo. La escalabilidad [18] de un sistema de ETL durante su vida til [19] tiene que ser establecida durante el anlisis. Esto incluye la comprensin de los volmenes de datos que tendrn que ser procesados segn los acuerdos de nivel de servicio (SLA: Service level agreement [20] ). El tiempo disponible para realizar la extraccin de los sistemas de origen podra cambiar, lo que implicara que la misma cantidad de datos tendra que ser procesada en menos tiempo. Algunos sistemas ETL son escalados para procesar varios terabytes [21] de datos para actualizar un data warehouse que puede contener decenas de terabytes de datos. El aumento de los volmenes de datos que pueden requerir estos sistemas pueden hacer que los lotes [22] que se procesaban a diario pasen a procesarse en micro-lotes (varios al da) o incluso a la integracin con colas de mensajes o a la captura de datos modificados (CDC: change data capture [23] ) en tiempo real para una transformacin y actualizacin continua.

________________________________________________________________________________________

Algunas Herramientas ETL


Ab Initio [24] Benetl [25] BITool [26] ETL Software CloverETL [27] Cognos Decisionstream [28] (IBM) Data Integrator [29] (herramienta de Sap Business Objects) ETI*Extract [30] (ahora llamada Eti Solution) IBM Websphere DataStage [31] (antes Ascential DataStage) Microsoft Integration Services [32] Oracle Warehouse Builder [33] WebFocus-iWay DataMigrator Server [34] Pervasive [35] Informtica PowerCenter [36] Oxio Data Intelligence ETL full web [37] SmartDB Workbench [38] Sunopsis [39] (Oracle) SAS Dataflux [40] Sybase [41] Syncsort: DMExpress [42] . Opentext [43] (antes Genio, Hummingbird).

Libres
Kettle [44] (ahora llamado Pentaho Data Integration). Scriptella Open Source ETL Tool [45] . Talend Open Studio. [46] Jitterbit [47] . Las herramientas ETL no se tienen porque utilizar solo en entornos de construccin de un DW, sino que pueden ser utiles para multitud

de propositos, como por ejemplo: Tareas de Bases de datos: Tambin se utilizan para consolidar, migrar y sincronizar bases de datos operativas. Migracin de datos entre diferentes aplicaciones por cambios de versin o cambio de aplicativos. Sincronizacin entre diferentes sistemas operacionales (por ejemplo, nuestro entorno ERP y la Web de ventas). Consolidacin de datos: sistemas con grandes volumenes de datos que son consolidades en sistemas paralelos para mantener historicos o para procesos de borrado en los sistemas originales. Interfases de datos con sistemas externos: envio de informacin a clientes, proveedores. Recepcin, proceso e integracin de la informacin recibida. Interfases con sistemas Frontoffice: interfases de subida/bajada con sistemas de venta. Otros cometidos: Actualizacin de usuarios a sistemas paralelos, preparacin de procesos masivos (mailings, newsletter), etc. Para que nos hagamos una idea de las herramientas ETL mas importantes, podemos leer el informe Gartner, que es una comparativa de las productos mas importantes del mercado, posicionandolos en el segn diferentes criterios, y hablando de las ventajas y puntos de riesgo de cada fabricante ( acceder al informe aqu [48] , es necesario registrarse en la Web de Talend ).

Fuente: Gartner (November 2009)

Las caractersticas mas importantes que ha de incluir una herramienta ETL segn Gartner son las siguientes: Conectividad / capacidades de Adaptacin (con soporte a origenes y destinos de datos): habilidad para conectar con un amplio rango de tipos de estructura de datos, que incluyen bases de datos relacionales y no relacionales, variados formatos de ficheros, XML, aplicaciones ERP, CRM o SCM, formatos de mensajes estandar (EDI, SWIFT o HL7), colas de mensajes, emails, websites, repositorios de contenido o herramientas de ofimatica. Capacidades de entrega de datos: habilidad para proporcionar datos a otras aplicaciones, procesos o bases de datos en varias formas, con capacidades para programacin de procesos batch, en tiempo real o mediante lanzamiento de eventos.

Capacidades de transformacin de datos: habilidad para la transformacin de los datos, desde transformaciones bsicas (conversin de tipos, manipulacin de cadenas o calculos simples), transformaciones intermedias (agregaciones, sumarizaciones, lookups) hasta transformaciones complejas como analisis de texto en formato libre o texto enriquecido. Capacidades de Metadatos y Modelado de Datos: recuperacin de los modelos de datos desde los origenes de datos o aplicaciones, creacin y mantenimiento de modelos de datos, mapeo de modelo fisico a lgico, repositorio de metados abierto (con posiblidad de interactuar con otras herramientas), sincronizacin de los cambios en los metadatos en los distintos componentes de la herramienta, documentacin, etc. Capacidades de diseo y entorno de desarrollo: representacin grafica de los objetos del repositorio, modelos de datos y flujos de datos, soporte para test y debugging, capacidades para trabajo en equipo, gestion de workflows de los procesos de desarrollo, etc. Capacidades de gestin de datos (calidad de datos, perfiles y minera). Adaptacin a las diferentes plataformas hardware y sistemas operativos existentes: Mainframes (IBM Z/OS), AS/400, HP Tandem, Unix, Wintel, Linux, Servidores Virtualizados, etc. Las operaciones y capacidades de administracin: habilidades para gestion, monitorizacin y control de los procesos de integracin de datos, como gestin de errores, recoleccin de estadisticias de ejecucin, controles de seguridad, etc. La arquitectura y la integracin: grado de compactacin, consistencia e interoperabilidad de los diferentes componentes que forman la herramienta de integracin de datos (con un deseable minimo nmero de productos, un unico repositorio, un entorno de desarrollo comn, interoperabilidad con otras herramientas o via API), etc. Capacidades SOA. Observamos que en el informe del ao 2009, se incluye por primera vez una herramienta ETL OpenSource, que es Talend. Tambien se habla de Pentaho, cuya herramienta Kettle, tambien es OpenSource. Ambas herramientas sern las que utilizemos en nuestro proyecto para la construccin de los procesos ETL.

Interfaz Grafico de la herramienta ETL Talend A continuacin indicamos algunos links interesantes sobre herramientas ETL: Comparando soluciones ETL Open Source y comerciales: link en beyenetwork.es [49] . Herramientas ETL (o mundo ETL): link en mundobi.wordpress.com [50] . Herramientas ETL: link en dataprix.com [51] . Podeis echar un vistazo al directorio EOS de productos OpenSource [52] para ver otros productos ETL Open, as como valoraciones de estos y casos reales de uso. La eleccin de una herramienta ETL puede ser una tarea compleja que va a tener mucha repercusin en el desarrollo posterior de un proyecto. Podeis ver la comparativa de ETLs OpenSource vs ETLs Propietarias a continuacin ( gracias a

http://www.jonathanlevin.co.uk [53] /). Aqui se habla de que las herramientas OpenSource ya estan empezando a ser una alternativa real a los productos existentes y se estan desarrollando con rapidez.

Informatica Pentaho Etl Tools Comparison [54]

View more presentations [55] from Roberto Espinosa [56] .

Igualmente, os dejo el link a un documento donde se habla de todo lo que tendremos que tener en cuenta a la hora de realizar la seleccin de una herramienta ETL (caractersticas que habrn de tener, criterios para la evaluacin, etc). Acceder al documento aqu [57] . * Content translated from Dataprix.com

URL de origem: http://www.dataprix.net/pt-pt/blogs/respinosamilla/ferramentas-etl-quais-s-o-eles-valem-maioria-dos-produtos-populares-open-source Ligaes: [1] http://es.wikipedia.org/wiki/ETL [2] http://es.wikipedia.org/wiki/Base_de_datos [3] http://es.wikipedia.org/wiki/Data_mart [4] http://es.wikipedia.org/wiki/Almac%C3%A9n_de_datos [5] http://es.wikipedia.org/wiki/Sistema_heredado [6] http://es.wikipedia.org/wiki/Base_de_datos_relacional [7] http://es.wikipedia.org/wiki/Estructura_de_datos [8] http://es.wikipedia.org/wiki/Formato_de_archivo_inform%C3%A1tico [9] http://es.wikipedia.org/wiki/Requerimiento_(sistemas) [10] http://es.wikipedia.org/wiki/Reglas_de_negocio [11] http://es.wikipedia.org/wiki/Pruebas_de_validaci%C3%B3n [12] http://es.wikipedia.org/wiki/Manejo_de_excepciones [13] http://es.wikipedia.org/wiki/Null [14] http://es.wikipedia.org/wiki/Trigger_(base_de_datos) [15] http://es.wikipedia.org/wiki/Segmentaci%C3%B3n_(inform%C3%A1tica) [16] http://es.wikipedia.org/wiki/Proceso_(inform%C3%A1tica) [17] http://en.wikipedia.org/wiki/Data_profiling [18] http://es.wikipedia.org/wiki/Escalabilidad [19] http://es.wikipedia.org/wiki/Vida_%C3%BAtil [20] http://en.wikipedia.org/wiki/Service_level_agreement [21] http://es.wikipedia.org/wiki/Terabyte [22] http://es.wikipedia.org/wiki/Procesamiento_por_lotes [23] http://en.wikipedia.org/wiki/Change_data_capture [24] http://www.abinitio.com [25] http://www.benetl.net/ [26] http://www.bitool.com/ [27] http://www.cloveretl.com/ [28] http://www-01.ibm.com/software/data/cognos/products/series7/decisionstream/ [29] http://www.sap.com:80/solutions/sapbusinessobjects/large/eim/dataintegrator/index.epx [30] http://www.eti.com [31] http://www-01.ibm.com/software/data/infosphere/datastage/ [32] http://msdn.microsoft.com/es-es/library/ms141026.aspx [33] http://www.oracle.com/technology/products/warehouse/index.html [34] http://www.iwaysoftware.com/ [35] http://www.pervasiveintegration.com/scenarios/Pages/etl_software.aspx [36] http://www.informatica.com/ [37] http://www.oxio.fr/ [38] http://www.smartdbcorp.com/ [39] http://www.oracle.com/sunopsis/index.html

[40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57]

http://www.dataflux.com/home.aspx?lang=es-es http://www.sybase.com/products/dataintegration http://www.syncsort.com:80/ProductsServices/DMX/tabid/193/language/en-US/Default.aspx http://www.opentext.com/2/global/sol-products/sol-pro-data-integration/pro-llecm-data-integration.htm http://kettle.pentaho.com http://scriptella.javaforge.com http://www.talend.com http://www.jitterbit.com/Product/how-it-works http://www.talend.com/campaign/campaign.php?id=137&src=HomepageSpecial http://www.beyenetwork.es/view/9013 http://mundobi.wordpress.com/2007/06/24/herramientas-etl-%E2%80%A6o-mundo-etl/ http://www.dataprix.com/herramientas-de-etl http://www.eosdirectory.com/directory/searchprojectbycateg/id/30 http://www.jonathanlevin.co.uk/2008/03/open-source-etl-tools-vs-commerical-etl.html http://www.slideshare.net/respinosamilla/informatica-pentaho-etl-tools-comparison-2879623 http://www.slideshare.net/ http://www.slideshare.net/respinosamilla http://roberto-espinosa.es/doc/etlreport.pdf

Potrebbero piacerti anche