26
Los Procesos ETL en profundidad 1 Procesos ETL

PowerData-Procesos-ETL-en-profundidad.pdf

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