Professional Documents
Culture Documents
1
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.
2
Figura 1. Renovación periódica
Desalojo
Las memorias caché escasas pueden utilizar políticas de desalojo para eliminar
automáticamente datos de la memoria caché sin afectar a la base de datos.
Existen tres políticas incorporadas incluidas en eXtreme Scale: tiempo de vida,
menos usada recientemente y usada con menos frecuencia. Las tres políticas
pueden, de forma opcional, desalojar datos de forma más agresiva a medida que
la memoria pasa a estar limitada habilitando la opción de desalojo basado en
memoria. Consulte Plug-ins para desalojar los objetos de memoria caché si desea
información adicional.
Anulación basada en sucesos
Las memorias caché escasas y completas se pueden invalidar o actualizar
utilizando un generador de sucesos como, por ejemplo, JMS (Java Message
Service). La anulación utilizando JMS puede unirse manualmente a cualquier
proceso que actualiza el programa de fondo utilizando un desencadenante de
base de datos. Se proporciona un plug-in JMS ObjectGridEventListener en
eXtreme Scale que puede notificar a los clientes cuando la memoria caché del
servidor tiene algún cambio. Esto puede disminuir la cantidad de tiempo que el
cliente puede ver los datos obsoletos.
3
Anulación programática
Las API eXtreme Scale permiten la interacción manual de la memoria caché
cercana y de servidor utilizando los métodos de API
Session.beginNoWriteThrough (), ObjectMap.invalidate () y
EntityManager.invalidate (). Si un proceso de cliente o servidor ya no necesita una
parte de los datos, los métodos de anulación se pueden utilizar para eliminar datos
de la memoria caché cercana o del servidor. El método beginNoWriteThrough se
aplica cualquier operación ObjectMap o EntityManager a la memoria caché local
sin llamar al cargador. Si se invoca desde un cliente, la operación sólo se aplica a
la memoria caché cercana (el cargador remoto no se invoca). Si se invoca en el
servidor, la operación sólo se aplica a la memoria caché principal del servidor sin
invocar el cargador.
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
4
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.
5
Proceso de Extracción
Para llevar a cabo de manera correcta el proceso de extracción, primera fase del
ETL, hay que seguir los siguientes pasos:
Extraer los datos desde los sistemas de origen.
Analizar los datos extraídos obteniendo un chequeo.
Interpretar este chequeo para verificar que los datos extraídos cumplen la
pauta o estructura que se esperaba. Si no fuese así, los datos deberían ser
rechazados.
Convertir los datos a un formato preparado para iniciar el proceso de
transformación.
Qué hay que tener en cuenta durante el proceso de extracción
Es necesario extremar la cautela en esta fase del proceso de ETL que es la
extracción, por lo que se debe tener en cuenta que:
6
Proceso de Transformación
La fase de transformación de un proceso de ETL aplica una serie de reglas de
negocio o funciones sobre los datos extraídos para convertirlos en datos que
serán cargados. Estas directrices pueden ser declarativas, pueden basarse en
excepciones o restricciones pero, para potenciar su pragmatismo y eficacia, hay
que asegurarse de que sean:
Declarativas.
Independientes.
Claras.
Inteligibles.
Con una finalidad útil para el negocio.
El lado más práctico del proceso de transformación
En ocasiones será necesario realizar alguna pequeña manipulación de los datos,
sin embargo, y dependiendo siempre de las fuentes de datos, a veces los que
hará falta será aplicar algunas de las siguientes transformaciones:
Seleccionar sólo 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).
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).
Generar 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,
Miguel”; pasar a dos columnas “Nombre: Miguel” y “Apellido: García”).
Aplicar para formas simples o complejas, la acción que en cada caso se
requiera, como por ejemplo:
Datos OK: entregar datos a la siguiente etapa (fase de carga).
7
Datos erróneos: ejecutar políticas de tratamiento de excepciones.
Proceso de Carga
En esta fase, los datos procedentes de la fase anterior (fase de transformación)
son cargados en el sistema de destino. Dependiendo de los requerimientos de la
organización, este proceso puede abarcar una amplia variedad de acciones
diferentes. Por ejemplo, en algunas bases de datos será necesario sobreescribir la
información antigua con nuevos datos mientras que en otras, bastaría con resumir
las transacciones y almacenar un promedio de la magnitud considerada.
Los data warehouse mantienen un historial de los registros, de manera que es
posible en todo momento hacer una auditoría de los mismos. Esto permite
disponer de un rastro de toda la historia de un valor a lo largo del tiempo.
8
HERRAMIENTAS ETL
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).
Libres
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
9
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.
10
APLICACIÓN SMBD SELECCIONADO
11
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.
12
Figura 1 Opciones de Warehouse Builder.
Este resumen ejecutivo cubre únicamente la ETL Enterprise Option como se
muestra en la figura 1.
13
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.
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.
14
Figura 3. Propagando cambios en el sistema.
15
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
16
ORACLE Oracle Estándar Oracle es el motor de Las versiones más 3 semanas.
WAREHOUSE base de datos objeto- recientes de Oracle son la
BUILDER relacional más usado 11g, 10g, 9g, 8g, desde el Semana 1:
a nivel mundial. lanzamiento original de la 8 Análisis de
Puede ejecutarse en se sucedieron varias datos
todas las versiones con
plataformas, desde correcciones, hasta Semana 2:
una Pc hasta un alcanzar la estabilidad en Migración y
supercomputador. la 8.0.3. El motivo de validación
Oracle soporta todas tantos fallos fue, al de
las funciones que se parecer, la remodelación información
esperan de un del sistema de
servidor "serio": un almacenamiento por causa Semana 3:
lenguaje de diseño de la introducción de Optimizació
de bases de datos extensiones orientadas a n de
muy completo objetos. proceso
(PL/SQL) que El mayor inconveniente de
permite implementar Oracle es quizás su precio.
diseños "activos", Incluso las licencias de
con triggers y Personal Oracle son
procedimientos excesivamente caras, en
almacenados, con mi opinión. Otro problema
una integridad es la necesidad de ajustes.
referencial Un error frecuente consiste
declarativa bastante en pensar que basta
potente. instalar el Oracle en un
Permite el uso de servidor y enchufar
particiones para la directamente las
mejora de la aplicaciones clientes. Un
eficiencia, de Oracle mal configurado
replicación e incluso puede ser
ciertas versiones desesperantemente lento.
admiten la También es elevado el
administración de coste de la información, y
bases de datos sólo últimamente han
distribuidas. comenzado a aparecer
El software del buenos libros sobre
servidor puede asuntos técnicos distintos
ejecutarse en de la simple instalación y
multitud de sistemas administración.
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
17
datos con más
orientación hacía
INTERNET.
Ediciones
Modelo de Precio de Open
de SQL Ideal para... Disponibilidad de canal
licencia NL (USD)
Server 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.
18
OTRAS COMPARATIVAS HERRAMIENTAS ETL
Linux.
ORACLE DATABASE 11G ORACLE WAREHOUSE BUILD ER
ENTERPRISE ETL OPTION
Caracteristicas:
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.
Permite ejecutar cargas de datos usando métodos rápidos y eficientes tales como
el Oracle Data Pump y transportable tablespaces.
Permite prever el efecto que puedan tener los cambios que se hagan en cualquier
lugar de los metadatos del sistema ETL
Es posible generar un modelo para configurar los ambientes de desarrollo,
pruebas y producción a niveles separados.
19
visuales. Si se desea crear nueva funcionalidad, se pueden crear scripts en c# o VB.
Puede conseguir conectividad mediante CLI vía DLLs tipo ensamblador.
Informatica PowerCenter:
Caracteristicas:
Calidad de datos generalizada para todos los grupos de interés, proyectos y
aplicaciones utilizando una sola plataforma unificada.
Descubrimiento y análisis de datos, detección de riesgos ocultos, localización de
problemas estructurales y detención de la propagación de los problemas de
calidad.
Acceso, integración y entrega de los datos rápidamente, de forma rentable y sin
codificación manual.
Normalización de los datos en los formatos de tabla de destino y carga en los
nuevos sistemas.
Garantía de acceso y entrega de datos críticos a toda la empresa donde y cuando
se necesiten, asegurando la conectividad sin límites a una amplia variedad de
fuentes de datos.
Aplicación de test de validación para garantizar que los datos se mantiene libres
de daños y que no han sufrido menoscabos durante su traslado o transformación.
Interesantes opciones de integración de metadatos, que marcan la diferencia con
otras herramientas de migración de bases de datos.
Visibilidad y control para todos los usuarios de negocio, que les otorga la libertad
necesaria para crear, administrar y compartir información empresarial de carácter
crítico contextualizada durante el proceso de migración.
Enmascaramiento de datos sensibles efectivo antes de producirse el traslado a
20
21