El Rincon del BI

Descubriendo el Business Intelligence…

16.4. Comparativa ETL Talend vs Pentaho Data Integration (Kettle).

Posted by Roberto Espinosa en 1 junio 2010


(Read in English language here)

Vamos a intentar en esta ultima entrada de la serie de procesos ETL realizar una comparativa lo mas completa posible de las herramientas Talend Open Studio y Pentaho Data Integration (Kettle), que hemos estado utilizando en los últimos meses. Para que este estudio sea lo mas completo y riguroso posible, vamos a dividir esta tarea en 5 secciones:

 

Ejemplo de proceso ETL utilizando Talend

  • Tabla de características.
  • Ejemplos de Uso.
  • Cuadro de puntos fuertes/puntos debiles.
  • Links de recursos (comparativas e informacion adicional).
  • Conclusiones.

Tabla de Características.

Producto TALEND OPEN STUDIO ver.4.0 PENTAHO DATA INTEGRACION CE (KETTLE) ver 3.2
Fabricante Talend – Francia Pentaho – Estados Unidos
Web www.talend.com www.pentaho.com
Licencia GNU Lesser General Public License Version 2.1 (LGPLv2.1) GNU Lesser General Public License Version 2.1 (LGPLv2.1)
Lenguaje de desarrollo Java Java
Año de lanzamiento 2006 2000
Entorno gráfico Herramienta gráfica basada en Eclipse Herramienta de diseño (Spoon) basada en SWT
Entorno de ejecución Desde la herramienta de diseño, o a nivel de línea de comandos con Java o Perl (independiente de la herramienta) Desde la herramienta de diseño, o desde línea de comandos con las utilidades Pan y Kitchen.
Características Con la herramienta de diseño construimos los Jobs, utilizando el set de componentes disponibles.Trabaja además con el concepto de proyecto, que es un contenedor de los diferentes Jobs que lo forman y sus metadatos y contextos.Talend es un generador de código, de forma que los Jobs definidos son traducidos al correspondiente lenguaje (podemos elegir Java o Perl al crear un proyecto), compilados y ejecutados.Los componentes se enlazan entre si con diferentes tipos de conexiones. Una son de paso de información (que pueden ser del tipo Row o Iterate, segun la forma de pasar los datos). Ademas, se pueden conectar unos con otros con conexiones disparadoras (Run If, If Component Ok, If Component Error), que nos permiten articular la secuencia de ejecución y su control.Una vez se termina el diseño de los trabajos, se exportan a nivel de SO, y se pueden ejecutar independientemente de la herramienta de diseño en cualquier plataforma que permita la ejecución del lenguaje seleccionado. Además, todo el código generado es visible y modificable (aunque lo modifica la herramienta al realizar cualquier cambio en los Jobs). Con la herramienta de diseño Spoon construimos las transformaciones (mínimo nivel de diseño) utilizando los pasos o steps. En un nivel superior tenemos los Jobs, que permiten ejecutar las transformaciones y otros componentes, y orquestar los procesos.PDI no es un generador de código, es un motor de transformación, donde los datos y sus transformaciones están separadas.Las Transformaciones y Jobs son almacenadas en formato XML, donde se especifican las acciones a realizar en los datos.Para construir las transformaciones, se utilizan los pasos o componentes, que se enlazan entre si mediante saltos o steps, que determinan el flujo de datos entre los diferentes componentes.Para los jobs, tenemos otro set de pasos, en los que podemos realizar diferentes acciones (o ejecutar transformaciones). Los steps o saltos en este caso determinan el orden de ejecución o la ejecución condicional.
Componentes Talend tiene una gran cantidad de componentes. El enfoque es tener un componente distinto según la acción a realizar, y para el acceso a   base de datos u otro sistemas, hay componentes diferentes según el motor de base de datos al que vayamos a atacar. Por ejemplo, tenemos un table input para cada fabricante (Oracle, MySQL, Informix, Ingres) o uno para la gestión de SCD para cada SGBDR. Podeis ver la lista de componentes disponibles aquí. Set mas reducido de componentes, pero muy orientados a integración de datos. Para acciones similares (por ejemplo, lectura de tablas de BD), un único paso (no uno por cada fabricante), y el comportamiento según la base de datos lo define la conexión. Los elementos disponibles son: para las transformaciones ver aquí y para los jobs aquí.
Plataforma Windows, Unix y Linux. Windows, Unix y Linux.
Repositorio Trabaja con el concepto de workspace, a nivel de sistema de ficheros. En ese lugar se almacenan todos los componentes de un proyecto (todos los Jobs, su definición de metadatos, código personalizado y contextos). El repositorio se actualiza con las dependencias de objetos al ser modificados (se expanden a todo el proyecto los cambios). Si modificamos el repositorio de una tabla, por ejemplo,  se actualiza en todos los Jobs donde se utiliza. Los Jobs y transformaciones son almacenados en formato xml. Podemos elegir almacenar a nivel de sistema de fichero o en el repositorio de base de datos (para trabajo en equipo). No se actualizan las dependencias si modificamos una transformación llamada desde otra, por ejemplo. Si a nivel de componentes dentro de una misma transformación o job.
Metadatos Completo metadata que incluye las conexiones a base de datos y los objetos de esta (tablas, vistas, querys). Al traer el metadata de los objetos de BD deseados, no se vuelve a acceder al sistema origen o destino, lo que agiliza los procesos. Además, podemos definir metadatos de estructuras de ficheros (delimitados, posicionales, Excel, xml, etc), que luego pueden ser reutilizados en cualquier componente. Se almacenan de forma centralizada en el repositorio (workspace) EL metadata se limita a las conexiónes de base de datos, que si pueden ser compartidas por diferentes transformaciones y jobs.La información de metadata de base de datos (catalogo de tablas/campos) o de ficheros esta en los pasos y no se puede reutilizar. Además se lee en el momento de diseño.
Contextos Set de Variables que se configuran en el proyecto y que se pueden utilizar luego en los Jobs para personalizar su comportamiento (por ejemplo para definir entorno de desarrollo y productivo). Uso de variables en fichero de parámetros de la herramienta (fichero kettle. Properties). Paso de parámetros y argumentos a los procesos (similar a los contextos).
Versiones Nos permite realizar una completa gestión del versionado de objetos (pudiendo recuperar versiones anteriores) Funcionalidad prevista en la versión 4.0.
Lenguajes para definir componentes propios (scripting) Talend nos permite introducir nuestro código personalizado utilizando Java y Groovy.Además podemos realizar scripting en SQL y Shell. PDI utiliza JavaScript para los cálculos y formulas.Ademas podemos realizar scripting con SQL, Java, Shell y formulas Open Office.
Herramientas complementarias Talend dispone de herramientas complementarias para Data Profiling y Gestión de Datos Maestros (MDM). En Open Studio tenemos una herramienta de modelado sencilla para dibujar procesos y modelos lógicos. PDI ofrece en la versión 4.0 la funcionalidad Agile para modelado dimensional y su publicación en Pentaho BI.
Plugins Descarga de nuevos componentes a través de Talend Exchange. Incorporación de plugins adicionales en la web.
Soporte Un completa comunidad online con Talend’s wiki, Talend Forum y bugtracker, para la gestión de incidencias y Bugs. Incluye el Pentaho forum, Issue Tracking y la Pentaho Community.
Documentación Completa documentación en pdf que incluye: Manual de Instalación, Manual de Usuario y Documentación de componentes. Documentación Online en la web. Libros: Data Integration-Pentaho 3.2 Beginner’s Guide(M.C.Roldan), Pentaho Kettle Solutions (M.Casters, R.Bouman, J.van Dongen).

Ejemplos de Uso.

EJEMPLO TALEND OPEN STUDIO PENTAHO DATA INTEGRATION (KETTLE)
Carga de dimensión tiempo de un DW Proceso ETL para la carga de la Dimensión Tiempo. Ejemplo de uso de la ETL Talend. ETL Dimensión Tiempo con PDI.
Ejecución de sentencias sql dinámicas Mas ejemplos de Talend. Ejecución de sentencias SQL construidas en tiempo ejecución. Paso de parametros y operaciones dinamicas en una transformación de PDI.
Carga de dimensión producto de un DW ETL para carga Dimension Producto. Mas ejemplos de Talend. Uso de logs, metricas y estadisticas. ETL Dimensión Producto con PDI (I). Extraccion a Stage Area.ETL Dimensión Producto con PDI (II). Carga al DW.
Carga de dimensión cliente de un DW ETL Talend Dimension Cliente.Tipos de Mapeo para lookup. ETL Dimensión Cliente con PDI.
Tratamiento de dimensiones lentamente cambiantes Gestión de SCD (Dimensiones lentamente cambiantes). Tratamiento de Dimensiones Lentamente Cambiantes (SCD) con PDI.
Conexión al ERP Sap Ejemplo Talend para conectarnos a Sap Ejemplo Kettle para conectarnos a Sap (con el plugin ProERPConn)
Carga de tablas de hechos de ventas en un DW Tabla Hechos Venta. Ajuste diseño fisico y procesos carga ETL. Contextos en Talend. ETL Carga de hechos de ventas con PDI.ETL Carga de hechos de presupuestos con PDI.
Exportación de Jobs y planificación procesos Exportación jobs en Talend.Planificacion procesos ETL.
Tratamiento de datos públicos Modelo de Datos y Procesos de Carga del DW de datos públicos de Londres.
Explicación de la interfaz de usuario Construccion procesos ETL utilizando Kettle (Pentaho Data Integration)
Proyecto de Grado (comparativa Pentaho/JasperETL). Realizado por Rodrigo Almeida y Mariano Heredia Proyecto fin de carrera donde se detalla un proyecto de Business Intelligence, utilizando las herramientas de Pentaho y Jasper. En la parte de ETL´s, se compara Kettle con JasperETL (basado en Talend). Descarga del libro en la web: http://sites.google.com/site/magm33332/bifloss. Incluye un magnifico detalle de las características de cada herramienta.

Como ejemplos adicionales, podeis consultar igualmente:

  • Tutorial de Talend Open Studio 4 realizado por Victor Javier Madrid en la web adictosaltrabajo.com. Incluye otro ejemplo para procesar un fichero EDI con Talend.
  • Libro blanco de las heramientas ETL Open Source, realizado en frances por Atol. Incluye una serie de ejemplos prácticos muy completos.

 

Ejemplo de proceso ETL utilizando Pentaho Data Integration

Cuadro de puntos fuertes/puntos debiles.

Desde mi punto de vista, con la experiencia de utilización de las dos herramientas y la información recopilada sobre las herramientas y la experiencia de usuarios, puedo destacar los siguientes aspectos:

TALEND OPEN STUDIO PENTAHO DATA INTEGRATION (KETTLE)
Es un generador de código, y este aspecto hace que tenga una gran dependencia del lenguaje elegido en los proyectos (Java en mi caso). Al elegir Java, tenemos todas las ventajas e inconvenientes de este lenguaje. Se necesita tener un nivel alto de este lenguaje para sacarle el máximo partido a la aplicación. Es un motor de transformación, y desde el principio se observa que ha sido diseñado por gente que necesitaba cubrir sus necesidades en la integración de datos, con gran experiencia en ese ámbito. Igualmente, es mas fácil gestionar los tipos de datos con PDI, pues no es tan riguroso como Java.
Herramienta poco intuitiva y difícil de entender, pero una vez superada esta dificultad inicial se observan las grandísimas posibilidades y la potencia de la aplicación. La herramienta es muy intuitiva, y con unos conceptos básicos te puedes poner a hacer cosas. Conceptualmente muy sencilla y potente.
Interfaz de usuario unificada en todos los componentes. Basada en Eclipse, el conocimiento de la herramienta nos facilita el uso de la interfaz. El diseño de la interfaz puede resultar un poco pobre, y no hay una interfaz unificada en todos los componentes, siendo en ocasiones la interfaz de los componentes confusa.
La empresa Talend esta invirtiendo gran cantidad de recursos en su desarrollo (gracias a aportaciones de capital de varios fondos de inversión), lo que esta produciendo una evolución muy rápida de la herramienta. Se observa un gran potencial de futuro. El producto además se esta complementando con otras herramientas para Data Profiling y MDM. Evolución mucho más lenta de la herramienta e incierta, pues Pentaho tiende a abandonar la parte Open.
Gran disponibilidad de componentes para conectarnos a múltiples sistemas y orígenes de datos, y en continua evolución. Disponibilidad de componentes más limitada, aunque más que suficiente para la mayoría de procesos ETL o de integración de datos.
Aunque no disponemos de un repositorio en base de datos para trabajo en equipo (si en las versiones de pago), el trabajo con el Workspace nos da muchas posibilidades, al trabajar con el concepto de proyecto. Muy útil el análisis y actualización de dependencias cuando se modifican elementos (que son distribuidos a todos los Jobs de un proyecto). El repositorio en base de datos nos da muchas posibilidades para el trabajo en equipo. En este repositorio se almacenan los xml que contienen las acciones que realizan sobre los datos las transformaciones y los Jobs.
Enfoque un componente por cada fabricante en los elementos para trabajar con bases de datos. Enfoque un único componente por tipo de acción sobre la base de datos (y las características de la conexión utilizada son las que determinan su comportamiento).
Ayuda contextual en la aplicación. Completa ayuda online de los componentes. Cuando diseñamos nuestros propios controles en Java, tenemos la ayuda contextual del lenguaje proporcionada por Eclipse. Ayuda muy pobre, casi inexistente en la aplicación. La ayuda online en la web de Pentaho no es especialmente completa, y en algunos componentes es muy reducida, de forma que la única forma de averiguar el funcionamiento del componente es probándolo.
Logs: podemos configurarlos a nivel de proyecto o en cada uno de los Jobs. Indicando si queremos sobrescribir la configuración del proyecto en ese aspecto. El log se puede enviar a base de datos, a consola o a ficheros. La funcionalidad esta muy desarrollada, distinguiendo logs de estadísticas, de métricas de procesos y de los logs propiamente dichos (para gestionar los errores). Logs: diferentes niveles de logs (desde el más básico, hasta el nivel de cada registro). Suficiente para analizar las ejecuciones de las transformaciones y jobs. Posiblidad de registrar log en base de datos, aunque muy limitado. Los logs se configuran a nivel de transformaciones y Jobs.
Debug: con la perspectiva Debug de Eclipse, podemos seguir la traza de la ejecución (viendo el código fuente) tal y como si estuviéramos programando en Eclipse. También se puede incluir visualización de estadísticas y datos de traza o tiempos de respuesta en la ejecución de la herramienta gráfica. Debug: contiene una sencilla herramienta de debug, muy básica.
Versionado de objetos: en el Workspace tenemos una completa gestión de versionado de Jobs (con minus y major number). Nos permite recuperar las versiones anteriores en caso de problemas. Dispone de una herramienta para modificación masiva de versiones de objetos (puede ser muy util para realizar el versionado de distribuciones). El versionado de objetos esta previsto que se incluya en la versión 4.0.
Paralelismo: muy reducido en las versiones Open. Funcionalidad avanzada en las versiones de pago (Integration Suite). Paralelismo: es muy sencillo realizar paralelismo de procesos con la opcion Distribute Data en la configuración del paso de información entre pasos, aunque habrá que llevar cuidado con las incosistentencias según el tipo de proceso.
Generación de documentación automática en HTML de los Jobs. Incluye visualización gráfica de los diseños, tablas de propiedades, documentación adicional o textos explicativos que hayamos introducido en los componentes, etc. Podéis ver un ejemplo aquí. No se puede generar documentación de las transformaciones y Jobs. A nivel gráfico, podemos incluir notas con comentarios en el dibujo de los procesos. Con el proyecto kettle-cookbook se puede generar documentacion en html.
Herramienta sencilla para modelado gráfico. En ella podemos dibujar de forma conceptual los diseños de nuestras Jobs y procesos.
Generación continúa de nuevas versiones, que incorporan mejoras y arreglo de Bugs. La generación de nuevas versiones no es muy frecuente, y tenemos que generarnos nosotros mismos las versiones actualizadas con los últimos fuentes disponibles: Ver entrada del Blog de Fabian Schladitz.
Talend Exchange: lugar donde la comunidad elaborar sus propios componentes y los comparte con el resto de usuarios. Pentaho también dispone de colaboradores que desarrollan y liberan plugins en su web, aunque con menos actividad que Talend.
Como punto negativo, en ocasiones se nota en demasía la lentitud ocasionada por el uso de Java. Como punto negativo, algunos componentes no se han comportando de la forma esperada, al realizar transformaciones muy complejas o al enlazar llamadas entre diferentes transformaciones a Jobs. Los problemas se pudieron superar cambiando el diseño de las transformaciones.
Es una ventaja tener un repositorio en local, donde nos guardamos en local la parte que nos interesa de la información de bases de datos, tablas, vistas, estructuras de ficheros (texto, Excel, xml). Al estar en el repositorio, se pueden reutilizar en los componentes asociados y no se tiene que volver a leer de los orígenes de datos su metadata cada vez que se usa (para el caso de las bases de datos, por ejemplo). Dispone de un asistente de construcción de querys (SQL Builder) muy potente y con muchas funcionalidades. Cuando trabajamos con bases de datos con catálogos muy grandes, es incomodo tener que recuperarlo entero para poder construir, por ejemplo, una sentencia sql para leer de una tabla (cuando utilizamos la opción de navegación por el catalogo).
Reutilización de código: podemos incluir nuestras propias librerías, que son visibles en todos los Jobs de un proyecto. Esto nos permite de alguna manera diseñar nuestros propios componentes. El código escrito en JavaScript dentro de los componentes no se puede reutilizar en otros componentes. Bastante limitado para añadir nuevas funcionalidades o modificar las existentes.
Control del flujo en los procesos: tenemos por un lado flujo  de datos (row, iterate o row lookup) y por otro lado disparadores para control de ejecución y orquestación de procesos. La combinación row e iterate es muy útil para orquestar procesos del tipo bucle, con el objetivo de repetir tareas. Hay un inconveniente importante que nos puede complicar el diseño de los jobs, y es que no se pueden juntar varios flujos de datos que provengan del mismo origen (han de tener un diferente punto de partida), nunca se han de cruzar en un elemento padre común. Control del flujo en los procesos: se pasa la información entre componentes (pasos) con los saltos, de una forma única, y el flujo resultante varía según el tipo de control. Esta forma de interactuar tiene limitaciones para el control de procesos iterativos. Como característica interesante, la encapsulación de transformaciones a traves de los mappings, que nos permite definir transformaciones para procesos repetitivos (similar a una funcion).
Gestión de errores: cuando se producen errores, podemos gestionar el log, pero perdemos el control. Gestión de errores: con la gestión de errores en los pasos que lo permiten, podemos interactuar con esos errores y solucionarlos sin terminar el proceso (no es siempre posible).
Ejecución: bien desde la herramienta (que a veces es muy lenta, sobre todo si incluimos estadísticas y trazas de ejecución). Para ejecutar a nivel de línea de comandos, se exportan los Jobs. La exportación genera todos los objetos (librerias jar) necesarias para poder ejecutar el trabajo, incluyendo un .bat o .sh para ejecutarlo. Esta forma de exportar los Jobs nos permite llevarlos a cualquier plataforma donde se pueda ejecutar el lenguaje java o perl, sin necesidad de tener instalado Talend. Ejecución: bien desde la herramienta (tiempos de respuesta bastante buenos) o bien a nivel de comandos con Pan (para las transformacionse) y Kitchen( para los jobs). Son dos utilidades muy sencillas y funcionales que nos permiten ejecutar los xmls de los diseños (bien desde fichero o desde el repositorio). Siempre es necesario tener instalado PDI para poder ejecutar las herramientas. También disponemos de la herramienta Carte, que es un sencillo servidor web que permite la ejecución remota de jobs y transformaciones.

Comparativas e Información adicional.

Benchmark entre Pentaho Data Integration y Talend realizado por Matt Caster. http://www.ibridge.be/?p=150. Opiniones sobre la prueba en el blog de Gobán Saor y Nicholas Goodman
Comparativa entre Kettle y Talend, realizada por Vicent McBurnety (año 2007) http://it.toolbox.com/blogs/infosphere/wiki-wednesday-comparing-talend-and-pentaho-kettle-open-source-etl-tools-16294
Comparativa entre Kettle, Talend y CloverETL. http://www.cloveretl.org/_upload/clover-etl/Comparison%20CloverETL%20vs%20Talend%20and%20Pentaho.pdf
Benchmark entre PDI, Talend, Datastage e Informatica http://it.toolbox.com/blogs/infosphere/etl-benchmark-favours-datastage-and-talend-28695
Comparativa de funcionalidades y benchmark entre Talend y PDI http://www.atolcd.com/fileadmin/Publications/Atol_CD_Livre_Blanc_ETL_Open_Source.pdf
Comparativa entre PDI e Informatica http://www.jonathanlevin.co.uk/2008/03/pentaho-kettle-vs-informatica.html
Tabla comparada de características en la web Openmethodology.org Talend vs PDI (Kettle).
Ejemplo sencillo comparado Kettle y Talend http://forums.pentaho.org/showthread.php?t=57305
Comparativa de herramientas ETL realizada por la empresa Adeptia. http://www.adeptia.com/products/etl_vendor_comparison.html
Pentaho Kettle Open Source Review http://www.datawg.com/pentaho-kettle-open-source-etl-tool-review.html
Benchmark entre Pentaho Data Integration y Talend realizado por Marc Russel. http://marcrussel.files.wordpress.com/2007/08/benchmark-tos-vs-kettle.pdf
Comparativa entre Datastage, Talend, Informatica y PDI (Manapps). http://marcrussel.files.wordpress.com/2009/02/etlbenchmarks_manapps_090127.pdf
Presentación PowerPoint comparativa Kettle vs Talend http://svn2.assembla.com/svn/bbdd_dd/Presentaciones/Kettle%20Vs%20Talend.pptx
EOS: Open Source Directory. http://www.eosdirectory.com/project/397/Talend+Open+Studio.html vs http://www.eosdirectory.com/project/202/KETTLE++pentaho+data+integration+.html

Conclusiones.

Desde mi punta de vista, creo que ambas herramientas son complementarias. Cada una con un enfoque, pero permiten realizar las mismas tareas de transformación e integración de datos. El producto Talend tiene para mi mas recorrido, pues se estan poniendo muchos recursos en su desarrollo, y se esta complementando con otras herramientas para crear una verdadera suite de integración de datos. También se utiliza en el proyecto de Jaspersoft. Igualmente, el hecho de ser mas abierto y poder ser complementado con el uso del lenguaje Java también le da ciertas ventajas con respecto a Pentaho.

Por otro lado, Pentaho Data Integration es una herramienta muy intuitiva y facil de utilizar. Se nota desde el principio cuando se empieza a usar, como ya mencione, que esta desarrollada bajo el prisma de las problematicas de procesos ETL y transformación de datos. En algunas aspectos se le ve más rápida y ágil que Talend, al no tener que estar moviendo generación de código Java en todo momento. Aunque si se echa de menos la gestión de un repositorio de proyectos verdaderamente integrado, como en Talend, y con un metadatos independiente de los origenes/destinos de datos.

A nivel de rendimiento, y revisando las diferentes comparativas, tampoco se ve un claro ganador. Una herramienta es mas rapida en algunas cosas (Talend en calculo de agregaciones o Lookups), mientras Pentaho es mas rápido, por ejemplo en el tratamiento de SCD o con los procesos de paralelización. En mis procesos ETL tampoco ha habido unas grandes diferencias de rendimiento, aunque si me ha parecido ligeramente más ágil Pentaho a la hora de realizar los procesos masivos.

Teniendo en cuenta todo lo visto (y todo lo detallado en los puntos anteriores), yo me decanto ligeramente a favor de Talend, aunque antes de elegir una herramienta para un proyecto, yo realizaría un estudio profundo del tipo de trabajos y casuisticas a las que nos vamos a enfrentar en el diseño de nuestros procesos antes de decantarme por una u otra herramienta. Seguramente habrá factores especificos que pueden recomendar el uso de una u otra (como la necesidad de conectarnos a determinada aplicación o las plataformas donde ejecutar los procesos). Y lo que esta claro en ambos casos, es que cualquiera de las dos nos podría valer para los procesos de construcción de un DW en un entorno real (como he demostrado en este blog con toda la serie de ejemplos publicados).

Si habeis trabajado con alguna de las herramientas, o ambas, quizas tengais algo que añadir a esta comparativa. Espero vuestras opiniones.

Actualización 18.06.10

Os dejo el link al ultimo estudio de Gartner sobre Integración de Datos, publicado en noviembre de 2009:

Magic Quadrant for Data Integration Tools.

En el ultimo estudio se ha incluido a Talend como un proveedor emergente de herramientas de Integración de Datos. Si estáis pensando en trabajar con Talend, se dicen cosas interesantes (tanto Pro´s como contras) sobre la evolución del producto y su futuro:

Puntos Fuertes:

  • Dos niveles: nivel de entrada con herramienta Open Source gratuita (Talend Open Studio) y nivel superior con herramienta de pago con mas funcionalidades y soporte (Talend Integration Suite).
  • Talend esta consiguiendo casi por unanimidad resultados positivos en las empresas. Aunque el factor determinante inicial puede ser su precio, sus características y funcionalidades son el segundo factor determinante de su exito.
  • Buena conectividad en general. Complementada con las herramientas de Data Profiling y Data Quality. El paso de las versiones Open a las de pago no requiere curva de aprendizaje adicional.

Precauciones:

  • Hay escasez de expertos en la herramienta, aunque se esta desarrollando una red de alianzas con otras empresas y desarrollando su red comercial (aunque no estan en todas las regiones).
  • Existen algunos problemas en las herramientas de pago con el repositorio central (que no esta en la versión  Open), cuando se trabaja para coordinar trabajos de desarrollo. Parece que lo estan intentando solucionar en las nuevas versiones.
  • Algunos clientes han reportado que la documentación es errónea y algún problema en la gestión de los metadatos. Igualmente, es necesario disponer de un experto en Java o Perl para sacarle todo el partido a la herramienta (como indicamos en la comparativo con Pentaho).

Os recomiendo la lectura del informe, se dicen cosas muy interesantes en general sobre las herramientas de integración de datos y en particular si estais buscando información de alguna en concreto (como es Talend, el objeto de esta comparativa de productos).

12 respuestas to “16.4. Comparativa ETL Talend vs Pentaho Data Integration (Kettle).”

  1. Mariano said

    Muy buena comparativa, muy completa. Una de las mejores (si no la mejor) que vi sobre estas dos herramientas.

    Felicitaciones

    Saludos

    Mariano

  2. […] Comparativa ETL Talend vs Pentaho Data Integration (Kettle) […]

  3. evinhas said

    Interesante, y remarca mi concepción de que Talend me está gustando más que Pentaho Data Integration…Llevo muchos años trabajando con integrador de datos (siempre con Informatica Powercenter) y Pentaho, que tuve que utilizar en una ocasión, no me convenció mucho.

    Estaba pensando en hacer una comparativa entre ambas herramientas, pero tu artículo ya la ha hecho (si algo funciona, no lo toques!).. Lo que no he visto en la comparativa es los resultados de rendimiento y stress…¿podrías publicarlos? Indicas «(…)A nivel de rendimiento, y revisando las diferentes comparativas, tampoco se ve un claro ganador. Una herramienta es mas rapida en algunas cosas(…)» pero me gustaría ver que pruebas has ejecutado. También cuando afirmas «(…)En mis procesos ETL tampoco ha habido unas grandes diferencias de rendimiento, aunque si me ha parecido ligeramente más ágil Pentaho a la hora de realizar los procesos masivos.(…)» porque esta suele ser una característica crítica en los proyectos que he trabajado (y en este aspecto Powercenter funciona realmente bien).

    Pues nada, solo comentar que estoy desarrollando un proyecto BI opensource (publicado también en wordpress), para crear una herramienta de análisis bursátil, y en principio, iba a utilizar la suite de Pentaho (incluso se llama «proyectopentahodw»), pero cada día que pasa me estoy decantando más por Talend, además de que Pentaho parece que quiere abandonar la Comunity Edition (open source).

    • Hola:

      Yo no he realizado exactamente pruebas de rendimiento entre una herramienta y otra. Solo he visto que los tiempos de procesos eran ligeramente más rapidos utilizando Kettle. Ten en cuenta que en mis procesos hay sobre todo carga de datos y el tratamiento de las SCD.

      En los links hay diferentes pruebas, con benchmarks incluidos, cada una con sus conclusiones, y sobre ese tema no he profundizado demasiado.

      Por ejemplo, en la prueba de rendimiento realizada por Marc Russel (http://marcrussel.files.wordpress.com/2007/08/benchmark-tos-vs-kettle.pdf), hay una mas o menos clara ventaja de Talend respecto a Pentaho (según el tipo de acciones que se realizan). En la prueba de Atol (http://www.atolcd.com/fileadmin/Publications/Atol_CD_Livre_Blanc_ETL_Open_Source.pdf) se observa un mejor rendimiento de Talend en calculo de agregaciones o lookups, mientras que Pentaho es mejor para las SCD y para la carga de datos.

      Viendo esos resultados, parece que todo va a depender de los tipos de procesos que se realicen en los procesos ETL para decir realmente si una herramienta es mas rapida que la otra.

      Si realmente te interesa sacar conclusiones, te recomiendo que te leas las comparativas. Incluso en alguna se comparan Talend y Kettle con herramientas propietarias ( http://it.toolbox.com/blogs/infosphere/etl-benchmark-favours-datastage-and-talend-28695).

      Un saludo.

      • evinhas said

        Hola Roberto,

        Aprecio los links que me indicaste.

        He estado leyendo la comparativa que me indicas en it.toolbox.com sobre el ETL Benchmark by Manapps:

        http://it.toolbox.com/blogs/infosphere/etl-benchmark-favours-datastage-and-talend-28695%29

        Primero con escepticismo, porque me ha asombrado los malos resultados de Informatica Powercenter.

        He estado leyendo más y me he encontrado con que el mismo blogger de it.toolbox.com había publicado una revisión del informe de Manapps:

        http://it.toolbox.com/blogs/infosphere/was-the-manapps-etl-benchmark-test-flawed-or-baised-28697

        Donde tras analizar todo los comentarios suscitados al informe de Manapps (de gente de Talend, Kettle, etc.) así como otros bloggers, quién tras analizarlos,, llega a la conclusión de que la comparativa:

        «(…)So that brings us to the end of an entertaining and flawed benchmark.(…)»

        («…Asi que llegamos al final de una entretenida y defectuosa comparativa»…)

        La comparativa está viciada (ya que no está bien configurado Powercenter, el servidor no es el más adecuado, etc.) por lo que los resultados no son fiables. Además se critica que tanto Manapps como Talend son de París (Talend es la gran beneficiada) y el hecho de que el .pdf original ya no está disponible (¿llamaron a su puerta la gente de INFA???) pues eso….

        Lo comento por si a alguién le puede interesar, ya que viendo el jaleo suscitado por la comparativa de Manapps (con gente como el mismiso Matt Casters «Mr Kettle» comentandola) se ve que es necesaria una buena comparativa.

        Muchas gracias por tu post y posterior comentario.

        Un cordial saludo,

        Eduardo Viñas

  4. Eladio said

    Muy buen artículo. Gracias.

  5. Eduardo said

    Excelente!! Gracias por el aporte comunitario, ya baje Pentaho y estoy bajando Talend para probarla. Estamos utilizando Oracle Warehouse Builder una version vieja y quiero ver si pueedo cambiar por alguna de estas, no soy un muy entendido del tema pero poniendo trabajo en esto. Muchas gracias de nuevo.
    Saludos a todos!

  6. My coder is trying to convince me to move to .net from PHP.

    I have always disliked the idea because of the expenses. But he’s tryiong none the less. I’ve been using WordPress on several websites for about a year and am concerned about switching to
    another platform. I have heard excellent things about
    blogengine.net. Is there a way I can import all my wordpress posts into it?
    Any kind of help would be really appreciated!

  7. Bảng giá dự án chung cư Sunshine Riverside

    16.4. Comparativa ETL Talend vs Pentaho Data Integration (Kettle). « El Rincon del BI

  8. Muy buena información, explicacion detallada al maximo nivel

Deja un comentario