Resultados de una encuesta sobre procesos de ETL, o integración de datos, aplicaciones, o como lo llames.

En estos días me encontraba de lo mas normal conversando con un grupo de futuros colegas sobre el día a día en lo que se refiere al desarrollo de soluciones para el mundo empresarial y me di cuenta que no manejaban términos que para muchos puede ser ya algo normal como lo es integración empresarial, integración de aplicaciones, o desarrollo de procesos de ETL. Y esto me pasa tan a menudo, es una señal de que el currículo académico debe actualizarse, sin duda alguna.

Por otro lado, si encontré compañeros que entendieron de qué les hablaba y de manera muy didáctica explicaban a sus amigos.

Quería centrar mi charla pidiéndoles que teniendo en cuenta su experiencia académica y pasantías, si han tenido que desarrollar procesos ETL y qué estrategias les funcionaron mejor y cuáles no tanto.

Mi discurso tuvo que cambiar radicalmente hacia otro enfoque: integración empresarial, qué és, para qué se hace, cómo se hace, con qué se hace y experiencias recopilada a través del tiempo, así que el espacio de debate que quería abrir pensé tendría que extenderlo hacia el mundo digital. Pero antes de volver a hacer una consulta y quedarme sin respuestas, decidí estudiar entre mi comunidad de seguidores en Twitter, LinkedIn y compañeros de trabajo, qué tan en sintonía estamos con estas cosas.

A continuación, les comparto los resultados de una breve, pero precisa encuesta, hecha con Google Forms. Sin mas preambulos, las preguntas, respuestas y análisis

¿Sabes qué son procesos ETL?

Tengo sentimientos encontrados, luego de dos semanas de publicidad, solo conseguí 13 respuestas… Estoy seguro que mi círculo de amigos tecnológicos es mucho mas grande que eso, pero capaz también odian hacer encuestas y por eso no los culpo tampoco.

A ver, casi el 70% sabe que son procesos ETLs, así que entonces sí considero que en el mundo digital pueden fluir mejor mis ideas de debate. Pero como también me gusta evangelizar y enseñar sobre lo que sé, mi siguiente pregunta buscó precisamente hacer espacio al conocimiento para tener mayor cantidad de respuestas efectivas con las próximas preguntas.

La integración de aplicaciones es algo de lo mas normal en el mundo de desarrollo de aplicaciones para el sector empresarial. Lo hacemos para integrar sistemas legacy o herados con nuevas aplicaciones, o incluso cuando vamos a desechar lo primero y migrar la información a lo segundo; lo usamos para consolidar operaciones de distintos orígenes tales como tiendas, almacenes, o servicios en la nube; y hasta lo usamos para automatizar subprocesos que es mejor corran aparte que dentro del core que soporta el proceso principal.

Los procesos ETL son rutinas que permiten leer información de un origen de datos, transformarla o manipularla y luego entregarla en un destino. ¿En base a eso, con qué herramientas puedes desarrollar procesos ETL?

Acá vemos algo de progreso, entre quienes no manejaban el concepto de ETL, al menos algo han realizado o han leído al respecto. Estaba la opción de contestar que no saben nada al respecto.

Las puntuaciones mas altas se las llevan, en orden, Pentaho Data Integration, emplear algún lenguaje de programación y Talend Data Integration. En base a esto también puedo validar los procesos ETLs que suelen construir mis amigos en sus proyectos están mas que todo orientados a procesamiento batch, o por lotes, un tema sobre el cual me gustaría entrar mas en detalle en otro post. Por otro lado, el procesamiento en tiempo real si bien no es desconocido entre mis amigos, no es el mas popular. Teniendo en cuenta que empleando algún lenguaje de programación puede conseguirse también esto, en el mejor de los casos puede representar un significativo empate entre ambas estrategias.

¿Por qué elegiste la opción u opciones seleccionadas?

Esta pregunta era abierta pero solo permitía una oración como respuesta para dar seguridad en la idea a plasmar. Algunas cosas que puedo inferir de las respuestas:

La experiencia previa es un driver al momento de decidir qué herramienta emplear. Esto tiene sentido, comienzas a probar algo, te familiarizas, te da resultado, y por ende, lo vuelves parte de tu artillería. Algunas respuestas relacionadas son:

Experiencia previa.

Ya la he usado.

Porque son las que conozco.

Porque es la herramienta con la que mas estoy familiarizada.

También apareció una opción que no estaba en mi radar como entre las más comunes o utilizadas: IBM DataStage. El motivo por el cual no la incluí no quedó claro en un principio, pero por todas las opciones publicadas no tienes que pagar para usarla, con DataStage, si.

¿Por qué no está DataStage?

Tengo mayor experiencia en PDI y DataStage

Conozco esas, y DataStage de IBM

Entre otras cosas, hay respuestas a esta pregunta que no se responden por si solas sin comprender el resto de las respuestas. Entre ellas:

He escuchado que Pentaho esta relacionado a generación de reportes a partir de información almacenada en bases de datos.

Pentaho, el simple nombre, es una palabra aborigen de Estados Unidos de América, pero también es una suite de herramientas para construir soluciones de inteligencia de negocios. Pentaho Data Integration es la herramienta para hacer integración de datos, Pentaho Report Designer es la que se emplea para construir reportes y Pentaho BI Server es la herramienta para tener orquestada la ejecución de ETLs, consulta de reportes, análisis de datos a través de OLAP, entre otros.

¿En base a tu experiencia o intuición? ¿Qué hace que una herramienta para tí sea mejor que otra?

El resultado se explica por sí solo, la eficiencia y la facilidad para usar son deal-brakers al momento de elegir cualquier producto de software que consideremos igualmente promocionados.

Entre herramientas gráficas y librerías de programación o APIs para realizar ETLs, ¿cual prefieres?


Entre los encuestados tenemos una muestra importante de badass coders! Las herramientas gráficas tienen sus ventajas sobre echar código como tal, por ejemplo, un proceso ETL será mas fácil de mantener y comprender si tenemos una estructura de flujo de trabajo, algo que es natural en el procesamiento humano; pero esta sencillez es a expensas de un montón de procesamiento paralelo que debe hacer la computadora o servidor para humanizar el proceso que estamos diseñando. Por otro lado, las librerías de programación son lo mas eficiente que puede haber, es lo recomendable a utilizar en aplicaciones de gran escala (piensa en un Facebook o Netflix), si dominas el lenguaje, también será fácil de mantener pero la curva de aprendizaje puede ser mucho mas lenta. Para soluciones rápidas y eficaces, usa herramientas gráficas; pare mayor eficiencia, librerías de programación.

¿Cuánto tiempo tienes desarrollando procesos ETLs?

Un significativo entry level está compuesto por casi 31% que recién empezó a desarrollar procesos ETLs. El siguiente nivel es el junior, con otro casi 31%. Y para quienes piensen que no fui muy inteligente con la opción «Toda mi carrera», pues les cuento que solo se podía seleccionar una opción así que el nivel senior y expert representa un jugoso 58%.

¿Crees que las tecnologías mas comunes o mas usadas hoy en día para construir procesos ETL cambien en el futuro próximo?

Un significativo 54% está seguro que estas tecnologías cambiarán en un futuro próximo. Acá se tiene que definir que se considera próximo, por ejemplo, yo tengo ya 10 años de experiencia profesional e los cuales tengo 8 usando Pentaho Data Integration, herramienta que solo ha cambiado en look and feel y en plugins para nuevas tecnologías pero el core es el mismo. Por otro lado, en los últimos 5 años han aparecido decenas de liberías para realizar integración de datos y el 80% dejó ya de existir, usare o mantener.

A esta pregunta solicité que por favor añadir cualwuier reflexión adicional. Se las comparto:

Evolución al mundo de analytics.

Las tecnologías no cambian su core, el ETL estará presente como base para complementar otras tecnologías como big data.

Hasta ahora hay muy pocas propuestas al respecto y la mayoría que existe en el mercado funciona medianamente igual.

Es lo lógico, seguramente se descubrirá algún nuevo paradigma que modificara las ETLs a algún tipo de proceso estilo CDC en conjunto con herramientas mucho mas livianas para traspaso de datos masivos.

Todo es temporal en tecnología.

Siempre las mas comunes, se adaptarán a nuevas tecnologías, pero la mayoría de empresas, no invierte realmente en una tecnología nueva, si no existen casos de éxito.

Seguramente se inventarán nuevas tecnologías que superen las capacidades de las actuales pero saber que tiempo tomará lograr estos avances es algo incierto

¡Contribuye!

Me gustaría en la medida de lo posible, actualizar este post con una muestra mas grande. Si te interesa participar y contribuir, el formulario de la encuesta sigue libre acá.

Muchas gracias por leerme y si me compartes, o comentas, mucho mejor!

Una respuesta a «Resultados de una encuesta sobre procesos de ETL, o integración de datos, aplicaciones, o como lo llames.»

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *