• No se han encontrado resultados

4.3. Implementación

4.3.5 Proceso de Extracción, Transformación y Carga (ETL)

Para ejecutar el proceso de ETL, se consideraron otras tareas adicionales para mejorar el performance de la Solución, los cuales son:

a. Extracción de Datos b. Transformación de Datos c. Carga de Datos d. Controlador de Eventos e. Transacciones f. Puntos de Control

Un proyecto de ETL puede contener muchas soluciones, de esta forma logrando más claridad al desarrollarlas, separando cada una de ellas para que desarrolle un proceso especifico.

Antes de todo necesario preparar los archivos donde se almacenarán todos los datos que serán modificados o eliminados de las fuentes de datos originales, para esto cada

BIBLIOTECA

DE CIENCIAS

FÍSICAS

proceso importante dentro del ETL estar dentro de un contenedor de Secuencia, en caso se realice correctamente la tarea pasará a ejecutar el siguiente, en caso contrario se enviará un correo de que la tarea no se pudo ejecutar (ver figura 13).

Figura 13 Contenedor de Paquete de Solucion.

Dentro del primer contenedor se encontrará una tarea que llamará a una solución dentro del mismo proyecto que preparará los archivos Logs que serán utilizados dentro del proyecto (ver figura 14).

Figura 14 Procesos para eliminar y crear los Archivos Logs.

a. Extracción de Datos

Para la Limpieza de los Datos se optó por crear un Procedimiento Almacenado que limpia todas las tablas, para luego poblar desde cero otra vez las tablas. Este paso es

BIBLIOTECA

DE CIENCIAS

FÍSICAS

recomendable ya que si se ejecutase más de una vez el ETL, causaría redundancia en los datos (ver figura 15)

Figura 15 Procedimiento Almacenado de Limpieza.

Esta tarea de limpieza de las tablas será la primera en el proceso principal de ETL en ejecutarse, y también se encontrará dentro de un contenedor de secuencia.

Para la limpieza de todas las Tablas, primero se ha seleccionado las tablas en grado a su dependencia, de mayor dependencia a menor. La ejecución del Procedimiento Almacenado para la limpieza de los datos será lo primero que se ejecutará, si esto es satisfactorio procederá a pasar al paso de la Extracción de los Datos (ver figura 16).

BIBLIOTECA

DE CIENCIAS

FÍSICAS

Figura 16 Vista de Data Flows del Proyecto.

La extracción de los datos se realizará de las Fuentes de Datos (MySql, dBase, Excel, Bloc de Notas), para ello se eligió como herramienta al Integration Services de Visual Studio, este contribuyó a la extracción de los diferentes repositorios de los datos y su posterior transformación para que puedan ser cargados en la Base de Datos de la Aplicación. Una vez ya teniendo modelado nuestra Base de Datos se procedió a extraer de los distintos orígenes de datos como dBase y MySql. Luego ya de haber creado las conexiones de nuestros Orígenes de Datos, se procede a la extracción de la Data de las distintas fuentes, ya sea dBase, MySql o Excel (ver figura 17)

Figura 17 Vista de Control Flow de los Repositorios

Para cada tarea de extracción de datos se tendrá que configurar un origen de esos datos, ya que utilizarán datos desde repositorios en común se crearán conexiones globales para reutilizarlas.

BIBLIOTECA

DE CIENCIAS

FÍSICAS

Figura 18 Vista de Orígenes de Datos.

b.Transformar los Datos

Para la Transformación se crearon Tareas Secuenciales las cuales permiten poder trabajar con los datos extraídos desde los repositorios.

Estas tareas permiten poder hacer conversiones de datos, copiar columnas, ordenar columnas, filtrar datos de acuerdo a una determinada condición.

En la mayoría de las tareas se tuvieron que transformar los datos para que sean homologados con el repositorio de destino, pero en muchos casos también se tuvieron que realizar tareas adicionales para respetar la integridad de los datos. (ver figura 19).

Figura 19 Vista de Transformación de Datos de una Tarea

Así mismo se tuvo que realizar inserciones extrayendo desde distintos orígenes de datos para los cual se realizaron combinaciones entre estos. (ver figura 20).

BIBLIOTECA

DE CIENCIAS

FÍSICAS

Figura 20 Vista de una Transformación Condicional de una Tarea.

Para la migración de datos de los alumnos se considera un archivo en Excel ofrecida por la Oficina de Computo y comparándola con la que se tiene por la Migración, si lo datos de los alumnos ya están ingresados no se volverán a ingresar. (ver figura 21).

Figura 21 Vista de Transformación de para Ingresar Nuevos Alumnos.

c. Cargar Datos

Para cargar la Base de Datos Integrada se tiene que tener un orden, ya que hay tablas dentro de ésta que tienen dependencias una de otras, es por eso que se tiene que tener un

BIBLIOTECA

DE CIENCIAS

FÍSICAS

orden al realizar la carga, desde las tablas que tienen menos dependencias hasta las que tienen más dependencias .

Para la limpieza se eliminaron y actualizaron los datos ya migrados, pero se crearon archivos en Excel como Logs para guardar los datos que se están eliminando y actualizando de la migración. (ver figura 22).

Figura 22 Vista de Carga de Datos.

Una vez ejecutada la transformación de los datos se envía un correo al Administrador del Sistema adjuntando los archivos de Excel Logs a su correo indicándole que la migración se ejecutó correctamente. (ver figura 23).

Figura 23 Vista de Envío de Correo a Destinatarios.

BIBLIOTECA

DE CIENCIAS

FÍSICAS

d. Controlar Eventos

En caso falle el proceso de limpiado de tablas se enviara un mensaje al Administrador del Sistema indicando que la migración no fue ejecutada correctamente. Para lo cual en los eventos de este Contenedor se tendrá que programar un Script de envío de mensajes. (ver figura 24)

Figura 24 Vista de Controlador de Eventos.

Esta Tarea se programará en C#, y dentro de la cual se crearán funciones para el envío de Correo (ver figura 25).

Figura 25 Vista de Función para enviar Correo.

Así mismo para ganar más independencia en el proyecto se harán uso de variables dentro del mismo, para de esta forma si en algún momento deseamos cambiar de correo

BIBLIOTECA

DE CIENCIAS

FÍSICAS

destinatario, mensaje o cuerpo del correo no se tenga que entrar y volver a generar el correo (ver figura 26).

Figura 26 Vista de Variables del Proyecto.

El administrador del Sistema recibirá un mensaje en caso ocurriese algún problema en la limpieza de los datos o algún problema en la Migración (ver figura 27)

Figura 27 Mensaje de Error a la Migración de Datos

BIBLIOTECA

DE CIENCIAS

FÍSICAS

e. Transacciones

El concepto de transacción en Base Datos se refiere a que se debe mantener integridad en los datos. No solo basta avisar con un mensaje al Administrador del Sistema que alguna tarea no se realizó correctamente, sino también todo el proceso no debería repercutir en la base de datos, ya que podría haber inconsistencia y problemas de integridad, es por eso que este concepto de transacciones se puede ejecutar como parte del proceso de ETL, logrando así que el proceso no quede en un estado intermedio, para lo cual al principio de cada grupo de tareas se abrirá una transacción y si todo se ejecuta correctamente se confirmará esta transacción , también de esta forma confirmado todas las tareas (ver figura 28)

Figura 28 Vista de Transacción en Procedimiento Almacenado.

f. Puntos de Control

En caso falle alguna tarea durante el proceso el cual no esté ligado a la integridad de datos, no debería ser ejecutado otra vez, sino pasar a la siguiente tarea, en caso se haya ejecutado correctamente, logrando de esta forma que si se ejecuta de nuevo la solución ya no recorra las tareas que se ejecutaron correctamente, evitando así minimizar el tiempo.

BIBLIOTECA

DE CIENCIAS

FÍSICAS

Documento similar