Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gestion Base de Datos
Gestion Base de Datos
(MODALIDAD VIRTUAL)
APRENDIZ
INSTRUCTOR
HUGO ANDRES TRUJILLO MONTEALEGRE
1
ALCALDÍA SAN ANTONIO DEL SENA MIGRACIÓN DE DATOS
SECRETARÍA DE HACIENDA.
HERRAMIENTAS
Las herramientas de ETL han existido durante más de 30 años y a lo largo de este tiempo han
ido surgiendo diferentes tipos de herramientas a medida que la tecnología ha ido
evolucionando. Estas pueden ser catalogadas en cuatro grandes categorías, abordando en esta
entrada dos de ellas, las herramientas ‘Enterprise’ y las ‘Open Source’.
Las etapas que hemos de cumplir al realizar un perfecta migración de datos son el marco en
el que se desarrolla el proceso, elaborado por un grupo de personal idóneo y especializado
Esto implica realizar e implementar las mejores prácticas y metodologías para una buena
migración, esto implica; la planificación, descubrimiento y análisis, limpieza de datos,
conversión, validación, mapeo y carga de datos, por este orden, son etapas que cubren el
proceso de migración, cuyo planteamiento deberá obedecer a criterios específicos de cada
proyecto.
Se debe adoptar una metodología metodología, siguiendo las pautas que marcarán una gran
diferencia en el momento de la migración de datos buscando lo beneficios palnteados por la
entidad
2
Preparación y planificación. La preparación y planificación son claves en la
metodología de todo proyecto de migración de datos. Es importante ser realistas a
la hora de establecer objetivos, alinear el proyecto con la estrategia empresarial y
planificar una buena organización. En esta etapa se deben observar pautas
relacionadas con el diseño de la extracción, los estándares de calidad, los requisitos
de transformación de los datos, reglas de mapeo, descripción del entorno de pruebas
y recuperación a lo largo de todo el proceso.
Una migración segura. Las opciones de recuperación deben contemplarse como una
parte vital de las políticas de migración seguras y aplicarse mediante los necesarios
procesos de copias de seguridad. Hacerlo así nos permite algo tan fundamental como
disponer de un backup actualizado, al tiempo que hemos de preservar la integridad
del dato mediante métodos que garanticen la seguridad de la información. Entre
otros, disponemos de técnicas de encriptación o enmascaramiento de datos y
autorizaciones de acceso.
Perfilado de datos. Antes de empezar con el proyecto de migración en sí, es
necesario perfilar el contenido y la estructura de los datos de origen. El objetivo es
identificar problemas de calidad de datos para solucionarlos en el momento
oportuno.
Limpieza de los datos. Puesto que la calidad de los datos suele ser uno de los
principales problemas a abordar en un proyecto de migración de datos, la
limpieza de datos y una obligada verificación cobran una importancia capital.
Además, hacer una limpieza previa de los datos facilitará la extracción,
transformación y carga de los datos.
Proyectos iterativos. Es recomendable abordar los proyectos de migración de
datos de forma iterativa. La necesaria adaptación de metodología y buenas prácticas
a cada proyecto concreto aconseja implementarlo mediante aproximaciones prácticas
que iremos validando conforme vayan aprobándose sucesivos ensayos. De este modo
conseguimos un resultado iterativo que resulta eficiente y permite una ventajosa
escalabilidad progresiva o adaptable a nuevos requerimientos.
Una sincronización incluye una réplica que envía cambios de datos y la réplica relativa que
los recibe. Los cambios de datos incluyen inserciones, actualizaciones y eliminaciones
realizadas en la versión de réplica.
Para realizar una sincronización, debe estar conectado como el mismo usuario de la base de
datos que creó la réplica o como el administrador de geodatabase.
3
Las réplicas pueden ser unidireccional y bidireccional, los filtros y las reglas de clase de
relación que se aplicaron en el momento de la creación se aplican también para determinar
qué cambios sincronizar.
Los cambios fuera de los filtros y reglas de clase de relación no se sincronizan. La lógica
también se utiliza para evitar reenviar innecesariamente cambios que ya se hayan enviado.
Para las réplicas checkout, todas las ediciones realizadas en la réplica checkout se
sincronizan.
El intercambio de mensajes entre las réplicas está diseñado para ser secuencial
Durante esta conciliación, pueden producirse conflictos. Puede elegir una política de
reconciliación para definir cómo manejar estos conflictos.
También puede elegir entre la detección de conflictos del nivel de la columna y del
nivel de la fila para esta reconciliación.
4
IMPORTACIÓN/EXPORTACIÓN DE ARCHIVOS CVS
O
XML A TRAVEZ DE COMANDOS DE CONSOLA O INTERFAZ GRAFICA
Las herramientas ETL son muy adecuadas para la tarea de migrar datos de una base de datos
a otra, estando su uso aún más indicado en proyectos en que existen pocas conexiones entre
origen y destino.
En DatabaseSpy puede importar datos a sus bases de datos desde archivos CSV o desde
archivos que contengan datos XML. En ambos casos puede crear tablas nuevas o actualizar
las tablas ya existentes en su base de datos.
Si selecciona la opción de importación del menú "Herramientas" o pulsa el botón "Importar"
de la barra de herramientas principal de DatabaseSpy, se abre un cuadro de diálogo en el que
puede configurar el origen de la importación y las opciones de importación. El cuadro de
diálogo también ofrece una vista previa de la solicitud de importación de datos.
La función de importación de datos XML puede ayudar en la transición de aplicaciones XML
modernas a bases de datos relacionales. Ofrece opciones especiales para XML para procesar
los datos durante la importación.
5
Los archivos planos son una colección de información que está almacenada y es accedida
de forma organizada en una base de datos. ... Un ejemplo son los documentos CSV (valores
separados por coma), donde la información es presentada en cada campo separado por una
coma.
Los archivos de texto pueden ser simplemente abrir y editar en muchos de los editores de
texto sin formato
Notepad
Notepad ++
sublime text
El estándar ASCII permite que los archivos de texto ASCII solamente a intercambiarse
libremente y legible en Unix, Macintosh, Microsoft Windows, DOS, u otras plataformas.
6
PROCESO DE EXTRACCIÓN, TRANSFORMACIÓN Y CARGA (ETL)
Extracción, transformación y carga (ETL) es una canalización de datos que se utiliza para
recopilar datos de varios orígenes, transformar los datos según las reglas de negocio y
cargarlos en un almacén de datos de destino. El trabajo de transformación en ETL tiene
lugar en un motor especializado y, a menudo, implica el uso de tablas de almacenamiento
temporal para conservar los datos temporalmente a medida que estos se transforman y,
finalmente, se cargan en su destino.
La transformación de datos que tiene lugar a menudo conlleva varias operaciones como
filtrado, ordenación, agregación, combinación de datos, limpieza de datos, desduplicación y
validación de datos.
7
Frecuentemente, las tres fases del proceso ETL se ejecutan en paralelo para ahorrar
tiempo. Por ejemplo, mientras se extraen datos, puede que esté funcionando un proceso de
transformación sobre los datos ya recibidos y de preparación para la carga, y puede que
empiece a funcionar un proceso de carga sobre los datos preparados, en lugar de tener que
esperar a que termine todo el proceso de extracción.
Extracción, carga y transformación (ELT) difiere de ETL solo por la ubicación en la que se
realiza la transformación. En la canalización de ELT, la transformación se produce en el
almacén de datos de destino. En lugar de usar un motor de transformación independiente, las
funcionalidades de procesamiento del almacén de datos de destino se utilizan para
transformar los datos. Esto simplifica la arquitectura ya que permite quitar el motor de
transformación de la canalización. Otra ventaja de este enfoque es que al escalar el almacén
de datos de destino también se escala el rendimiento de la canalización de ELT. No obstante,
ELT solo funciona bien si el sistema de destino tiene la suficiente potencia para transformar
los datos de forma eficaz.
Los casos de uso habituales para ELT están dentro del dominio de los macrodatos. Por
ejemplo, puede comenzar extrayendo todos los datos de origen a archivos planos en un
almacenamiento escalable como el sistema de archivos distribuido de Hadoop (HDFS) o
Azure Data Lake Store.
Se pueden utilizar tecnologías como Spark, Hive o PolyBase para consultar los datos de
origen. El punto clave de ELT es que el almacén de datos que se usa para realizar la
transformación es el mismo almacén de datos en el que se consumen en última instancia los
datos.
8
Este almacén de datos lee directamente desde el almacenamiento escalable, en lugar de
cargar los datos en su propio almacenamiento propietario. Este enfoque omite el paso de
copia de datos que se da en ETL. Esta es una operación que lleva mucho tiempo en el caso
de conjuntos de datos grandes.
La fase final de la canalización de ELT suele transformar los datos de origen a un formato
final que es más eficaz para los tipos de consultas que se deben admitir. Por ejemplo, se
pueden realizar particiones en los datos. Además, ELT podría usar formatos de
almacenamiento optimizados como parquete, que almacena los datos orientados a filas en
un modo de columnas y proporciona indexación optimizada.
Los flujos de control ejecutan flujos de datos como una tarea. En una tarea Flujo de datos,
los datos se extraen de un origen, se transforman o se cargan en un almacén de datos. La
salida de una tarea flujo de datos puede ser la entrada para la siguiente tarea flujo de datos y
9
los flujos de datos se pueden ejecutar en paralelo. A diferencia de los flujos de control, no
se pueden agregar restricciones entre las tareas de un flujo de datos. Sin embargo, puede
agregar un visor de datos para observar los datos a medida que cada tarea los va
procesando.
En el diagrama anterior, hay varias tareas en el flujo de control, una de las cuales es una tarea
Flujo de datos. Una de las tareas se anida dentro de un contenedor. Los contenedores se
pueden usar para proporcionar una estructura para las tareas, proporcionando una unidad de
trabajo. Un ejemplo es la repetición de elementos en una colección, como los archivos de una
carpeta o las instrucciones de una base de datos.
ETL son las siglas en inglés de Extraer, Transformar y Cargar (Extract, Transform and
Load). 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 (aplicaciones antiguas existentes en las organizaciones que se han de integrar con
los nuevos aplicativos, por ejemplo, ERP´s. La tecnología utilizada en dichas aplicaciones
puede hacer dificil la integración con los nuevos programas).
Las herramientas de este tipo, deberían de proporcionar, de forma general, las siguientes
funcionalidades:
10
• Control de la extracción de los datos y su automatización, disminuyendo el tiempo
empleado en el descubrimiento de procesos no documentados, minimizando el margen de
error y permitiendo mayor flexibilidad.
• Acceso a diferentes tecnologías, haciendo un uso efectivo del hardware, software, datos y
recursos humanos existentes.
• Proporcionar la gestión integrada del Data Warehouse y los Data Marts existentes,
integrando la extracción, transformación y carga para la construcción del Data
Warehouse corporativo y de los Data Marts.
• Manejo de excepciones.
• Planificación, logs, interfaces a schedulers de terceros, que nos permitiran llevan una
gestión de la planificación de todos los procesos necesarios para la carga del DW.
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.
11
Un requerimiento 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 éste 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.
12
Rolling: El proceso de Rolling por su parte, se aplica en los casos en que se opta por
mantener varios niveles de granularidad. 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.).
La fase de carga interactúa directamente con la base de datos de destino. Al realizar esta
operación se aplicarán todas las restricciones y triggers (disparadores) que se hayan
definido en ésta (por ejemplo, valores únicos, integridad referencial, campos obligatorios,
rangos de valores). Estas restricciones y triggers (si están bien definidos) contribuyen a que
se garantice la calidad de los datos en el proceso ETL, y deben ser tenidos en cuenta.
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
13
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.
Los procesos ETL pueden ser muy complejos. Un sistema ETL mal diseñado puede
provocar importantes problemas operativos.
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.
14
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.
Ab Initio
Benetl
BITool – ETL Software
CloverETL
Cognos Decisionstream (IBM)
Data Integrator (herramienta de Sap Business Objects)
ETI*Extract (ahora llamada Eti Solution)
IBM Websphere DataStage (antes Ascential DataStage)
Microsoft Integration Services
Oracle Warehouse Builder
WebFocus-iWay DataMigrator Server
Pervasive
Informática PowerCenter
Oxio Data Intelligence ETL full web
SmartDB Workbench
Sunopsis (Oracle)
SAS Dataflux
Sybase
Syncsort: DMExpress.
Opentext (antes Genio, Hummingbird).
15
Pentaho Data Integration, solución tecnológica conocida como Kettel, es una de las
herramientas ETL opensource más potentes y versátiles a la hora de diseñar los procesos de
integración a la medida de las necesidades de la empresa, fundamentalmente con el objetivo
de construir y explotar su Data Warehouse (DW), entre otras utilidades.
Uno de sus aspectos más ventajosos consiste en su capacidad de adaptación, lo que permite
desarrollar fácilmente los procesos de integración de datos en el DW, centro de la arquitectura
de los sistemas de información, entendidos aquellos como el proceso que consiste en su
recolección, cruce, enriquecimiento, consolidación y carga.
Como herramienta ETL, Kettel es visual y consigue una mayor productividad del equipo de
desarrollo y mantenimiento, permitiendo conectarse a diversas fuentes y arquitecturas para
finamente cargar los datos en un repositorio, si bien también puede utilizarse para otras
muchas funciones, como sincronizar, enmascarar, migrar datos entre diferentes aplicaciones
o, por ejemplo, para la actualización de usuarios a sistemas paralelos.
Pentaho es una herramienta líder de ETL, que cumple las características más importantes que
ha de incluir un software de este tipo, incluyéndola por primera vez en su informe del año 2009
como software open source de probada eficacia en proyectos de tratamiento de datos que
necesiten la construcción de procesos ETL.
En concreto, la consultora subrayó la importancia de que un software ETL idóneo incluya una
serie de características, como las siguientes: conectividad, capacidad de entrega de datos, de
metadatos y modelados de datos, de diseño y entorno de desarrollo, de gestión de datos de
administración, además de capacidades SOA y un cierto grado de compactación, consistencia
e interoperabilidad. Por otro lado, todas ellas comunes a las herramientas ETL punteras más
16
completas, ya sea Cognos, Microsoft, Informática ETL o, como alternativa opensource, también
Pentaho ETL.
Además de las características generales apuntadas por Gartner, que pueden considerarse no
sólo ventajosas sino incluso requisitos claves a la hora elegir herramientas de desarrollo ETL,
Pentaho suma ventajas interesantes, algunas de ellas derivadas de ser un software libre, si
bien al mismo tiempo conlleva inconvenientes frente a soluciones propietarias que, por
ejemplo, proporcionan un servicio de soporte al usuario.
Edición de pago: también existe una edición de pago (Pentaho BI Suite Enterprise
Edition) que sí incluye servicio técnico y aporta soluciones más completas que el
software libre.
Comunidad amplia: intensa actividad a nivel de pruebas beta como en foros, muy útiles
para la consulta de posibles problemas, si bien sacarle todo el partido implica un mínimo
de especialización.
Se trata, en suma, de una opción que puede resultar interesante a la hora de elegir software
para realizar los procesos de integración de una base de datos, con el fin último de realizar una
integración de datos inteligente que nos ayude a conseguir la calidad idónea, capaz de
maximizar su valor a nivel operativo y de toma de decisiones.
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
17
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.
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.
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.
Características SSIS
18
ORACLE WAREHOUSE BUILDER:
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).
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.
19
SOPORTE A DIMENSIONES LENTAMENTE CAMBIANTES INTEGRADO
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.
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.
20
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.
21
22
23
24
25