fbpx
Wikipedia

Extract, transform and load

Extract, Transform and Load («extraer, transformar y cargar», frecuentemente abreviado ETL) es el proceso que permite a las organizaciones mover datos desde múltiples fuentes, reformatearlos y limpiarlos, y cargarlos en otra base de datos, data mart, o data warehouse para analizar, o en otro sistema operacional para apoyar un proceso de negocio.

Los procesos ETL también se pueden utilizar para la integración con sistemas heredados. Se convirtieron en un concepto popular en los años 1970.[1]

Extraer

La primera parte del proceso ETL consiste en extraer los datos desde los sistemas de origen. La mayoría de los proyectos de almacenamiento de datos funcionan con datos provenientes de diferentes sistemas de origen. Cada sistema separado puede usar una organización diferente de los datos o formatos distintos. Los formatos de las fuentes normalmente se encuentran en bases de datos relacionales o ficheros planos, pero pueden incluir bases de datos no relacionales u otras estructuras diferentes. La extracción convierte los datos a un formato preparado para iniciar el proceso de transformación.

Una parte intrínseca del proceso de extracción es la de analizar los datos extraídos, de lo que resulta un chequeo que verifica si los datos cumplen la pauta o estructura que se esperaba. De no ser así los datos son rechazados.

Un requisito importante que se debe exigir a la tarea de extracción es que ésta cause un impacto mínimo en el sistema origen. Si los datos a extraer son muchos, el sistema de origen se podría ralentizar e incluso colapsar, provocando que este no pueda utilizarse con normalidad para su uso cotidiano. Por esta razón, en sistemas grandes las operaciones de extracción suelen programarse en horarios o días donde este impacto sea nulo o mínimo.

Transformar

La fase de transformación aplica una serie de reglas de negocio o funciones sobre los datos extraídos para convertirlos en datos que serán cargados. Algunas fuentes de datos requerirán alguna pequeña manipulación de los datos. No obstante en otros casos pueden ser necesarias aplicar algunas de las siguientes transformaciones:

  • Seleccionar solo ciertas columnas para su carga (por ejemplo, que las columnas con valores nulos no se carguen).
  • Traducir códigos (por ejemplo, si la fuente almacena una "H" para Hombre y "M" para Mujer pero el destino tiene que guardar "1" para Hombre y "2" para Mujer).
  • Codificar valores libres (por ejemplo, convertir "Hombre" en "H" o "Sr" en "1").
  • Obtener nuevos valores calculados (por ejemplo, total_venta = cantidad * precio, o Beneficio = PVP - Coste).
  • Unir datos de múltiples fuentes (por ejemplo, búsquedas, combinaciones, etc.).
  • Calcular totales de múltiples filas de datos (por ejemplo, ventas totales de cada región).
  • Generación de campos clave en el destino.
  • Transponer o pivotar (girando múltiples columnas en filas o viceversa).
  • Dividir una columna en varias (por ejemplo, columna "Nombre: García López, Miguel Ángel"; pasar a tres columnas "Nombre: Miguel Ángel", "Apellido1: García" y "Apellido2: López").
  • La aplicación de cualquier forma, simple o compleja, de validación de datos, y la consiguiente aplicación de la acción que en cada caso se requiera:
  • Datos OK: Entregar datos a la siguiente etapa (Carga).
  • Datos erróneos: Ejecutar políticas de tratamiento de excepciones (por ejemplo, rechazar el registro completo, dar al campo erróneo un valor nulo o un valor centinela).

Cargar

La fase de carga es el momento en el cual los datos de la fase anterior (transformación) son cargados en el sistema de destino. Dependiendo de los requisitos de la organización, este proceso puede abarcar una amplia variedad de acciones diferentes. En algunas bases de datos se sobrescribe la información antigua con nuevos datos. Los data warehouse mantienen un historial de los registros de manera que se pueda hacer una auditoría de los mismos y disponer de un rastro de toda la historia de un valor a lo largo del tiempo.

Existe una única forma de cargar los datos:

Rolling
El proceso de Rolling por su parte, se aplica en los casos en que se opta por mantener varios niveles de granularidad (jerarquías). Para ello se almacena información resumida a distintos niveles, correspondientes a distintas agrupaciones de la unidad de tiempo o diferentes niveles jerárquicos en alguna o varias de las dimensiones de la magnitud almacenada (por ejemplo, totales diarios, totales semanales, totales mensuales, etc.).

Procesamiento paralelo

Un desarrollo reciente en el software ETL es la aplicación de procesamiento paralelo. Esto ha permitido desarrollar una serie de métodos para mejorar el rendimiento general de los procesos ETL cuando se trata de grandes volúmenes de datos. Hay 3 tipos principales de paralelismos que se pueden implementar en las aplicaciones ETL:

De datos
Consiste en dividir un único archivo secuencial en pequeños archivos de datos para proporcionar acceso paralelo.
De segmentación (pipeline)
Permitir el funcionamiento simultáneo de varios componentes en el mismo flujo de datos. Un ejemplo de ello sería buscar un valor en el registro número 1 a la vez que se suman dos campos en el registro número 2.
De componente
Consiste en el funcionamiento simultáneo de múltiples procesos en diferentes flujos de datos, pertenecientes todos ellos a un único flujo de trabajo. Esto es posible cuando existen porciones dentro de un flujo de trabajo que son totalmente independientes entre ellas a nivel de flujo de datos.

Estos tres tipos de paralelismo no son excluyentes, sino que pueden ser combinados para realizar una misma operación ETL.

Una dificultad adicional es asegurar que los datos que se cargan sean relativamente consistentes. Las múltiples bases de datos de origen tienen diferentes ciclos de actualización (algunas pueden ser actualizadas cada pocos minutos, mientras que otras pueden tardar días o semanas). En un sistema de ETL será necesario que se puedan detener ciertos datos hasta que todas las fuentes estén sincronizadas. Del mismo modo, cuando un almacén de datos tiene que ser actualizado con los contenidos en un sistema de origen, es necesario establecer puntos de sincronización y de actualización.

Desafíos

Los procesos ETL pueden ser muy complejos. Un sistema ETL mal diseñado puede provocar importantes problemas operativos.

En un sistema operacional el rango de valores de los datos o la calidad de éstos pueden no coincidir con las expectativas de los diseñadores a la hora de especificarse las reglas de validación o transformación. Es recomendable realizar un examen completo de la validez de los datos (Data profiling) del sistema de origen durante el análisis para identificar las condiciones necesarias para que los datos puedan ser tratados adecuadamente por las reglas de transformación especificadas. Esto conducirá a una modificación de las reglas de validación implementadas en el proceso ETL.

Normalmente los data warehouse son alimentados de manera asíncrona desde distintas fuentes, que sirven a propósitos muy diferentes. El proceso ETL es clave para lograr que los datos extraídos asíncronamente de orígenes heterogéneos se integren finalmente en un entorno homogéneo.

La escalabilidad de un sistema de ETL durante su vida útil tiene que ser establecida durante el análisis. Esto incluye la comprensión de los volúmenes de datos que tendrán que ser procesados según los acuerdos de nivel de servicio (SLA: Service level agreement). El tiempo disponible para realizar la extracción de los sistemas de origen podría cambiar, lo que implicaría que la misma cantidad de datos tendría que ser procesada en menos tiempo. Algunos sistemas ETL son escalados para procesar varios terabytes de datos para actualizar un data warehouse que puede contener decenas de terabytes de datos. El aumento de los volúmenes de datos que pueden requerir estos sistemas pueden hacer que los lotes que se procesaban a diario pasen a procesarse en micro-lotes (varios al día) o incluso a la integración con colas de mensajes o a la captura de datos modificados (CDC: change data capture) en tiempo real para una transformación y actualización continua.

Herramientas ETL

  • Ab Initio
  • Barracuda Software
  • Bitool
  • Cognos Decisionstream
  • Genio, Hummingbird
  • IBM Websphere DataStage (Previously Ascential DataStage)
  • Informática PowerCenter
  • metaWORKS (Document Tools)
  • Microsoft DTS (incluido en SQL-Server 2000)
  • Microsoft SQL Server Integration Services (SSIS) (a partir de MS SQL Server 2005)
  • MySQL Migration Toolkit
  • Oracle Data Integrator
  • Oracle Warehouse Builder
  • Pentaho Data Integration
  • SAP Data Services
  • Stratio Sparta

Referencias

  1. ETL What it is and why it matters

Véase también

  •   Datos: Q1276130

extract, transform, load, este, artículo, sección, necesita, referencias, aparezcan, publicación, acreditada, este, aviso, puesto, noviembre, 2012, extract, transform, load, extraer, transformar, cargar, frecuentemente, abreviado, proceso, permite, organizacio. Este articulo o seccion necesita referencias que aparezcan en una publicacion acreditada Este aviso fue puesto el 23 de noviembre de 2012 Extract Transform and Load extraer transformar y cargar frecuentemente abreviado ETL es el proceso que permite a las organizaciones mover datos desde multiples fuentes reformatearlos y limpiarlos y cargarlos en otra base de datos data mart o data warehouse para analizar o en otro sistema operacional para apoyar un proceso de negocio Los procesos ETL tambien se pueden utilizar para la integracion con sistemas heredados Se convirtieron en un concepto popular en los anos 1970 1 Indice 1 Extraer 2 Transformar 3 Cargar 4 Procesamiento paralelo 5 Desafios 6 Herramientas ETL 7 Referencias 8 Vease tambienExtraer EditarLa primera parte del proceso ETL consiste en extraer los datos desde los sistemas de origen La mayoria de los proyectos de almacenamiento de datos funcionan con datos provenientes de diferentes sistemas de origen Cada sistema separado puede usar una organizacion diferente de los datos o formatos distintos Los formatos de las fuentes normalmente se encuentran en bases de datos relacionales o ficheros planos pero pueden incluir bases de datos no relacionales u otras estructuras diferentes La extraccion convierte los datos a un formato preparado para iniciar el proceso de transformacion Una parte intrinseca del proceso de extraccion es la de analizar los datos extraidos de lo que resulta un chequeo que verifica si los datos cumplen la pauta o estructura que se esperaba De no ser asi los datos son rechazados Un requisito importante que se debe exigir a la tarea de extraccion es que esta cause un impacto minimo en el sistema origen Si los datos a extraer son muchos el sistema de origen se podria ralentizar e incluso colapsar provocando que este no pueda utilizarse con normalidad para su uso cotidiano Por esta razon en sistemas grandes las operaciones de extraccion suelen programarse en horarios o dias donde este impacto sea nulo o minimo Transformar EditarLa fase de transformacion aplica una serie de reglas de negocio o funciones sobre los datos extraidos para convertirlos en datos que seran cargados Algunas fuentes de datos requeriran alguna pequena manipulacion de los datos No obstante en otros casos pueden ser necesarias aplicar algunas de las siguientes transformaciones Seleccionar solo ciertas columnas para su carga por ejemplo que las columnas con valores nulos no se carguen Traducir codigos por ejemplo si la fuente almacena una H para Hombre y M para Mujer pero el destino tiene que guardar 1 para Hombre y 2 para Mujer Codificar valores libres por ejemplo convertir Hombre en H o Sr en 1 Obtener nuevos valores calculados por ejemplo total venta cantidad precio o Beneficio PVP Coste Unir datos de multiples fuentes por ejemplo busquedas combinaciones etc Calcular totales de multiples filas de datos por ejemplo ventas totales de cada region Generacion de campos clave en el destino Transponer o pivotar girando multiples columnas en filas o viceversa Dividir una columna en varias por ejemplo columna Nombre Garcia Lopez Miguel Angel pasar a tres columnas Nombre Miguel Angel Apellido1 Garcia y Apellido2 Lopez La aplicacion de cualquier forma simple o compleja de validacion de datos y la consiguiente aplicacion de la accion que en cada caso se requiera Datos OK Entregar datos a la siguiente etapa Carga Datos erroneos Ejecutar politicas de tratamiento de excepciones por ejemplo rechazar el registro completo dar al campo erroneo un valor nulo o un valor centinela Cargar EditarLa fase de carga es el momento en el cual los datos de la fase anterior transformacion son cargados en el sistema de destino Dependiendo de los requisitos de la organizacion este proceso puede abarcar una amplia variedad de acciones diferentes En algunas bases de datos se sobrescribe la informacion antigua con nuevos datos Los data warehouse mantienen un historial de los registros de manera que se pueda hacer una auditoria de los mismos y disponer de un rastro de toda la historia de un valor a lo largo del tiempo Existe una unica forma de cargar los datos Rolling El proceso de Rolling por su parte se aplica en los casos en que se opta por mantener varios niveles de granularidad jerarquias Para ello se almacena informacion resumida a distintos niveles correspondientes a distintas agrupaciones de la unidad de tiempo o diferentes niveles jerarquicos en alguna o varias de las dimensiones de la magnitud almacenada por ejemplo totales diarios totales semanales totales mensuales etc Procesamiento paralelo EditarArticulo principal Paralelismo informatica Un desarrollo reciente en el software ETL es la aplicacion de procesamiento paralelo Esto ha permitido desarrollar una serie de metodos para mejorar el rendimiento general de los procesos ETL cuando se trata de grandes volumenes de datos Hay 3 tipos principales de paralelismos que se pueden implementar en las aplicaciones ETL De datos Consiste en dividir un unico archivo secuencial en pequenos archivos de datos para proporcionar acceso paralelo De segmentacion pipeline Permitir el funcionamiento simultaneo de varios componentes en el mismo flujo de datos Un ejemplo de ello seria buscar un valor en el registro numero 1 a la vez que se suman dos campos en el registro numero 2 De componente Consiste en el funcionamiento simultaneo de multiples procesos en diferentes flujos de datos pertenecientes todos ellos a un unico flujo de trabajo Esto es posible cuando existen porciones dentro de un flujo de trabajo que son totalmente independientes entre ellas a nivel de flujo de datos Estos tres tipos de paralelismo no son excluyentes sino que pueden ser combinados para realizar una misma operacion ETL Una dificultad adicional es asegurar que los datos que se cargan sean relativamente consistentes Las multiples bases de datos de origen tienen diferentes ciclos de actualizacion algunas pueden ser actualizadas cada pocos minutos mientras que otras pueden tardar dias o semanas En un sistema de ETL sera necesario que se puedan detener ciertos datos hasta que todas las fuentes esten sincronizadas Del mismo modo cuando un almacen de datos tiene que ser actualizado con los contenidos en un sistema de origen es necesario establecer puntos de sincronizacion y de actualizacion Desafios EditarLos procesos ETL pueden ser muy complejos Un sistema ETL mal disenado puede provocar importantes problemas operativos En un sistema operacional el rango de valores de los datos o la calidad de estos pueden no coincidir con las expectativas de los disenadores a la hora de especificarse las reglas de validacion o transformacion Es recomendable realizar un examen completo de la validez de los datos Data profiling del sistema de origen durante el analisis para identificar las condiciones necesarias para que los datos puedan ser tratados adecuadamente por las reglas de transformacion especificadas Esto conducira a una modificacion de las reglas de validacion implementadas en el proceso ETL Normalmente los data warehouse son alimentados de manera asincrona desde distintas fuentes que sirven a propositos muy diferentes El proceso ETL es clave para lograr que los datos extraidos asincronamente de origenes heterogeneos se integren finalmente en un entorno homogeneo La escalabilidad de un sistema de ETL durante su vida util tiene que ser establecida durante el analisis Esto incluye la comprension de los volumenes de datos que tendran que ser procesados segun los acuerdos de nivel de servicio SLA Service level agreement El tiempo disponible para realizar la extraccion de los sistemas de origen podria cambiar lo que implicaria que la misma cantidad de datos tendria que ser procesada en menos tiempo Algunos sistemas ETL son escalados para procesar varios terabytes de datos para actualizar un data warehouse que puede contener decenas de terabytes de datos El aumento de los volumenes de datos que pueden requerir estos sistemas pueden hacer que los lotes que se procesaban a diario pasen a procesarse en micro lotes varios al dia o incluso a la integracion con colas de mensajes o a la captura de datos modificados CDC change data capture en tiempo real para una transformacion y actualizacion continua Herramientas ETL EditarAb Initio Barracuda Software Bitool Cognos Decisionstream Genio Hummingbird IBM Websphere DataStage Previously Ascential DataStage Informatica PowerCenter metaWORKS Document Tools Microsoft DTS incluido en SQL Server 2000 Microsoft SQL Server Integration Services SSIS a partir de MS SQL Server 2005 MySQL Migration Toolkit Oracle Data Integrator Oracle Warehouse Builder Pentaho Data Integration SAP Data Services Stratio SpartaReferencias Editar ETL What it is and why it mattersVease tambien EditarAlmacen de datos Area de stage o zona landing Conversion informatica Data mart Inteligencia empresarial Migracion de datos OLAP Datos Q1276130Obtenido de https es wikipedia org w index php title Extract transform and load amp oldid 136251828, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos