Sei sulla pagina 1di 19

AA5-EV1-VALIDACION DE TECNICAS DE MIGRACION Y

HERRAMIENTAS ETCL

Presentado por:

VICTOR MANUEL MANTILLA


C.C.91232795

ESPECIALIZACION BASE DE DATOS


SENA
SEPTIEMBRE 2019
ALCALDIA DE SAN ANTONIO DEL SENA
MIGRACIÓN: SECRETARÍA DE HACIENDA
TÉCNICAS EXISTENTES
Existen varias técnicas relacionadas con los procesos de migración de datos, a
continuación, se relacionan las más utilizadas en los procesos actuales.
SINCRONIZACIÓN DE BASE DE DATOS
Es una técnica muy utilizada en procesos de migración de datos, consiste en hacer que
dos bases de datos sean equivalentes en el mismo tiempo.
Se logra mediante la copia de datos y metadatos de una base de datos origen a una base
de datos destino mediante una herramienta tecnológica. Los asistentes de sincronización
de los SMBD son configurados con las bases de datos origen y la base de datos destino,
parametrizando la ubicación de particiones y métodos de seguridad.
IMPORTACIÓN/EXPORTACIÓN DE ARCHIVOS (CSV) O XML A TRAVÉS DE
COMANDOS DE CONSOLA O INTERFAZ GRÁFICA
Para las actividades de migración de datos es muy común utilizar archivos para el
movimiento de los datos. Se pueden utilizar diferentes tipos de archivos, pero los formatos
más usados son los archivos de texto, llamados archivos planos, que guardan la
información sin formato usando solo caracteres.
Los sistemas de codificación más comunes para estos archivos son: ASCII, ISO-8859-1 o
Latín-1 y Unicode.
Los archivos de texto pueden tener formato delimitado utilizando coma (,), punto y coma
(;) o Tabulaciones para delimitar los campos definiendo de esa forma columnas y filas.
También pueden tener formato de ancho fijo para los campos, que se utiliza para delimitar
columnas y filas.
Un formato de archivo plano muy usado es el “.CSV” (Comma-Separated-Values, en
español Valores Separados por Coma), donde el delimitador usado es una coma. Muy
usado para movimientos de datos con hojas de cálculo.
Otro formato útil para la migración de datos es el “.XML” (eXtensible Marckup Language),
que utiliza un metalenguaje extensible de etiquetas las cuales sirven como estándar para
intercambio de información estructurada entre distintas plataformas.
SENTENCIAS DML
Una posibilidad de los SMBD es la utilización de sentencias DML para generar scripts
SQL que permiten realizar migraciones de bases de datos existentes.
En un script SQL se pueden realizar las siguientes tareas:

 Copia de seguridad para creación de todos los usuarios, grupos, inicios de sesión
y permisos.
 Creación o actualización de código para la implementación de una base de datos.
 Creación de un entorno de pruebas.
Los procesos se orientan al uso de las sentencias DML, para realizar el paso de datos de
la base de datos de origen a la base de datos destino, a través de los entornos
administrativos de los SMBD.

PROCEDIMIENTOS ETCL (EXTRACCIÓN, TRANSFORMACIÓN, LIMPIEZA Y CARGA)


Esta técnica se basa en el diseño y construcción de procedimientos técnicos para realizar
Extracción, Transformación, Limpieza y Cargue de Datos (ETCL). Los procedimientos o
pasos necesarios para el desarrollo de un proyecto de migración de datos utilizando la
metodología ETCL son:

En todo proceso de migración, se ha de proceder a integrar dos o más sistemas por lo


cual pueden usarse diferentes técnicas, siendo las más comunes:

 Perfilado de datos: Permite explorar los propios datos, agregando a los de origen
las reglas necesarias. Esta técnica hace posible también el obtener resultados
acerca de duplicidades o errores en los datos.
 Limpieza de datos: Puede llevarse a cabo empleando para ello una herramienta
de Data Quality que ayude a eliminar errores, incorrecciones o duplicidades, entre
otras inconsistencias; y que, al mismo tiempo, enriquezca y homologue los datos,
preparándolos para el sistema de destino.
 Conexión a distintas fuentes de datos: Técnica que precisa de una herramienta
ad hoc que garantice el hacerlo en condiciones de simultaneidad.
Las ventajas que proporciona el usar estas tecnologías se traducen en un aumento de la
precisión, reducción del índice de errores, mayor agilidad y optimización del tiempo; ya
que su automatización evita los procesos manuales, algo que supone su principal
beneficio.
QUÉ SE DEBE TENER EN CUENTA PARA LA ELECCIÓN DEL SOFTWARE DE ETL
Existen muchas herramientas de ETL diferentes, como también hay infinidad de bases de
datos, sistemas y organizaciones distintas. En el momento de seleccionar la que liderará
la migración e integración de datos pueden tomarse en consideración las
recomendaciones de Gartner en cuanto a las cualidades que la herramienta ha de
presentar:

 Adaptabilidad a distintos sistemas operativos y plataformas hardware.


 Capacidades de gestión de datos: en cuanto a minería, perfilado y calidad.
 Habilidades para monitorizar, gestionar y controlar los procesos de integración de
datos: en lo relativo a gestión de errores, recolección de estadísticas de ejecución,
controles de seguridad, etc.
 Capacidades SOA.
 Capacidades de diseño y entorno de desarrollo: como soporte para test,
representaciones gráficas, modelos y flujos de datos y flujos de datos, etc.
 Cualidades de arquitectura e integración referidas al grado de interoperabilidad,
compactación y consistencia de los diferentes componentes que la formen.
Aunque la elección de un software de ETL no es sencilla, su repercusión en el curso del
proyecto es decisiva. Una decisión correcta pasa por la automatización y en base a ella
quedan garantizados:

 Un aumento en la velocidad de desarrollo del proyecto.


 La descentralización del control de la ejecución y de todos los procesos.
 Una mayor agilidad en el negocio.
 Mayor precisión.
 Minimización de errores.
HERRAMIENTAS ETCL
Las herramientas ETL no tienen por qué utilizarse sólo en entornos de
Data Warehousing o construcción de un DW, sino que pueden ser
útiles para multitud de propósitos, como, por ejemplo:

 Tareas de Bases de datos: 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, nuestro entorno ERP y la Web de ventas).

 Consolidación de datos: sistemas con grandes volúmenes de


datos que son consolidadas en sistemas paralelos para mantener
históricos o para procesos de borrado en los sistemas originales.

 Interfases de datos con sistemas externos: envió de información


a clientes, proveedores. Recepción, proceso e integración de la
información recibida.

 Interfases con sistemas Frontoffice: interfases de subida/bajada


con sistemas de venta.

 Otros cometidos: Actualización de usuarios a sistemas paralelos,


preparación de procesos masivos (mailings, newsletter), etc.

Para que nos hagamos una idea de las herramientas ETL más
importantes, podemos leer el informe Gartner, que es una comparativa
de las productos más importantes del mercado, posicionándolos en
el según diferentes criterios, y hablando de las ventajas y puntos de
riesgo de cada fabricante.
Fuente: Gartner

Las características más importantes que ha de incluir un software ETL


según Gartner son las siguientes:

 Conectividad / capacidades de Adaptación (con soporte a


origenes y destinos de datos): habilidad para conectar con un
amplio rango de tipos de estructura de datos, que incluyen bases
de datos relacionales y no relacionales, variados formatos de
ficheros, XML, aplicaciones ERP, CRM o SCM, formatos de
mensajes estándar (EDI, SWIFT o HL7), colas de mensajes,
emails, websites, repositorios de contenido o herramientas de
ofimática.

 Capacidades de entrega de datos: habilidad para proporcionar


datos a otras aplicaciones, procesos o bases de datos en varias
formas, con capacidades para programación de procesos batch, en
tiempo real o mediante lanzamiento de eventos.
 Capacidades de transformación de datos: habilidad para la
transformación de los datos, desde transformaciones básicas
(conversión de tipos, manipulación de cadenas o cálculos simples),
transformaciones intermedias (agregaciones, sumarizaciones,
lookups) hasta transformaciones complejas como análisis de texto
en formato libre o texto enriquecido.

 Capacidades de Metadatos y Modelado de Datos: recuperación


de los modelos de datos desde los orígenes de datos o
aplicaciones, creación y mantenimiento de modelos de datos,
mapeo de modelo físico a lógico, repositorio de metados abierto
(con posibilidad de interactuar con otras herramientas),
sincronización de los cambios en los metadatos en los distintos
componentes de la herramienta, documentación, etc.

 Capacidades de diseño y entorno de desarrollo: representación


gráfica de los objetos del repositorio, modelos de datos y flujos de
datos, soporte para test y debugging, capacidades para trabajo en
equipo, gestión de workflows de los procesos de desarrollo, etc.

 Capacidades de gestión de datos (calidad de datos, perfiles y


minería).

 Adaptación a las diferentes plataformas hardware y sistemas


operativos existentes: Mainframes (IBM Z/OS), AS/400, HP
Tandem, Unix, Wintel, Linux, Servidores Virtualizados, etc.

 Las operaciones y capacidades de administración: habilidades


para gestión, monitorización y control de los procesos de
integración de datos, como gestión de errores, recolección de
estadísticas de ejecución, controles de seguridad, etc.

 La arquitectura y la integración: grado de compactación,


consistencia e interoperabilidad de los diferentes componentes que
forman la herramienta de integración de datos (con un deseable
mínimo número de productos, un único repositorio, un entorno de
desarrollo común, interoperabilidad con otras herramientas o vía
API), etc.

 Capacidades SOA.
Observamos que, en el informe del año 2009, se incluye por primera vez
un software ETL Open Source, que es Talend. También se habla
de Pentaho, cuya herramienta Kettle, también es Open Source. Ambas
herramientas serán las que utilizamos en nuestro proyecto para la
construcción de los procesos ETL.

Interfaz Grafico de la herramienta ETL Talend

A continuación, indicamos algunos links interesantes sobre herramientas


ETL:

 Comparando soluciones ETL Open Source y comerciales.


(beyenetwork.es).

 Herramientas ETL (o mundo ETL). (mundobi.wordpress.com).

 Herramientas ETL en Dataprix


Podemos echar un vistazo al directorio EOS de productos
OpenSource para ver otros productos de Software ETL Open Source,
así como valoraciones de estos y casos reales de uso.

La elección de un software de ETL puede ser una tarea compleja que va


a tener mucha repercusión en el desarrollo posterior de un proyecto.
Podéis ver la comparativa de ETL´s OpenSource vs ETL´s Propietarias a
continuación (gracias a http://www.jonathanlevin.co.uk/). Aquí se habla
de que las herramientas ETL Open Source ya están empezando a ser
una alternativa real a los productos existentes y se están desarrollando
con rapidez.

APLICACIÓN DE USO LIBRE


Benetl: Es una herramienta ETL de uso libre, desarrollada entre los años 2007 – 2014,
hecha en java y trabaja con base a lenguajes de base de datos PostgreSQL o MySQL.
Esta herramienta se creó para facilitar el trabajo con archivos TXT, CSV o archivos de
fuente de datos XML. Para recuperar los datos que tendrán que definir un dato de tiempo
y una entidad, que está representado por datos a calcular o para mostrar. Todos los
objetos útiles serán creados por Benetl dentro de una base de datos MySQL o
PostgreSQL. La aplicación también es capaz de recuperar automáticamente los datos
mediante el uso de diversas tareas planificadas de su sistema.
Mediante el uso de Benetl podrá se ha podido recuperar fácilmente la información de los
archivos de datos planos, la organización y el filtrado de acuerdo con su dato de tiempo y
entidad.

Caracteristicas Benetl

 Tecnologias:
 Java 7 update 80
 PostgreSQL 9.5.0 (con el apoyo plpgsql)
 MySQL 5.6 con función de OLD_PASSWORD de inicio de sesión de
usuario (para controlador suministrado)
 Con Windows (se utiliza "tareas programadas")
 Benetl 4.7 funciona en Linux.
 Requerimientos Tecnicos:
 ejecución de Java (JRE) 1.7
 base de datos PostgreSQL 9.5 con soporte plpgsql
 base de datos de MySQL 5.6 con OLD_PASSWORD la función de inicio de
sesión de usuario o el controlador oficial de MySQL (no incluido)
 Probado en sistemas de 64 bits
 Ejemplo: Nombre EtlTool… Definir Nombre, Este nombre es también el nombre de
la tabla de PostgreSQL o tabla de MySQL donde se almacenan las líneas de
datos.
Un archivo llamado "EtlTool.bat" se creará en la carpeta de origen de datos.
Debe presionar enter para validar su nombre EtlTool, y luego se pueden guardar
los parámetros.

APLICACIÓN SMBD SELECCIONADO


1. SQL SERVER INTEGRATION SERVICES:
Microsoft Integration Services es una plataforma para la creación de soluciones
empresariales de transformaciones de datos e integración de datos. Integration Services
sirve para resolver complejos problemas empresariales mediante la copia o descarga de
archivos, el envío de mensajes de correo electrónico como respuesta a eventos, la
actualización de almacenamientos de datos, la limpieza y minería de datos, y la
administración de objetos y datos de SQL Server. Los paquetes pueden funcionar en
solitario o junto con otros paquetes para hacer frente a las complejas necesidades de la
empresa. Integration Services puede extraer y transformar datos de diversos orígenes
como archivos de datos XML, archivos planos y orígenes de datos relacionales y,
después, cargar los datos en uno o varios destinos.
Integration Services contiene un variado conjunto de tareas y transformaciones
integradas, herramientas para la creación de paquetes y el servicio Integration Services
para ejecutar y administrar los paquetes. Las herramientas gráficas de Integration
Services se pueden usar para crear soluciones sin escribir una sola línea de código.
También se puede programar el amplio modelo de objetos de Integration Services para
crear paquetes mediante programación y codificar tareas personalizadas y otros objetos
de paquete.
El SSIS Import/Export Wizard permite mover datos de origen a destino sin modificar los
datos del origen y permitiendo hacer iteraciones y cambios de información antes de llegar
al destino dentro de tablas de ETL. Se pueden importar datos de fuentes diferentes a SQL
Server.
Con la herramienta Business Intelligence Development Studio, se pueden realizar tareas
de migración fácilmente usando tareas visuales. Si se desea crear nueva funcionalidad,
se pueden crear scripts en c# o VB.
Los paquetes, que son las unidades de almacenamiento de estas tareas de migración se
pueden guardar en archivos dtsx o en la base de datos en formato XML.
Una vez implementado el paquete puede ser depurado.
Caracteristicas SSIS

 Ultima Version: SQL Server 2014 Integration Services


 Requerimientos Técnicos:
 Instalar en un equipo de 64 bits
 Instalar en un servidor dedicado para ETL
 Si requiere las características en tiempo de diseño de Integration Services,
también debe instalar Business Intelligence Development Studio.
 Si necesita las versiones de 32 bits de las herramientas y del motor en tiempo de
ejecución de Integration Services para ejecutar ciertos paquetes en modo de 32
bits, también debe instalar Business Intelligence Development Studio.

2. ORACLE WAREHOUSE BUILDER:


Es una complete herramienta para todos los aspectos de administración de datos y
metadatos. Esta brinda características para asegurar la calidad de datos, que integran el
modelado relacional y multidimensional y que permiten la administración de todo el ciclo
de vida de datos y metadatos
Enterprise ETL Option

La opción empresarial ETL (Enterprise ETL Option) para Warehouse Builder es una
opción que puede ser adquirida con Oracle Warehouse Builder como parte de la edición
empresarial del motor de base de datos (Oracle DB Enterprise Edition).
Figura 1 Opciones de Warehouse Builder.
Este resumen ejecutivo cubre únicamente la ETL Enterprise Option como se muestra en la figura 1.

Opciones Avanzadas para Carga de Datos

En grandes implementaciones, más y más procesos se ejecutan en paralelo, agotando


los recursos debido a las grandes cantidades de datos que participan en la carga.

Como parte de la Enterprise ETL Option, Warehouse Builder permite ejecutar cargas de
datos usando métodos rápidos y eficientes tales como el Oracle Data Pump y
transportable tablespaces. Esta es una aproximación completamente diferente al
movimiento de datos que se realiza por medio de conjuntos de datos controlados por el
motor de base de datos. Los incrementos en velocidad de carga se deben entonces a la
omisión de las capas SQL tradicionales.

Soporte a Dimensiones Lentamente Cambiantes Integrado

En Warehouse Builder la lógica de dimensiones lentamente cambiantes es diseñada en


los metadatos de la dimensión. La dimensión captura toda la lógica que será aplicada a
los datos que se insertan dentro de la misma.
Figura 2. Dimensiones Lentamente Cambiantes

Una vez, los usuarios de negocio han decidido que atributos son importantes, el
modelador de datos diseña la dimensión. Con los pasos de ETL el desarrollador ve esta
dimensión como cualquier otra. El siguiente paso es definir cómo efectuar los cambios y
actualizaciones en la dimensión. Warehouse Builder automatiza esto basado en la
definición de la dimensión. La combinación entre estos pasos, el diseño y la
estandarización hacen que los procesos relacionados con dimensiones lentamente
cambiantes presente un alto desempeño en su ejecución.

Traza Lineal de Principio a Fin

Los servicios de administración de dependencias (Warehouse Builder Dependency


Management) le permiten prever el efecto que puedan tener los cambios que se hagan
en cualquier lugar de los metadatos del sistema ETL antes de que estos puedan afectarlo
y deterióralo.
Figura 3. Propagando cambios en el sistema.

Por primera vez, tendrá la posibilidad de administrar los cambios de su sistema de


manera proactiva. Como un ejemplo (Figura 3), usted puede propagar los cambios a
través de su sistema haciendo uso el Mapping Editor.
Administración de Configuraciones Avanzadas

Tener que mover sistemas o aplicaciones de un ambiente a otro (por ejemplo de


desarrollo a producción) es un problema frecuente.

Con la Enterprise ETL Option de Warehouse Builder, es posible generar un modelo para
configurar los ambientes de desarrollo, pruebas y producción a niveles separados. Para
mover los cambios desde el ambiente de desarrollo a producción, el código generado en
desarrollo es modificado en producción solo en áreas específicas. Por ejemplo, la
información sobre las conexiones es substituida por la definida en desarrollo.
VENTAJAS, DESVENTAJAS, TIEMPOS Y COSTO DE LAS HERRAMIENTAS.

Técnica Descripción
Es una técnica muy utilizada en procesos de migración de datos, consiste en hacer que dos
bases de datos sean equivalentes en el mismo tiempo.
Se logra mediante la copia de datos y metadatos de una base de datos origen a una base
de datos destino mediante una herramienta tecnológica. Los asistentes de sincronización
Sincronización
de los SMBD son configurados con las bases de datos origen y la base de datos destino,
de base de
parametrizando la ubicación de particiones y métodos de seguridad.
datos

Requerimientos Ventajas Desventajas Tiempo


técnicos
SQL SERVER  Es un sistema de gestión  Utiliza mucho la memoria RAM 3 semanas.
INTEGRATION SQL Server de base de datos. para las instalaciones y
Estándar  Es útil para manejar y utilización de software. Semana 1:
SERVICES obtener datos de la red de  No se puede utilizar como Análisis de
redes. practicas porque se prohíben datos
 Nos permite olvidarnos de muchas cosas, tiene
los ficheros que forman la restricciones en lo particular. Semana 2:
base de datos.  La relación, calidad y el precio Migración y
 Si trabajamos en una red está muy debajo comparado con validación de
social nos permite oracle. información
agregar otros servidores  Tiene muchos bloqueos a nivel
de SQL Server. Por de página, un tamaño de página Semana 3:
ejemplo, dos personas fijo y demasiado pequeño, una Optimización
que trabajan con SQL pésima implementación de los de proceso
Server, uno de ellos se tipos de datos variables.
puede conectar al
servidor de su otro
compañero y así se
puede ver las bases de
datos del otro compañero
con SQL Server.
 SQL permite administrar
permisos a todo. También
permite que alguien
conecte su SQLO al
nuestro, pero sin embargo
podemos decirle que no
puede ver esta base de
datos, pero otro sí.
ORACLE Oracle Estándar  Oracle es el motor de  Las versiones más recientes de 3 semanas.
WAREHOUSE base de datos objeto- Oracle son la 11g, 10g, 9g, 8g,
relacional más usado a desde el lanzamiento original de Semana 1:
BUILDER nivel mundial. la 8 se sucedieron varias Análisis de
 Puede ejecutarse en versiones con correcciones, datos
todas las plataformas, hasta alcanzar la estabilidad en
desde una Pc hasta un la 8.0.3. El motivo de tantos Semana 2:
supercomputador. fallos fue, al parecer, la Migración y
 Oracle soporta todas las remodelación del sistema de validación de
funciones que se esperan almacenamiento por causa de la información
de un servidor "serio": un introducción de extensiones
lenguaje de diseño de orientadas a objetos. Semana 3:
bases de datos muy  El mayor inconveniente de Optimización
completo (PL/SQL) que Oracle es quizás su precio. de proceso
permite implementar Incluso las licencias de Personal
diseños "activos", con Oracle son excesivamente caras,
triggers y procedimientos en mi opinión. Otro problema es
almacenados, con una la necesidad de ajustes. Un error
integridad referencial frecuente consiste en pensar que
declarativa bastante basta instalar el Oracle en un
potente. servidor y enchufar directamente
 Permite el uso de las aplicaciones clientes. Un
particiones para la mejora Oracle mal configurado puede
de la eficiencia, de ser desesperantemente lento.
replicación e incluso  También es elevado el coste de
ciertas versiones admiten la información, y sólo
la administración de últimamente han comenzado a
bases de datos aparecer buenos libros sobre
distribuidas. asuntos técnicos distintos de la
 El software del servidor simple instalación y
puede ejecutarse en administración.
multitud de sistemas
operativos.
 Existe incluso una versión
personal para Windows
9x, lo cual es un punto a
favor para los
desarrolladores que se
llevan trabajo a casa.
 Oracle es la base de
datos con más orientación
hacía INTERNET.
PRECIO LICENCIA SQL SERVER 2014

Ediciones
Precio de
de SQL Modelo de Disponibilidad de
Ideal para... Open NL
Server licencia canal
(USD)
2014
Enterprise Rendimiento confiable y completo Por núcleo** Licencias por volumen, $14,256***
para satisfacer los requisitos de hosting
base de datos y de Business
Intelligence más exigentes. La
edición Enterprise proporciona los
niveles de servicio y rendimiento
más altos para las cargas de trabajo
de nivel 1.*
Business Una plataforma amplia que permite Servidor + Licencias por volumen, $8,908***
Intelligence a las organizaciones compilar e CAL**** hosting
implementar soluciones de BI
seguras, escalables y
administrables.
Standard Funcionalidad de Business Por núcleo** Licencias por volumen, $3,717***
Intelligence y administración de hosting
datos básica para cargas de trabajo
que no son críticas, con recursos de
TI mínimos.
Servidor + Licencias por volumen, $931***
CAL**** hosting, minorista (FPP)
Developer Versión completamente funcional de Por usuario Licencias por volumen, $38***
SQL Server que permite a los minorista (FPP)
desarrolladores compilar, probar y
demostrar aplicaciones con software
de SQL Server de una manera
rentable.

PRECIO LICENCIA ORACLE

http://www.oracle.com/us/corporate/pricing/price-lists/business-intelligence-price-list-
071347.pdf
BIBLIOGRAFIA.
https://www.dataprix.com/es/book/export/html/1242
http://blog.powerdata.es/el-valor-de-la-gestion-de-datos/bid/353132/ETL-t-cnicas-de-
migraci-n-y-tipos-de-software
https://platzi.com/blog/que-es-postgresql/
http://www.oracle.com/technology/products/warehouse/11gr1/datasheets/warehouse-
builder-11g-etldatasheet.pdf