Upload
carlos-mario-nunez
View
115
Download
11
Embed Size (px)
Citation preview
LosProcesos ETL
enprofundidad
1 Procesos ETL
Tabla de contenidos
1. Procesos ETL: Definicin y Caractersticas
2. El Proceso de Extraccin: Formas de Realizarlo y Cuestiones a Tener en Cuenta
3. El Proceso de Transformacin: En qu consiste?
4. El Proceso de Carga: Tipos de Carga y Claves del Proceso
5. La Limpieza de Datos: una Etapa Separada pero muy Importante
6. Gerenciamiento de Procesos ETL: cmo Minimizar los Fallos
7. Staging: un Aspecto Relacionado con el Gerenciamiento y la Recuperacin
8. Procesos ETL con Paralelismo: Funcionamiento y Tipos
9. La Integracin de Datos: otra Posibilidad de los Procesos ETL
10. El Dilema de la Implementacin ETL: Hacer una Herramienta propia o Adquirir una
11. Desafos de los Proceso ETL: la Claves es Pensar en el Futuro
12. Cmo Elegir la Herramienta de Procesos ETL ms Adecuada?
2 Procesos ETL
1. Procesos ETL: Definicin y CaractersticasLos procesos ETL son un trmino estndar que se utiliza para referirse al movimiento y
transformacin de datos. Se trata del proceso que permite a las organizaciones mover datos desde
mltiples fuentes, reformatearlos y cargarlos en otra base de datos (denominada data mart o data
warehouse) con el objeto de analizarlos. Tambin pueden ser enviados a otro sistema operacional
para apoyar un proceso de negocio.
En definitiva, el principal objetivo de este proceso es facilitar el movimiento de los datos y la
transformacin de los mismos, integrando los distintos sistemas y fuentes en la organizacin
moderna.
El trmino ETL corresponde a las siglas en ingls de:
Extract: extraer.
Transform: transformar.
Load: cargar.
Fases de un proceso ETL
Las distintas fases o secuencias de un proceso ETL son las siguientes:
Extraccin de los datos desde uno o varios sistemas fuente.
Transformacin de dichos datos, es decir, posibilidad de reformatear y limpiar estos datos
cuando sea necesario.
Carga de dichos datos en otro lugar o base de datos, un data mart o un data warehouse, con
el objeto de analizarlos o apoyar un proceso de negocio.
La limpieza de datos como etapa separada
Aunque podra entenderse como una accin integrada en la fase de transformacin de datos, en la
actualidad la tendencia es considerar la limpieza de datos como una fase separada del proceso
ETL.
Esta visin corresponde a una concepcin ms moderna y efectiva del proceso. Para ahorrar tiempo
y ganar en efectividad es conveniente unificar criterios, por ejemplo introduciendo av en vez de
avenida en todos los registros de una base de datos de direcciones postales, EN el proceso ETL
3 Procesos ETL
propiamente dicho.
Tan importante es tener la informacin consolidada como que todos los datos sean correctos y con
una visin nica para todos los usuarios. Solo as se pueden lograr unos circuitos de trabajo y
anlisis de dichos datos realmente ptimos y efectivos.
Qu sistemas se pueden integrar en un proceso ETL?
Los procesos ETL pueden incluir:
Sistemas legacy. Es decir, legados, heredados o antiguos .
Sistemas abiertos. Basados en Windows, Linux y tambin en las redes sociales modernas:
Facebook, Twitter, Linkedin, etc.
Los sistemas legacy o heredados cerrados se caracterizan, generalmente, por: dificultad de realizar
cambios y tener un difcil acceso (normalmente se necesita algn tipo de driver especial). Son
sistemas que procesan hacia dentro y, por lo tanto, no permiten la agregacin de una computadora
que trabaje en paralelo.
Por el contrario, los sistemas Windows, Linux o UNIX son plataformas abiertas, con amplias
posibilidades de interactividad.. Un ejemplo lo constituira una granja de servidores Linux, la cual
permite la interconexin de los distintos nodos entre s.
Beneficios de los procesos ETL
A cualquier empresa u organizacin le beneficia poner en marcha un proceso ETL para mover y
transformar los datos que maneja por los siguientes motivos:
Poder crear una Master Data Management , es decir, un repositorio central estandarizado
de todos los datos de la organizacin. Por ejemplo, si tenemos un objeto cliente en una base
de datos de crditos y otro objeto cliente en la base de datos de tarjetas de crdito, lo que
hara el Master sera definir, de forma concreta e inequvoca, un registro cliente nico con su
nombre y apellidos para la organizacin.
Posibilita a los directivos tomar decisiones estratgicas basadas en el anlisis de los datos
cargados en las bases nuevas y actualizadas: la dama mart o data warehouse.
Sirve para integrar sistemas. Las organizaciones crecen de forma orgnica y cada vez se van
4 Procesos ETL
agregando ms fuentes de datos. Esto provoca que comience a surgir nuevas necesidades,
como por ejemplo integrar los datos de un banking on line con los datos antiguos de un
sistema legacy.
Poder tener una visin global de todos los datos consolidados en una data warehouse. Por
ejemplo, crear una estrategia de marketing basndose en el anlisis de los datos anteriores.
Proceso ETL: un sistema efectivo, pero con retos y cuestiones a resolver
Como hemos visto, los procesos ETL son muy tiles y beneficiosos para las organizaciones por su
capacidad para integrar grandes bases de datos, logrando as una visin nica global que permite,
a los analistas y directivos, tomar las decisiones estratgicas adecuadas.
La implantacin de un sistema ETL bien definido supone todo un reto puesto que, para que sea
realmente efectivo, debe permitir integrar los sistemas legacy (algunos ya muy obsoletos) con los
ms modernos. Adems, el acceso a todos estos sistemas se debe producir no solo en modo de
lectura, sino tambin como escritura.
5 Procesos ETL
2. El proceso de Extraccin: Formas deRealizarlo y Cuestiones a Tener en CuentaComo hemos visto en la introduccin, todo proceso ETL consta de tres fases diferenciadas:
1) Extraccin.
2) Transformacin.
3) Carga.
A estas tres partes habra que aadir la etapa de limpieza que, como hemos comentado,
actualmente se entiende como una parte separada del propio proceso.
A continuacin, vamos a explicar los principales aspectos del funcionamiento de cada una de las
fases, as como sus claves y cuestiones a considerar en su planteamiento e implantacin.
Los distintos pasos del proceso de extraccin
La primera parte del proceso ETL consiste en extraer los datos desde el sistema de origen. Esta fase
consta de tres pasos:
1. Anlisis previo de las necesidades. Normalmente, hay una primera etapa de anlisis donde
se evalan la necesidades concretas de la organizacin en cuanto a movimiento y
transformacin de datos. Por lo general, no se comienza extrayendo toda la informacin,
sino que se empieza con el tratamiento de unos datos concretos segn una necesidad
puntual y luego se realizan ampliaciones a medida que se van necesitando.
2. Identificacin de fuentes. Antes de extraer los datos, se identifica de qu tipo son y en qu
formato se encuentran los sistemas fuente. Por ejemplo, si se trata de bases de datos
relacionales o no relacionales, archivos planos, archivos complejos, archivos VSAM,
WebServices, MainFrame, archivos en Excel, etc. Lo habitual es que los datos de los sistemas
de origen provengan de formatos distintos, que tendrn que ser fusionados.
3. Extraccin de los datos. En funcin de las necesidades detectadas, se procede a la extraccin
en s de dichos datos.
6 Procesos ETL
Modos de extraccin
Bsicamente, existen tres modos distintos de extraccin. El tipo de necesidad de la organizacin es
lo que, normalmente, determinar la eleccin de una u otra forma.
Full Extract o extraccin totalEsta modalidad consiste en extraer la totalidad de datos. En este caso, se barren tablas completas
que pueden llegar a tener millones de registros.
Incremental Extract o extraccin incremental
Se va procesando por lotes nicamente lo que fue modificado o agregado. Tambin puede haber filas que se borren por estar duplicadas, tratarse de datos errneos, etc.
Update Notification o notificacin de actualizaciones
En este caso, solo se van extrayendo los datos a medida que se produce una actualizacin (por ejemplo, un insert / update / delete) .
Estos tres tipos de extraccin son manejados por un mdulo denominado Change Data Capture
(CDC).
Claves del proceso extraccin
Lo ms importantes es que la tarea de extraccin cause el mnimo impacto posible en el
sistema de origen:
Que no afecte a su normal funcionamiento. Para ello es aconsejable programar estas
tareas en das y horarios de nula o mnima actividad laboral.
Se debe evitar que provoque algn problema de seguridad.
El proceso de extraccin ideal es el que apenas se nota
Cualquier organizacin, empresa o compaa debe exigir que el proceso de extraccin de datos
desde su fuente o fuentes de origen cause el menor impacto posible. Es decir, que no suponga
ningn retraso a los empleados que, diariamente, trabajan con los datos y registros.
Una extraccin de un nmero demasiado grande de datos de una sola vez puede llegar a ralentizar,
e incluso colapsar, el sistema. Por este motivo, es importante valorar muy bien las necesidades y el
alcance de la operacin a realizar y, si es necesario, llevar a cabo la operacin de forma escalonada
7 Procesos ETL
en bloques de menor tamao y/o en las fechas y horas ms adecuadas para lograr ese mnimo
impacto.
8 Procesos ETL
3. El Proceso de Transformacin: En quConsiste?Tras la extraccin de los datos de la fuente o fuentes de origen llega la segunda fase del proceso
ETL: la transformacin.
La fase de transformacin de un proceso ETL consiste en la aplicacin de una serie de funciones o
reglas de negocio sobre los datos extrados para convertirlos en datos que, a continuacin, sern
cargados en la nueva fuente.
Por qu es necesario un proceso de transformacin?
Para entender la necesidad de un proceso de transformacin debemos tener en cuenta que en un
proceso ETL se manejan fuentes diversas, algunas de ellas de fuera de la propia organizacin:
informacin burstil de una web ajena a la empresa, cualquier tipo de descarga de Internet, un
paquete de Office, etc.
Esta variedad de bases de datos, en ocasiones de varios pases, con diferentes idiomas y distintas
unidades de medida, imposibilita o dificulta la posibilidad de realizar comparaciones si con
anterioridad no se realizan conversiones y formateos. De ah la necesidad de los procesos de
transformacin.
Acciones de transformacin
Las acciones o procesos ms habituales son:
Reformateo de datos.
Conversin de unidades. Por ejemplo, convertir millas en kilmetros por hora o viceversa.
Algo muy habitual cuando se extraen datos de pases con unidades mtricas distintas. Otro
caso sera la conversin de diferentes monedas (libras, euros...) en un nico valor estndar.
Seleccin de columnas para su carga posterior. Por ejemplo, hacer que las columnas con
valores nulos no se carguen.
Agregacin de columnas. Aadir una columna con la procedencia de determinados
automviles sera un ejemplo.
Dividir una columna en varias. Esta accin resulta de gran utilidad para, por ejemplo,
9 Procesos ETL
separar en tres columnas, una para el nombre y otras dos para los apellidos, la
identificacin de una persona que antes estaba en un solo campo.
Traducir cdigos. Por ejemplo, si la fuente de origen almacena una H para hombres y una
M para mujeres, dar las instrucciones necesarias para que en destino se guarde un 1
para hombres y un 2 para mujeres.
Obtener nuevos valores calculados.
Unir datos de varias fuentes.
Lookups . Cuando se toma un dato y se lo compara con otro tipo de datos, cruzando
informacin. Por ejemplo, capturar un cdigo de cliente de una base de datos y cruzarlo con
otra base de crditos concedidos para saber si dicho cliente disfruta o no de ese prstamo.
Pivot ing. Proceso parecido al lookups pero con un grado mayor de complejidad, ya que se
cruzan datos de distintas fuentes.
Quin se encarga de realizar estas transformaciones?
Esta funcin corresponde al desarrollador o analista del proceso ETL en cuestin. La definicin de
las transformaciones a realizar se realiza en funcin de un anlisis previo y de la fase de limpieza
que, como ya hemos sealado y profundizaremos ms adelante, se trata de un proceso separado
pero estrechamente ligado al de transformacin.
La transformacin: un proceso vital para los anlisis y comparaciones
posteriores
La transformacin de los datos, tras la extraccin de los mismos y como paso previo a su carga, no
puede considerarse una fase secundaria ni prescindible. Sin un buen trabajo de transformacin de
datos no sera posible realizar comparaciones y anlisis. Dicho de otro modo, se renunciara a uno
de los grandes beneficios para las organizaciones al implementar un proceso ETL.
10 Procesos ETL
4. El Proceso de Carga: Tipos de Carga y Claves del ProcesoLa fase de carga es el momento en el cual los datos procedentes de la fase anterior (fase de
transformacin) son cargados en el sistema de destino.
Hay que tener en cuenta que igual que puede haber varios sistemas o fuentes de origen (como ya
hemos comentado en puntos anteriores) tambin pueden existir varios sistemas de destino
diferentes.
Tipos de sistemas de carga
Fundamentalmente, existen dos tipos de carga:
Load. Todas las bases de datos modernas soportan este modo de insercin de registros.
Consiste en el transporte de la informacin en grande bloques de datos, previamente
calculados en funcin de su naturaleza. Se trata de la forma ms sencilla y comn de llevar
a cabo un proceso de carga masiva de datos sin impactar el / los sistemas fuentes, pero
tiene el inconveniente de que ante un accidente o problema (un corte de luz, un fallo del
disco, etc.) se pierde la consistencia de los datos, pudindose darse el caso de tenerse que
repetir toda la carga.
Insert . En este caso, la carga se realiza de forma ms escalonada y segura. Para ello, el
sistema agrupa la informacin de forma automtica y transparente segn distintas
variables: , fechas, por un nmero determinado de registros, etc. Esta modalidad permite
procesar el punto exacto hasta el que se ha realizado la carga, lo que supone que si se
produce un fallo solo hay que retomar el proceso de carga desde ese punto concreto, sin
necesidad de repetirlo todo de nuevo.
Principales diferencias entre inserts y loads
Las diferencias entre los dos principales modalidades de carga (aunque no las nicas puesto que
existen tambin sistemas mixtos) se encuentran en el nivel de consistencia de los datos y en el
tiempo de carga.
11 Procesos ETL
Cuando se utiliza la modalidad load el nivel de consistencia se reduce, puesto que una falla puede
obligar a una repeticin ntegra del proceso. Sin embargo, la duracin del tiempo de carga es
menor.
Si se usa insert ralentiza el proceso como consecuencia de los procesamientos automticos del
estado de la carga y principalmente de los logs generados en la base de datos, pero en
contrapartida se gana en consistencia de los datos y registros.
Claves para asegurarnos de que la carga se realiza de forma correcta
Utilizar la menor cantidad de recursos disponibles.
Asegurar la consistencia de los datos que se estn cargando.
Priorizar la calidad de la carga antes que la rapidez.
Tratar de no interferir en otros procesos en marcha.
La eleccin del tipo de carga ideal depende de cada caso
La eleccin del tipo de proceso de carga, cuya decisin final normalmente corresponde al dueo del
proceso ETL, debe tomarse tras valorar una serie de parmetros: cantidad de datos a cargar,
velocidad que realmente se precisa, etc.
La recomendacin general es que si el volumen de datos a cargar es importante, utilizar load
previendo que si ocurre una falla, todo el proceso de carga deber repetirse. Si el volmen no es tan
grande, entonces un insert tal vez sea lo ms conveniente. Esta eleccin debe ser consensuada con
el administrador de la base de datos.
12 Procesos ETL
5. La Limpieza de Datos: una Etapa Separadapero muy ImportanteActualmente, la limpieza de datos se considera una etapa previa y separada al proceso ETL
propiamente dicho, lo que NO significa que su importancia sea menor.
Importancia de la etapa de limpieza
Asegura la calidad de los datos que vamos a procesar.
Evita la informacin no veraz o errnea.
Ahorra costes de espacio en disco al eliminarse la informacin duplicada.
Agiliza las consultas por la ausencia de datos repetidos o inservibles.
Ayuda a tomar decisiones estratgicas correctas.
Principios del proceso de limpieza
Aplicar reglas de unificacin de datos. Por ejemplo, poner en la fila correspondiente al sexo
la misma letra identificativa, como podra ser M para masculino y F para femenino. En
este caso, tambin se tendran que identificar o corregir posibles errores, como que algn
usuario haya puesto la M como mujer.
Validaciones de completitud. Como por ejemplo, comprobar que en todos los registros de
datos de los clientes de un banco est introducida la direccin postal completa, saltando una
alarma si falta alguno.
Estandarizacin de datos. El objetivo es que todos los datos del mismo tipo estn
introducidos de idntica forma. Un ejemplo sera el DNI con la letra final de identificacin
fiscal junto a los nmeros y sin guin de separacin.
El perfilado de datos
Aunque todava no se considera como una etapa independiente del proceso de limpieza, es
altamente recomendable realizar previamente un perfilado de datos donde se decide, a travs de un
muestreo, qu cambios realizar y de qu forma concreta hacerlos. De esta manera, garantizamos
una limpieza posterior ptima y completamente estandarizada.
13 Procesos ETL
Conviene remarcar que en el perfilado an no se realizan modificaciones, puesto que se trata de un
anlisis previo.
De una buena limpieza depender el ptimo resultado de un proceso ETL
No es posible lograr un buen resultado final en un proceso ETL, acorde a los objetos marcados, sino
se realiza previamente una buena limpieza de los datos. Sin esta etapa previa no es posible disponer
de una base de datos de calidad que permite la toma de decisiones acertadas a nivel estratgico o
ejecutivo. Esto da una idea de la enorme necesidad de tomarse muy en serio esta etapa,
realizndola acorde a unos parmetros correctos y teniendo en cuenta las recomendaciones de los
expertos.
14 Procesos ETL
6. Gerenciamiento de Procesos ETL: cmoMinimizar los FallosAl igual que ocurre con cualquier otra aplicacin, un proceso ETL puede fallar. El problema es que,
muchas veces, estos fallos o errores no se detectan inmediatamente durante el proceso de carga
(que normalmente se realiza fuera de horarios laborales, por ejemplo de madrugada), sino a la
maana siguiente, cuando los empleados de la oficina comienzan su rutina laboral diaria.
Tambin es muy importante asegurarse de que en el momento en que empiece la jornada laboral el
proceso, que ha podido comenzar durante la noche anterior, est ya listo, con el propsito de que
no interfiera para nada, o lo menos posible, con la actividad normal.
Hay que tener en cuenta que algunos procesos ETL son de una gran complejidad, llegndose a
mover varios millones de datos, lo que favorece la posible aparicin de algn contratiempo.
En qu puede fallar un proceso ETL
Algunos de los errores o fallos ms comunes son:
Existencia de campos o valores nulos.
Tablas de referencia inexistentes.
Cortes de energa.
Fallos de funcionamiento en los discos de almacenamiento.
Etc.
Cmo minimizar esos fallos
Diseando procesos de ETL que, en caso de que ocurra algn fallo, sean recuperables.
Garantizando un diseo del proceso ETL que, de forma expresa, minimice los fallos y
optimice la recuperacin en caso de que finalmente se produzca algn error.
A veces los errores son inevitables, pero siempre se pueden amortiguar
Ya hemos visto que los fallos no siempre pueden evitarse, puesto que muchas veces son producto
de circunstancias que no estn en nuestra mano, como un corte inesperado del fluido elctrico. No
obstante, siempre es posible tomar medidas que minimicen estos fallos y permitan la recuperacin
15 Procesos ETL
total de los datos.
16 Procesos ETL
7. Staging: un Aspecto Relacionado con elGerenciamiento y la RecuperacinCon el objeto de minimizar al mximo nivel los posibles errores o problemas en el proceso de
carga, normalmente se reserva un rea de disco para poder recuperar los datos por etapas. Por
eso podemos afirmar que el staging est estrechamente relacionado tanto con el gerenciamiento
como con la recuperacin de datos.
Funcionamiento del staging
1. En primer lugar, los datos son volcados por bloques o etapas y de forma independiente en un rea del disco denominada staging area.
2. Posteriormente, se cargan los datos desde la staging area a su lugar o sistema de destino (data warehousing).
Ventajas de utilizar una staging area
Permite independizar el proceso de carga por bloques o etapas. Lo cual es muy til y prctico
cuando se trabaja con millones de datos, ya que evita tener que reiniciar el proceso entero
en caso de error o avera. Por ejemplo, si se produjese un corte elctrico, solo habra que
repetir el volcado de datos del bloque especfico en el que se ha producido la incidencia,
estando el resto de informacin a buen recaudo y segura en el rea de staging.
Si se implementa correctamente, posibilita reiniciar las distintas fases del proceso ETL de
manera independiente. Esto significa que si, por ejemplo, falla el proceso de transformacin,
bastara con volver a repetir esta fase, pero no sera necesario repetir la etapa anterior: la
de extraccin.
La compilacin de los distintos bloques o etapas del proceso de staging puede incluso
adaptarse a las necesidades de los clientes, aunque siempre que est contemplado
previamente en el proceso general del ETL.
Al tratarse de un disco fsicamente independiente, en ningn caso afecta ni ralentiza otros
procesos del sistema.
Principales caractersticas de un proceso de staging
nicamente el desarrollador del ETL debera tener acceso al rea de staging, tanto para
salvaguardar la confidencialidad de los datos, como para evitar complicaciones derivadas de
17 Procesos ETL
que, por error, alguien intentase acceder a los datos a travs del staging area , lo cual podra
generar incidencias.
A los usuarios nunca se les da acceso a esta rea especial de staging area, aunque s a los
que tengan el perfil de administrador, no porque en realidad lo necesiten sino por si surgiese
algn problema o imprevisto.
El staging se utiliza tanto durante el proceso de extraccin-transformacin como en el de
transformacin-carga.
Los procesos de staging, inevitablemente, aumentan la duracin total del proceso ETL.
Un proceso altamente recomendable pese a suponer un costo adicional de tiempo y recursos
Si bien tiene un costo adicional de recurso y tiempo total de duracin del proceso ETL, el rea de
staging es fundamental y ampliamente utilizada para permitir un ptimo gerenciamiento de los
procesos ETL.
18 Procesos ETL
8. Procesos ETL con Paralelismo:Funcionamiento y TiposLa mayora de herramientas de ETL modernas permiten la ejecucin en modo paralelo, es decir, las
fases no se realizan en modo batch (paso a paso) sino por bloques. Esta ejecucin paralela la
realizan diferentes nodos dentro de un mismo proceso ETL, o varias instancias de un mismo
proceso.
Tipos de paralelismos
Particionamiento de datos. En este caso, cada nodo procesa un nmero determinado de
datos (por ejemplo, 1000 filas). La posibilidad y tipo concreto de particin va en funcin del
tipo dato y operaciones que estoy realizando. En el caso de un warehouse adems, las tablas
suelen estar particionadas en el disco, y el proceso ETL saca provecho de este
particionamiento..
Pipelining. Este tipo de paralelismo posibilita, una vez se han dividido los datos, tener
tambin particionadas las operaciones que se se van realizando con ellos, como por
ejemplo aadir un campo Y a cada fila. Dicho de otro modo, permite hacer modificaciones
a nivel estructural.
Componentes. Se definen componentes reutilizables que asignan una referencia a un campo,
por ejemplo una letra, y se vuelven a utilizar cada vez que se tenga que volver a cambiar ese
mismo campo en el resto de filas. Es decir, este tipo de proceso de paralelismo permite crear
una lgica y reutilizarla.
Ventajas del paralelismo
Acortar los tiempos de procesamiento.
Impacto positivo en el negocio.
Mejora en la utilizacin de recursos.
A veces no es posible utilizarlo
Siempre es deseable, y an ms cuando se trabaja con grandes volmenes de datos, disear los
procesos ETL de manera que se puedan ejecutar en modo paralelo. Lo que ocurre es que ciertos
procesos no lo permiten, puesto que requieren forzosamente una ejecucin secuencial (por ejemplo,
19 Procesos ETL
un proceso A que dependa de la finalizacin de un proceso B).
20 Procesos ETL
9. La Integracin de Datos: otra Posibilidad delos Procesos ETLLlega un momento en que las organizaciones, especialmente las grandes utilizan, muchos sistemas
y se nutren de un gran variedad de fuentes de datos, los cuales funcionan en forma de
retroalimentacin mutua.
Cuando los sistemas y/o fuentes de datos que operan en una misma organizacin y compaa
superan un nmero manejable y se empiezan a volver mas complejos, esta heterogeneidad les
empieza a acarrear un considerable problema. Y esto ocurre a menudo en compaas de un cierto
tamao.
Llegados a este punto, muchas empresas empiezan a utilizar los procesos ETL con una objetivo
distinto que el gerenciamiento o la optimizacin de datos. En estos casos, la utilidad de la ETL se
diversifica hacia la integracin y la migracin de los datos.
Ms usos de los procesos ETL
Integracin de datos. Como hemos visto, los procesos ETL tienen la capacidad de leer y
escribir en cualquier fuente o sistema. Por ello, no son pocas las empresas que recurren a
este tipo de procesos para integrar datos de diversos sistemas o fuentes, muchos de ellos
muy antiguos e incompatibles entre ellos. Si no existiera la posibilidad de utilizar los
sistemas ETL como integradores de datos, no cabra otra opcin de realizar esta tarea de
forma manual y con multitud de errores.
Migracin de datos. Se trata de, nicamente, trasladar la informacin de una base de datos
obsoleta a una nueva, realizando los cambios que sean precisos.
Se trata de procesos cada vez mas comunes y ms utilizados
Aunque la aplicacin ms comn para un proceso ETL es la construccin y carga de un data
warehouse, cada vez ms frecuentemente los procesos ETL son usados para operaciones tales como
la interaccin y la migracin de datos.
21 Procesos ETL
10. El Dilema de la Implementacin deprocesos ETL: Hacer una Herramienta propiao Adquirir unaLa historia suele repetirse. Normalmente, cuando una organizacin se plantea un proceso ETL por
primera vez lo hace con un enfoque manual. Con esto queremos decir que suele fabricar una
herramienta propia para uso de un departamento concreto de la empresa, el de Finanzas por
ejemplo.
Pero una vez implementado, resulta que a otros departamentos, como Marketing o Recursos
Humanos, les gustan los resultados y piden que se les desarrolle otro sistema ETL para poder
manejar, de forma ms rpida y efectiva, sus propios datos.
Es entonces cuando la organizacin se plantea cmo puede dejar de desarrollar estos procesos ETL
de forma manual, puesto que no le resulta rentable ni operativo dedicar un nmero x de tcnicos
exclusivamente a ese trabajo.
La alternativa es adquirir algunas de las herramientas disponibles el mercado que haga esta tarea
de forma automtica y con un funcionamiento definido.
La mayora de empresas no le encuentran sentido a invertir tiempo y dinero en, por ejemplo,
programar ETLs propios para acceder a datos de una fuente obsoleta, cuando existen productos a
la venta en el mercado que hacen la misma funcin. Aun as, los sistemas automatizados tienen
algunas desventajas que conviene tener en consideracin.
Desventajas de las herramientas automticas ETL
Costes de adquisicin de licencias.
Costes de mantenimiento
Esfuerzo inicial de implementacin.
Cmo tomar la decisin?
Como ocurre con todas las decisiones operacionales, a la hora de decantarse por la fabricacin de
un proceso ETL propio o comprar un producto ya existente es cuestin de valorar una serie de
22 Procesos ETL
parmetros: cantidad y complejidad de la informacin, necesidades empresariales o corporativas,
tamao y recursos de la empresa, etc.
23 Procesos ETL
11. Desafos de los Procesos ETL: la Clave esPensar en el FuturoActualmente, las organizaciones crecen y evolucionan a una extraordinaria velocidad. Y lo mismo
ocurre con sus necesidades a nivel de sistemas informticos en general y muy particularmente de
los procesos ETL.
Esto significa que los nuevos procesos ETL deben adecuarse no solamente a las necesidades ms
actuales de las organizaciones, sino tambin anticiparse al futuro, puesto que en poco tiempo estas
crecern, por lo que tendrn que manejar un volumen mucho mayor de datos y de fuentes y canales
muy diversos.
Desafos de los procesos ETL
Los procesos ETL que se pongan en marcha a partir de ahora deben tener la capacidad de:
Manejar de forma simultnea datos tanto estructurados como no estructurados.
Poder leer, procesar y analizar datos provenientes de las redes sociales: Facebook, Twitter,
Linkedin, etc.
Procesar datos en tiempo real, lo que se conoce tambin como streaming de datos. Por
ejemplo, poder consultar la cotizacin de una moneda en tiempo real y aadirlo a la base de
datos para poder hacer anlisis o reportes totalmente actualizados.
Permitir la escalabilidad. Hoy en da, y en el futuro todava ms, lo datos de una
organizacin crecen de forma exponencial. Esto significa que si en el presente una empresa
necesita 1TB de memoria para manejar sus datos, el ao que viene precisar 2TB y al otro
ao 8 TB... Lo mismo para cantidad de cores, disco y cantidad de registros que se procesan.
Que un proceso ETL permita escalabilidad significa que, en el caso de que la empresa
agregue ms hardware o mayor memoria, el sistema va a ser capaz de aprovechar esos
nuevos recursos y funcionar de modo ms eficiente. Existen dos grandes tipos de
escalabilidad:
Escalabilidad vertical. Es cuando a la carga de procesos ETL se le aaden ms
recursos: discos, memoria, CPU.
Escalabilidad horizontal. Consiste en utilizar servidores en los que se instalan
procesos ETL interconectados y procesando en paralelo, de manera que se
24 Procesos ETL
aprovecha la potencialidad de la suma de esos equipos, y se pueden ir agregando
mas (cluster).
La clave est en adaptarse al volumen creciente de datos
A la hora de disear la arquitectura de buen proceso ETL se deben tener en cuenta los desafos
actuales y futuros para poder cumplir con las expectativas. La clave est en poder soportar los
volmenes crecientes de informacin y datos que se van generando en la organizacin sin tener que
reprogramar los procesos ETL.
25 Procesos ETL
12. Cmo Elegir la Herramienta paraprocesos ETL ms Adecuada?En el mercado existe una gran variedad de herramientas ETL disponibles y cada empresa debe
elegir, en funcin de sus propias caractersticas, necesidades y objetivos, la que ms le conviene.
Pautas para elegir una herramienta ETL
Definir si nos conviene crear una proceso ETL propio o comprar uno ya existente. Si se
trata de una organizacin grande lo ms recomendable y habitual es adquirir una licencia a
nivel corporativo de un sistema ETL ya desarrollado.
Valorar los costes y recursos disponibles. La compra de una licencia supone una inversin
importante pero, en contrapartida, un ahorra de personal y de muchos tiempo de trabajo en
su conceptualizacin, desarrollo e implantacin.
Tener en cuenta las expectativas de futuro de la empresa, sus necesidades actuales, a
corto y a medio plazo y su potencial de crecimiento.
Ventajas de los procesos ETL
Sea cual sea la eleccin del proceso ETL concreto que se tome, ya sea propio o adquirido, todas las
herramientas ETL tienen una serie de ventajas. A lo largo del e-book ya las hemos citado, pero a
continuacin las recopilamos a modo de sntesis y conclusin:
Son herramientas optimizadas para los procesos de manejo de datos.
Gran variedad de conectores disponibles.
Transformaciones pre-construidas.
Filtros, agregaciones, ordenamientos, joins, etc. listos para usar.
Integracin con herramientas de Business Intelligent (inteligencia de negocio).
Funcionalidades para trabajo en equipo.
Generacin de documentacin.
Gobernabilidad de datos.
Debugging (depurar). Deteccin, anlisis y correccin de errores en bases de datos.
Redundancia.
26 Procesos ETL