what is etl extract
Este tutorial detallado sobre el proceso ETL explica el flujo del proceso y los pasos involucrados en el proceso ETL (extracción, transformación y carga) en el almacén de datos:
Este tutorial de la serie explica: ¿Qué es el proceso ETL? Extracción de datos, transformación, carga, archivos planos, ¿qué es la puesta en escena? Ciclo ETL, etc.
¡¡Empecemos!!
=> Consulte la guía de capacitación en almacenamiento de datos perfecto aquí.
Lo que vas a aprender:
- Fundamentos del proceso ETL (extracción, transformación, carga)
- Conclusión
Fundamentos del proceso ETL (extracción, transformación, carga)
Público objetivo
- Desarrolladores y probadores de almacenamiento de datos / ETL.
- Profesionales de bases de datos con conocimientos básicos de conceptos de bases de datos.
- Administradores de bases de datos / expertos en big data que desean comprender las áreas de almacenamiento de datos / ETL.
- Graduados universitarios / Freshers que buscan trabajos de almacén de datos.
¿Qué es el proceso ETL en el almacén de datos?
Todos sabemos que el almacén de datos es una colección de grandes volúmenes de datos, para proporcionar información a los usuarios comerciales con la ayuda de herramientas de Business Intelligence.
Para cumplir con este propósito, el DW debe cargarse a intervalos regulares. Los datos del sistema se recopilan de uno o más sistemas operativos, archivos planos, etc. El proceso que lleva los datos a DW se conoce como proceso ETL. . La extracción, transformación y carga son tareas de ETL.
# 1) Extracción: Se identifican y extraen todos los datos preferidos de varios sistemas de origen, como bases de datos, aplicaciones y archivos planos. La extracción de datos se puede completar ejecutando trabajos fuera del horario comercial.
# 2) Transformación: La mayoría de los datos extraídos no se pueden cargar directamente en el sistema de destino. Según las reglas comerciales, se pueden realizar algunas transformaciones antes de cargar los datos.
Por ejemplo, los datos de una columna de destino pueden esperar datos concatenados de dos columnas de origen como entrada. Asimismo, puede haber una lógica compleja para la transformación de datos que requiera experiencia. Algunos datos que no necesitan ninguna transformación se pueden mover directamente al sistema de destino.
El proceso de transformación también corrige los datos, elimina cualquier dato incorrecto y corrige cualquier error en los datos antes de cargarlos.
# 3) Carga: Toda la información recopilada se carga en las tablas de almacenamiento de datos de destino.
Extracción de datos
La extracción de datos juega un papel importante en el diseño de un sistema DW exitoso. Los diferentes sistemas de origen pueden tener diferentes características de datos, y el proceso ETL manejará estas diferencias de manera efectiva mientras extrae los datos.
“ Mapa de datos lógicos ”Es un documento base para la extracción de datos. Esto muestra qué datos de origen deben ir a qué tabla de destino y cómo se asignan los campos de origen a los campos de la tabla de destino respectivos en el proceso ETL.
A continuación se muestran los pasos que se deben realizar durante el diseño de mapas de datos lógicos:
- Un arquitecto de almacenamiento de datos diseña el documento de mapa de datos lógicos.
- Al hacer referencia a este documento, el desarrollador ETL creará trabajos ETL y los probadores ETL crearán casos de prueba.
- En este documento se mencionarán todas las fuentes de datos específicas y los respectivos elementos de datos que respaldan las decisiones comerciales. Estos elementos de datos actuarán como entradas durante el proceso de extracción.
- Los datos de todos los sistemas de origen se analizan y se documenta cualquier tipo de anomalía en los datos para que esto ayude a diseñar las reglas comerciales correctas para dejar de extraer los datos incorrectos en DW. Estos datos se rechazan aquí.
- Una vez que los arquitectos de ETL y los analistas comerciales diseñan el modelo final de datos de origen y destino, pueden realizar un recorrido con los desarrolladores y evaluadores de ETL. Con esto, obtendrán una comprensión clara de cómo se deben realizar las reglas comerciales en cada fase de extracción, transformación y carga.
- Al revisar las reglas de mapeo de este documento, los arquitectos, desarrolladores y evaluadores de ETL deben tener una buena comprensión de cómo fluyen los datos de cada tabla como dimensiones, hechos y cualquier otra tabla.
- También se menciona aquí cualquier tipo de reglas o fórmulas de manipulación de datos para evitar la extracción de datos incorrectos. Por ejemplo, extraer solo los últimos 40 días de datos, etc.
- Es responsabilidad del equipo de ETL profundizar en los datos de acuerdo con los requisitos comerciales, para sacar todos los datos de sistemas de origen, tablas y columnas útiles para cargarlos en DW.
El documento de mapa de datos lógicos es generalmente una hoja de cálculo que muestra los siguientes componentes:
(tabla “” no encontrada /)Diagrama de flujo de extracción:
Indique la ventana de tiempo para ejecutar los trabajos en cada sistema de origen de antemano, de modo que no se pierdan datos de origen durante el ciclo de extracción.
Con los pasos anteriores, la extracción logra el objetivo de convertir datos de diferentes formatos de diferentes fuentes en un solo formato DW, que beneficia a todos los procesos ETL. Estos datos colocados de manera lógica son más útiles para un mejor análisis.
Métodos de extracción en el almacén de datos
Según los entornos de datos de origen y destino y las necesidades comerciales, puede seleccionar el método de extracción adecuado para su DW.
# 1) Métodos de extracción lógica
La extracción de datos en un sistema de almacenamiento de datos puede ser una carga completa única que se realiza inicialmente (o) puede ser cargas incrementales que ocurren cada vez con actualizaciones constantes.
con que abres archivos jar
- Extracción completa: Como sugiere el propio nombre, los datos del sistema de origen se extraen completamente a la tabla de destino. Cada vez que este tipo de extracción carga todos los datos del sistema de origen actual sin tener en cuenta las últimas marcas de tiempo extraídas. Preferiblemente, puede utilizar la extracción completa para las cargas iniciales o tablas con menos datos.
- Extracción incremental: Los datos que se agreguen / modifiquen a partir de una fecha específica se considerarán para extracción incremental. Esta fecha es específica de la empresa como la última fecha extraída (o) la fecha del último pedido, etc. Podemos hacer referencia a una columna de marca de tiempo de la propia tabla de origen (o) se puede crear una tabla separada para rastrear solo los detalles de la fecha de extracción. Hacer referencia a la marca de tiempo es un método importante durante la extracción incremental. Las lógicas sin marca de tiempo pueden fallar si la tabla DW tiene datos grandes.
# 2) Métodos de extracción física
Según las capacidades de los sistemas de origen y las limitaciones de los datos, los sistemas de origen pueden proporcionar los datos físicamente para su extracción como extracción en línea y extracción fuera de línea. Esto admite cualquiera de los tipos de extracción lógica.
- Extracción online: Podemos conectarnos directamente a cualquier base de datos del sistema de origen con las cadenas de conexión para extraer datos directamente de las tablas del sistema de origen.
- Extracción sin conexión: Aquí no nos conectaremos directamente a la base de datos del sistema de origen, sino que el sistema de origen proporciona datos explícitamente en una estructura predefinida. Los sistemas de origen pueden proporcionar datos en forma de archivos planos, archivos de volcado, registros de archivo y espacios de tabla.
Las herramientas ETL son las más adecuadas para realizar extracciones de datos complejas, cualquier número de veces para DW, aunque son caras.
Extraer datos modificados
Una vez que se completa la carga inicial, es importante considerar cómo extraer más los datos que se modifican del sistema de origen. El equipo de ETL Process debe diseñar un plan sobre cómo implementar la extracción para las cargas iniciales y las cargas incrementales, al comienzo del proyecto en sí.
En su mayoría, puede considerar la estrategia de 'columnas de auditoría' para la carga incremental para capturar los cambios de datos. En general, las tablas del sistema fuente pueden contener columnas de auditoría, que almacenan la marca de tiempo para cada inserción (o) modificación.
La marca de tiempo puede llenarse mediante activadores de la base de datos (o) desde la propia aplicación. Debe garantizar la precisión de los datos de las columnas de auditoría, incluso si se están cargando por cualquier medio, para no perder los datos modificados para cargas incrementales.
Durante la carga incremental, puede considerar la fecha y hora máximas de cuando ocurrió la última carga y extraer todos los datos del sistema de origen con la marca de tiempo mayor que la marca de tiempo de la última carga.
Al extraer los datos:
- Utilice consultas de manera óptima para recuperar solo los datos que necesita.
- No utilice mucho la cláusula Distinct, ya que ralentiza el rendimiento de las consultas.
- Utilice operadores SET como Union, Minus, Intersect con cuidado, ya que degrada el rendimiento.
- Utilice palabras clave de comparación como like, between, etc. en la cláusula where, en lugar de funciones como substr (), to_char (), etc.
Transformación de datos
La transformación es el proceso en el que se aplica un conjunto de reglas a los datos extraídos antes de cargar directamente los datos del sistema de origen en el sistema de destino. Los datos extraídos se consideran datos brutos.
El proceso de transformación con un conjunto de estándares convierte todos los datos diferentes de varios sistemas de origen en datos utilizables en el sistema DW. La transformación de datos tiene como objetivo la calidad de los datos. Puede consultar el documento de asignación de datos para conocer todas las reglas de transformación lógica.
Según las reglas de transformación, si algún dato de origen no cumple con las instrucciones, dichos datos de origen se rechazan antes de cargarse en el sistema DW de destino y se colocan en un archivo de rechazo o tabla de rechazos.
Las reglas de transformación no se especifican para los datos de las columnas de carga directa (no necesita ningún cambio) desde el origen al destino. Por lo tanto, las transformaciones de datos se pueden clasificar como simples y complejas. Las transformaciones de datos pueden implicar conversiones de columnas, reformateo de estructuras de datos, etc.
A continuación se muestran algunas de las tareas que se realizarán durante la transformación de datos:
# 1) Selección: Puede seleccionar todos los datos de la tabla o un conjunto específico de datos de columnas de los sistemas de origen. La selección de datos suele completarse en la propia Extracción.
Puede haber casos en los que el sistema de origen no permita seleccionar un conjunto específico de datos de columnas durante la fase de extracción, luego extraer todos los datos y hacer la selección en la fase de transformación.
# 2) División / unión: Puede manipular los datos seleccionados dividiéndolos o uniéndolos. Se le pedirá que divida aún más los datos de origen seleccionados durante la transformación.
Por ejemplo, Si la dirección completa se almacena en un solo campo de texto grande en el sistema de origen, el sistema DW puede solicitar dividir la dirección en campos separados como ciudad, estado, código postal, etc. Esto es fácil de indexar y analizar en función de cada componente individualmente.
Mientras que unir / fusionar datos de dos o más columnas se usa ampliamente durante la fase de transformación en el sistema DW. Esto no significa fusionar dos campos en un solo campo.
Por ejemplo, Si la información sobre una entidad en particular proviene de múltiples fuentes de datos, entonces la recopilación de la información como una sola entidad se puede llamar como unir / fusionar los datos.
# 3) Conversión: Los datos de los sistemas de origen extraídos podrían estar en diferentes formatos para cada tipo de datos, por lo tanto, todos los datos extraídos deben convertirse a un formato estandarizado durante la fase de transformación. El mismo tipo de formato es fácil de entender y de usar para las decisiones comerciales.
# 4) Resumen: En algunas situaciones, DW buscará datos resumidos en lugar de datos detallados de bajo nivel de los sistemas de origen. Porque los datos de bajo nivel no son los más adecuados para el análisis y la consulta por parte de los usuarios comerciales.
Por ejemplo, Es posible que el sistema DW no requiera datos de ventas para cada pago, las ventas diarias de subproducto (o) de las ventas diarias de la tienda son útiles. Por lo tanto, el resumen de datos se puede realizar durante la fase de transformación según los requisitos comerciales.
# 5) Enriquecimiento: Cuando se forma una columna DW combinando una o más columnas de varios registros, el enriquecimiento de datos reorganizará los campos para una mejor visualización de los datos en el sistema DW.
# 6) Revisiones de formato: Las revisiones de formato ocurren con mayor frecuencia durante la fase de transformación. El tipo de datos y su longitud se revisan para cada columna.
Por ejemplo, una columna en un sistema fuente puede ser numérica y la misma columna en otro sistema fuente puede ser un texto. Para estandarizar esto, durante la fase de transformación, el tipo de datos para esta columna se cambia a texto.
# 7) Decodificación de campos: Cuando extrae datos de varios sistemas de origen, los datos de varios sistemas pueden decodificarse de forma diferente.
Por ejemplo, un sistema fuente puede representar el estado del cliente como AC, IN y SU. Otro sistema puede representar el mismo estado que 1, 0 y -1.
Durante la fase de transformación de datos, debe decodificar dichos códigos en valores adecuados que sean comprensibles para los usuarios comerciales. Por lo tanto, los códigos anteriores se pueden cambiar a Activo, Inactivo y Suspendido.
# 8) Valores calculados y derivados: Al considerar los datos del sistema de origen, DW puede almacenar datos de columna adicionales para los cálculos. Tiene que hacer los cálculos basados en la lógica empresarial antes de almacenarlos en DW.
# 9) Conversión de fecha / hora: Este es uno de los tipos de datos clave en los que concentrarse. El formato de fecha / hora puede ser diferente en varios sistemas de origen.
Por ejemplo, una fuente puede almacenar la fecha como el 10 de noviembre de 1997. Otra fuente puede almacenar la misma fecha en formato 11/10/1997. Por lo tanto, durante la transformación de datos, todos los valores de fecha / hora deben convertirse a un formato estándar.
#10) De-duplication: En caso de que el sistema de origen tenga registros duplicados, asegúrese de que solo se cargue un registro en el sistema DW.
Diagrama de flujo de transformación:
¿Cómo implementar la transformación?
Dependiendo de la complejidad de las transformaciones de datos, puede usar métodos manuales, herramientas de transformación (o) una combinación de ambos, lo que sea efectivo.
# 1) Técnicas manuales
Las técnicas manuales son adecuadas para pequeños sistemas DW. Los analistas y desarrolladores de datos crearán los programas y scripts para transformar los datos manualmente. Este método necesita pruebas detalladas para cada parte del código.
El costo de mantenimiento puede llegar a ser alto debido a los cambios que ocurren en las reglas comerciales (o) debido a las posibilidades de obtener errores con el aumento de los volúmenes de datos. Debe cuidar los metadatos inicialmente y también con cada cambio que ocurra en las reglas de transformación.
# 2) Herramientas de transformación
Si desea automatizar la mayor parte del proceso de transformación, puede adoptar las herramientas de transformación según el presupuesto y el plazo disponible para el proyecto. Mientras automatiza, debe dedicar tiempo de buena calidad a seleccionar las herramientas, configurarlas, instalarlas e integrarlas con el sistema DW.
La transformación prácticamente completa con las herramientas en sí no es posible sin la intervención manual. Pero los datos transformados por las herramientas son ciertamente eficientes y precisos.
Para lograr esto, debemos ingresar los parámetros adecuados, las definiciones de datos y las reglas en la herramienta de transformación como entrada. A partir de las entradas proporcionadas, la propia herramienta registrará los metadatos y estos metadatos se agregarán a los metadatos generales de DW.
Si hay algún cambio en las reglas de negocio, simplemente ingrese esos cambios en la herramienta, el resto de las modificaciones de transformación serán atendidas por la propia herramienta. Por tanto, resulta eficaz utilizar una combinación de ambos métodos.
Carga de datos
Los datos extraídos y transformados se cargan en las tablas DW de destino durante la fase de carga del proceso ETL. La empresa decide cómo debe realizarse el proceso de carga para cada mesa.
El proceso de carga puede ocurrir de las siguientes formas:
- Carga inicial: Cargando los datos para poblar las respectivas tablas DW por primera vez.
- Carga incremental: Una vez que se cargan las tablas DW, el resto de los cambios en curso se aplican periódicamente.
- Actualización completa: Si alguna tabla que está en uso necesita una actualización, los datos actuales de esa tabla se eliminan por completo y luego se vuelven a cargar. La recarga es similar a la carga inicial.
Mire el siguiente ejemplo para comprender mejor el proceso de carga en ETL:
ID del Producto | nombre del producto | Fecha de venta |
---|---|---|
1 | Libro de gramatica | 3 de junio de 2007 |
2 | Marcador | 3 de junio de 2007 |
3 | Mochila trasera | 4 de junio de 2007 |
4 | Ninguno | 4 de junio de 2007 |
5 | Zapatos | 5 de junio de 2007 |
#1) Durante la carga inicial, los datos que se venden en 3rdJunio de 2007 se carga en la tabla de destino DW porque son los datos iniciales de la tabla anterior.
#2) Durante la carga incremental, necesitamos cargar los datos que se venden después de 3rdJunio de 2007. Deberíamos considerar todos los discos con fecha de venta mayor que (>) la fecha anterior para el día siguiente. Por lo tanto, en 4thJunio de 2007, busque todos los discos con fecha de venta> 3rdJunio de 2007 mediante consultas y cargue solo los dos registros de la tabla anterior.
El 5thJunio de 2007, obtenga todos los discos con fecha de venta> 4thJunio de 2007 y cargue solo un registro de la tabla anterior.
#3) Durante la actualización completa, todos los datos de la tabla anterior se cargan en las tablas DW a la vez, independientemente de la fecha de venta.
Los datos cargados se almacenan en las respectivas tablas de dimensiones (o) hechos. Los datos se pueden cargar, agregar o fusionar a las tablas DW de la siguiente manera:
# 4) Carga: Los datos se cargan en la tabla de destino si está vacía. Si la tabla tiene algunos datos, los datos existentes se eliminan y luego se cargan con los nuevos datos.
Por ejemplo,
Datos de tabla existentes
Nombre de empleado | Papel |
---|---|
John | Gerente |
Revanth | Dirigir |
Beto | Subdirector |
Ronald | Desarrollador |
Datos modificados
Nombre de empleado | Papel |
---|---|
John | Gerente |
Rohan | Director |
Chetan | AVP |
los | Vicepresidente |
Datos después de cargar
Nombre de empleado | Papel |
---|---|
John | Gerente |
Rohan | Director |
Chetan | AVP |
los | Vicepresidente |
# 5) Adjuntar: Append es una extensión de la carga anterior, ya que funciona en tablas de datos ya existentes. En las tablas de destino, Append agrega más datos a los datos existentes. Si se encuentra algún registro duplicado con los datos de entrada, puede adjuntarse como duplicado (o) puede rechazarse.
Por ejemplo,
Datos de tabla existentes
Nombre de empleado | Papel |
---|---|
John | Gerente |
Revanth | Dirigir |
Datos modificados
Nombre de empleado | Papel |
---|---|
John | Gerente |
Rohan | Director |
Chetan | AVP |
los | Vicepresidente |
Datos después de agregar
Nombre de empleado | Papel |
---|---|
John | Gerente |
Revanth | Dirigir |
Rohan | Director |
Chetan | AVP |
los | Vicepresidente |
# 6) Fusión destructiva: Aquí, los datos entrantes se comparan con los datos de destino existentes en función de la clave principal. Si hay una coincidencia, se actualiza el registro de destino existente. Si no se encuentra ninguna coincidencia, se inserta un nuevo registro en la tabla de destino.
Por ejemplo,
Datos de tabla existentes
Nombre de empleado | Papel |
---|---|
John | Gerente |
Revanth | Dirigir |
Datos modificados
Nombre de empleado | Papel |
---|---|
John | Gerente |
Revanth | Director |
Chetan | AVP |
los | Vicepresidente |
Datos después de la fusión constructiva
Nombre de empleado | Papel |
---|---|
John | Gerente |
Revanth | Director |
Chetan | AVP |
los | Vicepresidente |
# 7) Constructivo va: A diferencia de la fusión destructiva, si hay una coincidencia con el registro existente, deja el registro existente como está e inserta el registro entrante y lo marca como el último dato (marca de tiempo) con respecto a esa clave principal.
Por ejemplo,
sintaxis de c vs c ++
Datos de tabla existentes
Nombre de empleado | Papel |
---|---|
John | Gerente |
Revanth | Dirigir |
Datos modificados
Nombre de empleado | Papel |
---|---|
John | Gerente |
Revanth | Director |
Chetan | AVP |
los | Vicepresidente |
Datos después de la fusión constructiva
Nombre de empleado | Papel |
---|---|
John | Gerente |
Revanth | Director*** |
Revanth | Dirigir |
Chetan | AVP |
los | Vicepresidente |
Técnicamente, actualizar es más fácil que actualizar los datos. La actualización necesita una estrategia especial para extraer solo los cambios específicos y aplicarlos al sistema DW, mientras que Refresh solo reemplaza los datos. Pero actualizar los datos lleva más tiempo dependiendo de los volúmenes de datos.
Si tiene trabajos de actualización de este tipo para ejecutar a diario, es posible que deba apagar el sistema DW para cargar los datos. En lugar de desactivar todo el sistema DW para cargar datos cada vez, puede dividir y cargar datos en forma de pocos archivos.
Anote el tiempo de ejecución de cada carga durante la prueba. Si algún dato no puede cargarse en el sistema DW debido a discrepancias de claves, etc., déles la forma de manejar ese tipo de datos. Asegúrese de que los datos cargados se prueben a fondo.
Diagrama de flujo de carga:
Archivos planos
Los archivos planos se utilizan ampliamente para intercambiar datos entre sistemas heterogéneos, desde diferentes sistemas operativos de origen y desde diferentes sistemas de bases de datos de origen hasta aplicaciones de almacenamiento de datos. Los archivos planos también son más eficientes y fáciles de administrar para sistemas homogéneos.
Los archivos planos se utilizan principalmente para los siguientes propósitos:
# 1) Entrega de datos fuente: Es posible que haya pocos sistemas de origen que no permitan a los usuarios de DW acceder a sus bases de datos por motivos de seguridad. En tales casos, los datos se entregan a través de archivos planos.
De manera similar, los datos provienen de proveedores externos o sistemas de mainframes esencialmente en forma de archivos planos, y estos serán FTP por los usuarios de ETL.
# 2) Mesas de trabajo / preparación: El proceso ETL crea tablas de preparación para su propósito interno. La asociación de las tablas de preparación con los archivos planos es mucho más fácil que el DBMS porque las lecturas y escrituras en un sistema de archivos son más rápidas que insertar y consultar una base de datos.
# 3) Preparación para carga a granel: Una vez realizados los procesos de extracción y transformación, si la herramienta ETL no admite la carga masiva in-stream (o) si desea archivar los datos, puede crear un archivo plano. El procesador lee estos datos de archivo sin formato y los carga en el sistema DW.
Los archivos planos se pueden crear de dos formas: 'Archivos planos de longitud fija' y 'Archivos planos delimitados'. Los programadores que trabajan para el sistema fuente pueden crear archivos planos.
Veamos cómo procesamos estos archivos planos:
Procesamiento de archivos planos de longitud fija
En general, los archivos planos son columnas de longitud fija, por lo que también se denominan archivos planos posicionales. A continuación se muestra el diseño de un archivo plano que muestra los campos exactos y sus posiciones en un archivo.
Nombre del campo | Largo | Comienzo | Fin | Escribe | Comentarios |
---|---|---|---|---|---|
Nombre de pila | 10 | 1 | 10 | Texto | Nombre del cliente |
Segundo nombre | 5 | 11 | 15 | Texto | Segundo nombre del cliente |
Apellido | 10 | 16 | 25 | Texto | Apellido del cliente |
El diseño contiene el nombre del campo, longitud, posición inicial en la que comienza el carácter de campo, la posición final en la que termina el carácter de campo, el tipo de datos como texto, numérico, etc., y comentarios si los hay.
Dependiendo de las posiciones de los datos, el equipo de pruebas ETL validará la precisión de los datos en un archivo plano de longitud fija.
Procesamiento de archivos planos delimitados
En Archivos planos delimitados, cada campo de datos está separado por delimitadores. Este delimitador indica la posición inicial y final de cada campo. En general, se utiliza una coma como delimitador, pero puede utilizar cualquier otro símbolo o un conjunto de símbolos.
Los archivos delimitados pueden tener la extensión .CSV (o) la extensión .TXT (o) sin extensión. Los desarrolladores que crean los archivos ETL indicarán el símbolo delimitador real para procesar ese archivo. En el diseño de archivo delimitado, la primera fila puede representar los nombres de las columnas.
Al igual que los archivos planos posicionales, el equipo de pruebas ETL validará explícitamente la precisión de los datos del archivo plano delimitado.
Propósito del área de preparación
El objetivo principal del área de preparación es almacenar datos temporalmente para el proceso ETL. El área de preparación se conoce como la trastienda del sistema DW. El arquitecto ETL decide si almacenar datos en el área de preparación o no.
La puesta en escena ayudará a obtener los datos de los sistemas de origen muy rápidamente. Al mismo tiempo, en caso de que falle el sistema DW, no es necesario que vuelva a iniciar el proceso mediante la recopilación de datos de los sistemas de origen si los datos de preparación ya existen.
Después del proceso de extracción de datos, estas son las razones para organizar los datos en el sistema DW:
# 1) Recuperación: Las tablas de preparación completadas se almacenarán en la propia base de datos DW (o) se pueden mover a sistemas de archivos y se pueden almacenar por separado. En algún momento, los datos de ensayo pueden actuar como datos de recuperación si falla alguna transformación o paso de carga.
Puede haber posibilidades de que el sistema de origen haya sobrescrito los datos utilizados para ETL, por lo que mantener los datos extraídos en la preparación nos ayuda para cualquier referencia.
# 2) Copia de seguridad: Es difícil recuperar grandes volúmenes de tablas de bases de datos DW. Pero las copias de seguridad son imprescindibles para cualquier recuperación ante desastres. Por lo tanto, si tiene los datos de ensayo que son datos extraídos, puede ejecutar los trabajos para la transformación y carga, por lo que los datos bloqueados se pueden volver a cargar.
Para realizar una copia de seguridad de los datos de ensayo, puede mover con frecuencia los datos de ensayo a sistemas de archivos para que sea fácil de comprimir y almacenar en su red. Siempre que sea necesario, simplemente descomprima los archivos, cárguelos en las tablas de preparación y ejecute los trabajos para volver a cargar las tablas DW.
# 3) Auditoría: A veces, se puede realizar una auditoría en el sistema ETL para verificar el enlace de datos entre el sistema de origen y el sistema de destino. Los auditores pueden validar los datos de entrada originales con los datos de salida según las reglas de transformación.
Los datos de preparación y la copia de seguridad son muy útiles aquí, incluso si el sistema de origen tiene los datos disponibles o no. Como auditoría puede ocurrir en cualquier momento y en cualquier período de los datos presentes (o) pasados. La arquitectura del área de preparación debe estar bien planificada.
Diseño del área de preparación
En el almacén de datos, los datos del área de preparación se pueden diseñar de la siguiente manera:
Con cada nueva carga de datos en tablas de etapas, los datos existentes se pueden eliminar (o) mantener como datos históricos para referencia. Si se borran los datos, se denomina “Área de preparación transitoria”.
Si los datos se mantienen como historial, entonces se denomina “área de preparación persistente”. También puede diseñar un área de preparación con una combinación de los dos tipos anteriores que sea 'Híbrida'.
Estas son las reglas básicas que se deben conocer al diseñar el área de preparación:
- Solo el equipo de ETL debe tener acceso al área de preparación de datos. La consulta de los datos de ensayo está restringida a otros usuarios.
- El arquitecto de datos ETL puede agregar, modificar o eliminar tablas en el área de preparación sin involucrar a ningún otro usuario. Como el área de preparación no es un área de presentación para generar informes, solo actúa como un banco de trabajo.
- El arquitecto ETL debe estimar la medida de almacenamiento de datos del área de preparación para proporcionar los detalles a los administradores de OS y DBA. Los administradores asignarán espacio para almacenar bases de datos, sistemas de archivos, directorios, etc.
Si el área de preparación y la base de datos DW utilizan el mismo servidor, puede mover fácilmente los datos al sistema DW. Si los servidores son diferentes, utilice enlaces de bases de datos FTP (o).
Flujo de proceso ETL
Un ciclo ETL estándar pasará por los siguientes pasos del proceso:
- Inicie el ciclo ETL para ejecutar trabajos en secuencia.
- Asegúrese de que todos los metadatos estén listos.
- El ciclo ETL ayuda a extraer los datos de varias fuentes.
- Valide los datos extraídos.
- Si se utilizan tablas de etapas, el ciclo ETL carga los datos en las etapas.
- ETL realiza transformaciones aplicando reglas de negocio, creando agregados, etc.
- Si hay alguna falla, entonces el ciclo ETL lo hará notar en forma de informes.
- Luego, el ciclo ETL carga datos en las tablas de destino.
- Se archivan los datos anteriores que deben almacenarse para referencia histórica.
- El resto de los datos que no necesitan almacenarse se limpian.
Diagrama de flujo del proceso ETL:
Conclusión
En este tutorial, aprendimos sobre los conceptos principales del proceso ETL en Data Warehouse. A estas alturas, debería poder comprender qué es la extracción de datos, la transformación de datos, la carga de datos y el flujo del proceso ETL.
¡Lea el próximo tutorial para saber más sobre las pruebas de almacenamiento de datos!
=> Visite aquí para conocer la serie exclusiva de almacenamiento de datos.
Lectura recomendada
- Tutorial de pruebas de almacenamiento de datos con ejemplos | Guía de prueba ETL
- Las 10 mejores herramientas de mapeo de datos útiles en el proceso ETL (2021 LIST)
- Tutorial de pruebas de almacenamiento de datos de pruebas ETL (una guía completa)
- Minería de datos: procesos, técnicas y problemas principales en el análisis de datos
- Proceso de minería de datos: modelos, pasos del proceso y desafíos involucrados
- Preguntas y respuestas de la entrevista de prueba ETL
- Las 10 mejores herramientas de prueba de ETL en 2021
- Las 10 principales herramientas de almacenamiento de datos y tecnologías de prueba más populares