Etl

PROCESOS ETL Cristina I. Bermejo Núñez. Javier Ruiz Muñoz de la Espada. ÍNDICE 1 PROCESOS ETL: DEFINICIÓN Y CARACTER

Views 132 Downloads 0 File size 801KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PROCESOS ETL

Cristina I. Bermejo Núñez. Javier Ruiz Muñoz de la Espada.

ÍNDICE 1

PROCESOS ETL: DEFINICIÓN Y CARACTERÍSTICAS. ................................................................ 3

2

PROCESO DE EXTRACCIÓN, PROCESO DE TRANSFORMACIÓN Y PROCESO DE CARGA. ....... 3 2.1

El proceso de Extracción. .............................................................................................. 4

2.1.1

Pasos del proceso de Extracción. ......................................................................... 4

2.1.2

Modos de Extracción. ............................................................................................ 4

2.1.3

Claves del proceso de extracción. ......................................................................... 5

2.1.4

Proceso de Extracción ideal................................................................................... 5

2.2

PROCESO DE TRANSFORMACIÓN.................................................................................. 5

2.2.1

¿Por qué es necesario un proceso de transformación? ........................................ 5

2.2.2

Acciones de transformación. ................................................................................. 6

2.2.3 La transformación: un proceso vital para los análisis y comparaciones posteriores. ........................................................................................................................... 6 2.3

2.3.1

Tipos de sistemas de carga.................................................................................... 7

2.3.2

La elección de tipo de carga ideal depende de cada caso. ................................... 8

2.4

3

LIMPIEZA DE DATOS. ..................................................................................................... 8

2.4.1

Principios del proceso de limpieza. ....................................................................... 8

2.4.2

El perfilado de datos.............................................................................................. 9

CÓMO MINIMIZAR LOS FALLOS. ........................................................................................... 9 3.1

4

El PROCESO DE CARGA. ................................................................................................. 7

STAGING. ..................................................................................................................... 10

3.1.1

Ventajas de utilizar una staging area. ................................................................. 10

3.1.2

Principales características de un proceso de staging. ......................................... 10

PROCESAMIENTO EN HERRAMIENTAS ETL. ........................................................................ 11 4.1

TIPOS DE PARALELISMOS. ........................................................................................... 11

4.2

VENTAJAS DE PARALELISMO. ...................................................................................... 11

5

EVOLUCIÓN DE LOS PROCESOS ETL. ................................................................................... 12

6

DESAFÍOS DE LOS PROCESOS Y HERRAMIENTAS ETL. ......................................................... 13

7

6.1

DESAFÍOS DE LOS PROCESOS ETL. ............................................................................... 13

6.2

LA FUNCIONALIDAD DE LAS HERRAMIENTAS ETL. ...................................................... 13

¿ETL O ELT?. ........................................................................................................................ 14 7.1

ENTENDIENDO EL CONCEPTO E-LT.............................................................................. 14

7.2

VENTAJAS DE E-LT SOBRE ETL. .................................................................................... 15

1

PROCESOS ETL: DEFINICIÓN Y CARACTERÍSTICAS.

Los procesos ETL son un término estándar que se utiliza para referirse al movimiento y transformación de datos. Se trata del proceso que permite a las organizaciones mover datos desde múltiples fuentes, reformatearlos y cargarlos en otra base de datos (denominada data mart o data warehouse) con el objeto de analizarlos. También 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 transformación de los mismos, integrando los distintos sistemas y fuentes en la organización moderna. El término ETL corresponde a las siglas en inglés de:   

2

Extract: extraer. Transform: transformar. Load: cargar.

PROCESO DE EXTRACCIÓN, PROCESO DE TRANSFORMACIÓN Y PROCESO DE CARGA.

Las distintas fases o secuencias de un proceso ETL son las siguientes:   

Extracción de los datos desde uno o varios sistemas fuente. Transformación 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

A estas tres partes habría que añadir la etapa de limpieza que, como hemos comentado, actualmente se entiende como una parte separada del propio proceso.

3

A continuación, 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 implantación

2.1 El proceso de Extracción. 2.1.1

Pasos del proceso de Extracción.

La primera parte del proceso ETL consiste en extraer los datos desde el sistema de origen. Esta fase consta de tres pasos: 1. Análisis previo de las necesidades. Normalmente, hay una primera etapa de análisis donde se evalúan las necesidades concretas de la organización en cuanto a movimiento y transformación de datos. Por lo general, no se comienza extrayendo toda la información, sino que se empieza con el tratamiento de unos datos concretos según una necesidad puntual y luego se realizan ampliaciones a medida que se van necesitando. 2. Identificación 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 tendrán que ser fusionados. 3. Extracción de los datos. En función de las necesidades detectadas, se procede a la extracción en sí de dichos datos. 2.1.2

Modos de Extracción.

Básicamente, existen tres modos distintos de extracción. El tipo de necesidad de la organización es lo que, normalmente, determinará la elección de una u otra forma. 





Full Extract o extracción total - Esta 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 extracción incremental - Se va procesando por lotes únicamente lo que fue modificado o agregado. También puede haber filas que se borren por estar duplicadas, tratarse de datos erróneos, etc. Update Notification o notificación de actualización - En este caso, solo se van extrayendo los datos a medida que se produce una actualización (por ejemplo, un insert / update / delete).

Estos tres tipos de extracción son manejados por un módulo denominado Change Data Capture (CDC).

4

2.1.3

Claves del proceso de extracción.

Lo más importantes es que la tarea de extracción cause el mínimo impacto posible en el sistema de origen:   2.1.4

Que no afecte a su normal funcionamiento. Para ello es aconsejable programar estas tareas en días y horarios de nula o mínima actividad laboral. Se debe evitar que provoque algún problema de seguridad. Proceso de Extracción ideal.

Cualquier organización, empresa o compañía debe exigir que el proceso de extracción de datos desde su fuente o fuentes de origen cause el menor impacto posible. Es decir, que no suponga ningún retraso a los empleados que, diariamente, trabajan con los datos y registros. Una extracción de un número 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 operación a realizar y, si es necesario, llevar a cabo la operación de forma escalonada en bloques de menor tamaño y/o en las fechas y horas más adecuadas para lograr ese mínimo impacto.

2.2 PROCESO DE TRANSFORMACIÓN. La fase de transformación de un proceso de ETL aplica una serie de reglas de negocio o funciones sobre los datos extraídos para convertirlos en datos que serán cargados. Estas directrices pueden ser declarativas, pueden basarse en excepciones o restricciones pero, para potenciar su pragmatismo y eficacia, hay que asegurarse de que sean:      2.2.1

Declarativas. Independientes. Claras. Inteligibles. Con una finalidad útil para el negocio. ¿Por qué es necesario un proceso de transformación?

Para entender la necesidad de un proceso de transformación debemos tener en cuenta que en un proceso ETL se manejan fuentes diversas, algunas de ellas de fuera de la propia organización: información bursátil 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 países, 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 transformación.

5

2.2.2

Acciones de transformación.

Las acciones o procesos más habituales son:  

  



  



2.2.3

Reformateo de datos. Conversión de unidades. Por ejemplo, convertir millas en kilómetros por hora o viceversa. Algo muy habitual cuando se extraen datos de países con unidades métricas distintas. Otro caso sería la conversión de diferentes monedas (libras, euros...) en un único valor estándar. Selección de columnas para su carga posterior. Por ejemplo, hacer que las columnas con valores nulos no se carguen. Agregación de columnas. Añadir una columna con la procedencia de determinados automóviles sería un ejemplo. Dividir una columna en varias. Esta acción resulta de gran utilidad para, por ejemplo, separar en tres columnas, una para el nombre y otras dos para los apellidos, la identificación de una persona que antes estaba en un solo campo. Traducir códigos. 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 información. Por ejemplo, capturar un código de cliente de una base de datos y cruzarlo con otra base de créditos concedidos para saber si dicho cliente disfruta o no de ese préstamo. Pivoting. Proceso parecido al lookups pero con un grado mayor de complejidad, ya que se cruzan datos de distintas fuentes. La transformación: un proceso vital para los análisis y comparaciones posteriores.

La transformación de los datos, tras la extracción de los mismos y como paso previo a su carga, no puede considerarse una fase secundaria ni prescindible. Sin un buen trabajo de transformación de datos no sería posible realizar comparaciones y análisis. Dicho de otro modo, se renunciaría a uno de los grandes beneficios para las organizaciones al implementar un proceso ETL. Esta función corresponde al desarrollador o analista del proceso ETL en cuestión. La definición de las transformaciones a realizar se realiza en función de un análisis previo y de la fase de limpieza que, como ya hemos señalado y profundizaremos más adelante, se trata de un proceso separado pero estrechamente ligado al de transformación.

6

2.3 El PROCESO DE CARGA. En esta fase, los datos procedentes de la fase anterior (fase de transformación) son cargados en el sistema de destino. Dependiendo de los requerimientos de la organización, este proceso puede abarcar una amplia variedad de acciones diferentes. Por ejemplo, en algunas bases de datos será necesario sobreescribir la información antigua con nuevos datos mientras que en otras, bastaría con resumir las transacciones y almacenar un promedio de la magnitud considerada. Los data warehouse mantienen un historial de los registros, de manera que es posible en todo momento hacer una auditoría de los mismos. Esto permite disponer de un rastro de toda la historia de un valor a lo largo del tiempo. 2.3.1

Tipos de sistemas de carga.

Fundamentalmente, existen dos tipos de carga: 



2.3.1.1

Load. Todas las bases de datos modernas soportan este modo de inserción de registros. Consiste en el transporte de la información en grande bloques de datos, previamente calculados en función de su naturaleza. Se trata de la forma más sencilla y común 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, pudiéndose darse el caso de tenerse que repetir toda la carga. Insert. En este caso, la carga se realiza de forma más escalonada y segura. Para ello, el sistema agrupa la información de forma automática y transparente según distintas variables: fechas, por un número 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 también sistemas mixtos) se encuentran en el nivel de consistencia de los datos y en el tiempo de carga. Cuando se utiliza la modalidad load el nivel de consistencia se reduce, puesto que una falla puede obligar a una repetición íntegra del proceso. Sin embargo, la duración del tiempo de carga es menor. Si se usa insert ralentiza el proceso como consecuencia de los procesamientos automáticos 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.

7

2.3.2

La elección de tipo de carga ideal depende de cada caso.

La elección del tipo de proceso de carga, cuya decisión final normalmente corresponde al dueño del proceso ETL, debe tomarse tras valorar una serie de parámetros: cantidad de datos a cargar, velocidad que realmente se precisa, etc. La recomendación 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 volumen no es tan grande, entonces un insert tal vez sea lo más conveniente. Esta elección debe ser consensuada con el administrador de la base de datos. Las claves para asegurarnos de que la carga se realiza de forma correcta son:    

Utilizar la menor cantidad de recursos disponibles. Asegurar la consistencia de los datos que se están cargando. Priorizar la calidad de la carga antes que la rapidez. Tratar de no interferir en otros procesos en marcha.

2.4 LIMPIEZA DE DATOS. Actualmente, 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 ya que 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 estratégico o ejecutivo. Esto da una idea de la enorme necesidad de tomarse muy en serio esta etapa, realizándola acorde a unos parámetros correctos y teniendo en cuenta las recomendaciones de los expertos La importancia de la etapa de limpieza:      2.4.1 





Asegura la calidad de los datos que vamos a procesar. Evita la información no veraz o errónea. Ahorra costes de espacio en disco al eliminarse la información duplicada. Agiliza las consultas por la ausencia de datos repetidos o inservibles. Ayuda a tomar decisiones estratégicas correctas. Principios del proceso de limpieza. Aplicar reglas de unificación de datos. Por ejemplo, poner en la fila correspondiente al sexo la misma letra identificativa, como podría ser “M” para masculino y “F” para femenino. En este caso, también se tendrían que identificar o corregir posibles errores, como que algún 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 dirección postal completa, saltando una alarma si falta alguno. Estandarización de datos. El objetivo es que todos los datos del mismo tipo estén introducidos de idéntica forma. Un ejemplo sería el DNI con la letra final de identificación fiscal junto a los números y sin guión de separación.

8

2.4.2

El perfilado de datos.

Aunque todavía no se considera como una etapa independiente del proceso de limpieza, es altamente recomendable realizar previamente un perfilado de datos donde se decide, a través de un muestreo, qué cambios realizar y de qué forma concreta hacerlos. De esta manera, garantizamos una limpieza posterior óptima y completamente estandarizada. Conviene remarcar que en el perfilado aún no se realizan modificaciones, puesto que se trata de un análisis previo.

3

CÓMO MINIMIZAR LOS FALLOS.

Al igual que ocurre con cualquier otra aplicación, 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 mañana siguiente, cuando los empleados de la oficina comienzan su rutina laboral diaria. También 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 propósito 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, llegándose a mover varios millones de datos, lo que favorece la posible aparición de algún contratiempo. Algunos de los errores o fallos más comunes son:     

Existencia de campos o valores nulos. Tablas de referencia inexistentes. Cortes de energía. Fallos de funcionamiento en los discos de almacenamiento. Etc.

Para minimizar esos fallos  

Diseñando procesos de ETL que, en caso de que ocurra algún fallo, sean recuperables. Garantizando un diseño del proceso ETL que, de forma expresa, minimice los fallos y optimice la recuperación en caso de que finalmente se produzca algún error.

A veces los errores son inevitables, pero siempre se pueden amortiguar como ya hemos visto que los fallos no siempre pueden evitarse, puesto que muchas veces son producto de circunstancias que no están en nuestra mano, como un corte inesperado del fluido eléctrico. No obstante, siempre es posible tomar medidas que minimicen estos fallos y permitan la recuperación total de los datos.

9

3.1 STAGING. Con el objeto de minimizar al máximo 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 recuperación 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). Si bien tiene un costo adicional de recurso y tiempo total de duración del proceso ETL, el área de staging es fundamental y ampliamente utilizada para permitir un óptimo gerenciamiento de los procesos ETL. 3.1.1 







3.1.2 



 

Ventajas de utilizar una staging area. Permite independizar el proceso de carga por bloques o etapas. Lo cual es muy útil y práctico cuando se trabaja con millones de datos, ya que evita tener que reiniciar el proceso entero en caso de error o avería. Por ejemplo, si se produjese un corte eléctrico, solo habría que repetir el volcado de datos del bloque específico en el que se ha producido la incidencia, estando el resto de información 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 transformación, bastaría con volver a repetir esta fase, pero no sería necesario repetir la etapa anterior: la de extracción. La compilación 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 físicamente independiente, en ningún caso afecta ni ralentiza otros procesos del sistema. Principales características de un proceso de staging. Únicamente el desarrollador del ETL debería tener acceso al área de staging, tanto para salvaguardar la confidencialidad de los datos, como para evitar complicaciones derivadas de que, por error, alguien intentase acceder a los datos a través del staging area , lo cual podría 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 algún problema o imprevisto. El staging se utiliza tanto durante el proceso de extracción-transformación como en el de transformación-carga. Los procesos de staging, inevitablemente, aumentan la duración total del proceso ETL.

10

4

PROCESAMIENTO EN HERRAMIENTAS ETL.

Un desarrollo reciente en el software ETL es la aplicación de procesamiento paralelo, es decir, las fases no se realizan en modo “batch” (paso a paso) sino por bloques. Esta ejecución paralela la realizan diferentes “nodos” dentro de un mismo proceso ETL, o varias instancias de un mismo proceso. Este avance ha permitido desarrollar una serie de métodos que mejoran el rendimiento general de los procesos ETL cuando se trata de grandes volúmenes de datos.

4.1 TIPOS DE PARALELISMOS. 





Particionamiento de datos. En este caso, cada nodo procesa un número determinado de datos (por ejemplo, 1000 filas). La posibilidad y tipo concreto de partición va en función del tipo dato y operaciones que estoy realizando. En el caso de un warehouse además, 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 también particionadas las operaciones que se se van realizando con ellos, como por ejemplo añadir 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 lógica y reutilizarla.

4.2 VENTAJAS DE PARALELISMO. Las ventajas que presenta el paralelismo son las siguientes:   

Acortar los tiempos de procesamiento. Impacto positivo en el negocio. Mejora en la utilización de recursos.

A veces no es posible utilizarlo, aunque siempre es deseable, y aún más cuando se trabaja con grandes volúmenes de datos, diseñar 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 ejecución secuencial (por ejemplo, un proceso “A” que dependa de la finalización de un proceso “B”).

11

5

EVOLUCIÓN DE LOS PROCESOS ETL.

Llega un momento en que las organizaciones, especialmente las grandes utilizan, muchos sistemas y se nutren de una gran variedad de fuentes de datos, los cuales funcionan en forma de retroalimentación mutua. Cuando los sistemas y/o fuentes de datos que operan en una misma organización y compañía superan un número manejable y se empiezan a volver más complejos, esta heterogeneidad les empieza a acarrear un considerable problema. Y esto ocurre a menudo en compañías de un cierto tamaño. Llegados a este punto, muchas empresas empiezan a utilizar los procesos ETL con un objetivo distinto que el gerenciamiento o la optimización de datos. En estos casos, la utilidad de la ETL se diversifica hacia la integración y la migración de los datos. Más usos de los procesos ETL: 

Integración 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 cabría otra opción de realizar esta tarea de forma manual y con multitud de errores. Aspectos tan importantes y decisivos para un buen resultado a nivel de sistema como la calidad o el perfil del dato, se han incorporado a la definición de ETL y por eso hoy día en ella se encuentran incluidos todos los siguientes puntos: o Servicios de acceso a datos. o Data profiling. o Data quality. o Procesado de datos operacionales. o Servicios de transformación: CDC, SCD, Validación, Agregación. o Acceso en tiempo real. o ETL o Transporte de datos. o Gestión de metadatos. o Servicios de entrega.



Migración de datos. Se trata de, únicamente, trasladar la información de una base de datos obsoleta a una nueva, realizando los cambios que sean precisos.

Aunque la aplicación más común para un proceso ETL es la construcción y carga de un data warehouse, cada vez más frecuentemente los procesos ETL son usados para operaciones tales como la interacción y la migración de datos.

12

6

DESAFÍOS DE LOS PROCESOS Y HERRAMIENTAS ETL.

Actualmente, las organizaciones crecen y evolucionan a una extraordinaria velocidad. Y lo mismo ocurre con sus necesidades a nivel de sistemas informáticos en general y muy particularmente de los procesos ETL. Esto significa que los nuevos procesos ETL deben adecuarse no solamente a las necesidades más actuales de las organizaciones, sino también anticiparse al futuro, puesto que en poco tiempo estas crecerán, por lo que tendrán que manejar un volumen mucho mayor de datos y de fuentes y canales muy diversos.

6.1 DESAFÍOS DE LOS PROCESOS ETL. Los procesos ETL que se pongan en marcha a partir de ahora deben tener la capacidad de:   



Manejar de forma simultánea 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 también como streaming de datos. Por ejemplo, poder consultar la cotización de una moneda en tiempo real y añadirlo a la base de datos para poder hacer análisis o reportes totalmente actualizados. Permitir la escalabilidad. Hoy en día, y en el futuro todavía más, lo datos de una organización crecen de forma exponencial. Esto significa que si en el presente una empresa necesita 1TB de memoria para manejar sus datos, el año que viene precisará 2TB y al otro año 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 más hardware o mayor memoria, el sistema va a ser capaz de aprovechar esos nuevos recursos y funcionar de modo más eficiente. Existen dos grandes tipos de escalabilidad: o Escalabilidad vertical. Es cuando a la carga de procesos ETL se le añaden más recursos: discos, memoria, CPU. o Escalabilidad horizontal. Consiste en utilizar servidores en los que se instalan procesos ETL interconectados y procesando en paralelo, de manera que se aprovecha la potencialidad de la suma de esos equipos, y se pueden ir agregando mas (cluster).

6.2 LA FUNCIONALIDAD DE LAS HERRAMIENTAS ETL. Las herramientas ETL no tienen por qué utilizarse sólo en entornos de Data Warehousing o construcción de un Data Warehouse, sino que pueden ser útiles para multitud de propósitos, como por ejemplo:   

Tareas de Bases de datos: que también se utilizan para consolidar, migrar y sincronizar bases de datos operativas. Migración de datos entre diferentes aplicaciones por cambios de versión o cambio de aplicativos. Sincronización entre diferentes sistemas operacionales (por ejemplo, entre nuestro entorno ERP y la web de ventas).

13





 

7

Consolidación de datos: sistemas con grandes volúmenes de datos que son consolidados en sistemas paralelos, ya sea para mantener históricos o para llevar a cabo procesos de borrado en los sistemas originales. Interfases de datos con sistemas externos: como el envío de información a clientes o proveedores. También servirían para la recepción, proceso e integración de la información recibida. Interfases con sistemas Frontoffice: serían interfases de subida/bajada con sistemas de venta. Otros cometidos: como la actualización de usuarios a sistemas paralelos o la preparación de procesos masivos (tipo mailings o newsletter).

¿ETL O ELT?.

Entendemos ETL como el proceso extracción, transformación y carga de los datos, que es parte del ciclo de vida de una implementación de Business Intelligence. Partiendo de esta premisa, nos damos cuenta que existen ciertas variaciones conceptuales relativas al mismo proceso de ETL, de las que dependerá el rendimiento de los procesos de manejo de los datos. Por ello es necesario considerar las tecnologías aplicadas en cada parte del proceso, de principio a fin. A modo de resumen, podría decirse que un proceso cualquiera daría comienzo en el origen de los datos (Base de datos, archivos de texto, etc.), continuaría con la intervención de la herramienta de ETL, para concluir en el destino de los Datos (Base de datos) que se disponga. La herramienta de ETL permitiría:   

Conectarse a la fuente de los datos. Hacer la transformación dentro de la misma herramienta. Cargar los datos a la base de datos destino.

7.1 ENTENDIENDO EL CONCEPTO E-LT. E-LT podría definirse siguiendo el orden de las iniciales que lo denominan. Así se puede decir que consiste en la extracción, carga y transformación de datos, y se resume en los siguientes tres pasos: 1. Primero: habrá que extraer y cargar los datos de manera “BULK” directamente a una Base de Datos o a unas tablas especialmente creadas para los datos de paso (conocidas también como staging). Esto supone que este medio servirá solo temporalmente, por lo que podrá ser limpiado en cada proceso de carga. Por ello se recomienda hacer transformaciones simples y limpieza básica de información. 2. Segundo: cuando la información se halla contenida en staging habrá que proseguir con la elaboración del proceso de transformación de los datos, que posteriormente pasará a la base de datos del Data Warehouse. Esta transformación se hará con el lenguaje propio de la base de datos, por ejemplo T-SQL, PL/SQL. 3. Tercero: una vez que se tienen los datos transformados en los procesos propios de la base de datos, se insertarían en el Data Warehouse. Terminada esta acción, se pueden limpiar los datos de paso, si se cree conveniente. De esta manera el proceso de transformación queda integrado en el motor de la Base de Datos.

14

7.2 VENTAJAS DE E-LT SOBRE ETL. Aunque ambos conceptos, E- LT y ETL conducen a un mismo resultado, la diferencia está en el rendimiento y la velocidad de proceso del proceso de carga en cada caso. Las principales ventajas de usar E-LT en vez de ETL serían las relativas a: 



Velocidad de proceso y transformación. La principal ventaja de E-LT es la forma en que trabaja cada herramienta implicada. En el caso de ETL las herramientas de transformación evalúan registro por registro, mientras que en E-LT la transformación se hace en la base de datos que evalúa los registros en lotes. Uso de recursos. Otra ventaja de E-LT, es que una base de datos está preparada para la optimización de recursos ya sean de disco, memoria o proceso y esto hace que el rendimiento del proceso sea administrado por la configuración de la base de datos. Sin embargo, las herramientas de ETL no toman ventaja de la configuración del disco (RAID) ni de la distribución de la memoria y procesador, ya que hacen transformaciones temporales y en muchos casos redundantes.

Cada herramienta nos provee de unas ventajas diferentes. Algunas nos dan mayor facilidad para desarrollar una transformación, aunque no el mejor rendimiento; mientras que en ocasiones sucede al contrario. En la práctica, puede suceder que un cliente que tiene una herramienta E-LT utilice ETL al no saber usar sus ventajas. Por eso, es importante estar informado y conocer el alcance de los recursos de que se dispone, para poder tomar decisiones correctas, obteniendo el mejor rendimiento.

15