Sunteți pe pagina 1din 67

PASOS PREVIOS

A
IMPLEMENTACIN
Ing. Betzab
Lizrraga
2
Backup y Recuperacin
Los DBMSs proveen utilidades para
hacer backups completos y tambin
incrementales.
Muchas organizaciones tienen la
errnea impresin de que los
DataWarehouses siempre se pueden
recrear a partir de las fuentes de
datos originales. Sin embargo,
adems de que esta tarea puede
llevar mucho tiempo porque hay que
reejecutar los programas de
extraccin, transformacin y carga, es
posible que estos programas y los
datos mismos ya no estn
disponibles.
3
Migrar los datos: ETL
(Extract, Transform,
Load)

La migracin de los datos
desde las fuentes
operacionales al
DataWarehouse requiere la
necesidad de procesos para
extraer, transformar y cargar
los datos, actividad que se
conoce como ETL.

4
Las razones por las cuales se
requieren estos procesos se
originan en una necesidad de
reformatear,
conciliar y
limpiar los datos de origen.

Seria conveniente que las
transformaciones a las fuentes
de datos se apliquen solo una
vez.

5
La mayora de los datos de
origen son los datos
operacionales actuales,
aunque parte de ellos pueden
ser datos histricos
archivados.
Si los requerimientos de datos
incluyen algunos aos de
historia es necesario
desarrollar tres conjuntos de
programas ETL:
una Carga Inicial,
una Carga Histrica, y
una Carga Incremental.

Carga Inicial
La carga inicial se asemeja
mucho al proceso de
conversin entre sistemas que
se da en las organizaciones
cuando pasan, por ejemplo, de
sus viejos sistemas
operacionales a un producto
ERP (Enterprise Resource
Planning), y consiste en la
extraccin, transformacin, y
carga de los datos.
6
Carga Histrica
Este proceso debe verse como
una extensin de la carga
inicial, los datos histricos son
datos estticos, archivados en
dispositivos de
almacenamiento offline.
7
Con el transcurso del tiempo
se eliminan elementos de
datos que ya no sirven,
se agregan nuevos,
se modifican los tipos de
ciertos datos o
Se modifican los formatos de
los registros.

Lo que implica que los datos
histricos no necesariamente
se puedan sincronizar con los
datos operacionales.
8
Por lo tanto los programas de
conversin escritos para la
carga inicial quiz no sean
aplicables a la carga de datos
histricos sin algunos cambios
previos.
9
Carga Incremental
Una vez que el
DataWarehouse est cargado
con datos iniciales e histricos,
hay que desarrollar otro
proceso para la carga
incremental, que se ejecutar
mensual, semanal o
diariamente.
10
Extraer Deltas permite extraer
registros nuevos o registros
que contengan valores que
cambiaron desde la ltima
carga realizada.
Disear programas ETL para
extracciones delta es ms fcil
cuando las fuentes consisten
en bases de datos relacionales
y contamos con una columna
timestamp para determinar los
deltas.
11
Si los datos residen en
archivos planos sin timestamp
el proceso se vuelve ms
complejo y puede requerir la
lectura de archivos de auditoria
para determinar los registros
que cambiaron.
Una alternativa consiste en
extraer una copia completa de
los datos y compararla con una
extraccin previa para
encontrar dichos registros y
crear nuestro propio archivo
delta.
12
Otra alternativa es sugerir al
equipo de desarrollo de los
sistemas operacionales que
agregue un timestamp, aunque
en la mayora de los casos los
administradores no estarn de
acuerdo porque cualquier
cambio en la estructura de la
base operacional requerir
cambios en los programas.
Para ellos no es conveniente
cambiar los sistemas crticos y
perder tiempo en el testing a
favor de la aplicacin de
anlisis.
13
Cuando se borran registros en
los archivos o bases de datos
fuente, las filas
correspondientes no se
pueden eliminar del
DataWarehouse. Tampoco es
lo ideal, ya que una de las
principales caractersticas de
un DataWarehouse es guardar
datos histricos!
14
Qu pasa con los
registros eliminados?

* Es necesario definir reglas de
negocios para determinar
cundo propagar una
eliminacin operacional al
DataWarehouse y cuando no.

Por ejemplo, si se elimina un
registro debido a la anulacin
de una transaccin errnea, es
conveniente que la fila
relacionada a este registro se
elimine del DataWarehouse.
15
* Si en cambio se elimina un
registro porque el sistema
guarda solo transacciones
abiertas y elimina las cerradas,
no debe existir propagacin
porque estaramos eliminando
un dato histrico.
16
Desde la perspectiva del
DataWarehouse la manera
ms simple de hacer la
extraccin de datos sera:
ordenar,
filtrar,
limpiar y
agregar todos los datos
requeridos si es posible en un
solo paso y en las mismas
fuentes.
17
Extraer los datos
solo paso
Sin embargo, en algunas
organizaciones este proceso
podra impactar tanto que los
sistemas operacionales
tendran que suspender las
actividades por varias horas.
18
En la mayora de las
organizaciones, se dispone
con suerte de 3 o 4 horas para
poder procesar las bases de
datos operacionales antes de
que los sistemas se pongan en
funcionamiento para la
actividad diaria.
Esta es la principal razn por
la que la migracin de los
datos se divide en

19
tres procesos separados de
extraccin, transformacin y
carga.
La solucin a este conflicto es un
compromiso entre la eficiencia
del proceso ETL y el tiempo de
uso de las fuentes de datos. Es
decir, los programas de
extraccin de datos se tienen
que disear para maximizar la
eficiencia del procesamiento
ETL, pero adems deben liberar
las fuentes de datos lo antes
posible, aunque este es un
objetivo bastante difcil de lograr.
10/16/2014 20
*Una de las razones que dificultan
la tarea de extraccin es la
redundancia de datos en los
sistemas operacionales,
redundancia que los programas
de extraccin deben detectar.
Por ejemplo, el nombre del
cliente puede existir en varias
bases de datos de origen. Estas
ocurrencias redundantes deben
consolidarse, con el
procesamiento y bsqueda en
las tablas que eso implica.

10/16/2014 Free Template from www.brainybetty.com 21
*Adems, es necesario
examinar las
interdependencias
operacionales entre los
distintos archivos y bases de
datos de donde se va a extraer
la informacin para determinar
la secuencia de ejecucin de
los programas de extraccin.
10/16/2014 Free Template from www.brainybetty.com 22
La mayor parte del trabajo ETL
ocurre durante la
transformacin de los datos,
porque es donde se requieren
la integracin y limpieza de
datos.
La extraccin y la carga solo
representan el 20% del
proceso.
10/16/2014 23
Transformar los datos
Algunos problemas tpicos
cuando se extraen los datos
del entorno operacional se
mencionan a continuacin:
Claves primarias inconsistentes:
las PKs originales no siempre
coinciden con las que se
definen en el DataWarehouse.
Por ejemplo, si existen cinco
archivos de clientes, cada uno
con una clave diferente, estas
claves se tienen que
consolidar o transformar en
una nica clave en el
DataWarehouse.


24
* Datos con diferentes formatos:
los elementos tales como
fechas o valores monetarios
cuentan con una gran variedad
de formatos. Esto da lugar a la
necesidad de transformar
estos datos a un formato nico
en el que se almacenar en el
DataWarehouse.
25
* Valores errneos: la
correccin de valores
incorrectos o que violen las
reglas de negocios puede ser
muy extensa y complicada.
Los programas de
transformacin realizan
clculos y bsquedas en las
tablas para determinar los
valores correctos.
26
* Sinnimos y homnimos: los
datos redundantes no siempre
son fciles de reconocer porque el
mismo elemento de datos puede
tener diferentes nombres en las
distintas fuentes. Otra situacin
que puede darse es que se use el
mismo nombre en varias fuentes
para referirse a elementos
diferentes. Los sinnimos y los
homnimos no deben existir en el
DataWarehouse, por lo tanto
todos estos elementos deben
renombrarse con nombres
estndares definidos.

27
Lgica embebida: algunos
sistemas operacionales son
muy viejos. Estos sistemas
solan tener relaciones y
convenciones arcaicas y sin
documentacin entre los
elementos de datos. Por
ejemplo, el valor 00 en un
campo Flag puede significar
que el envo se devolvi, y el
valor 11 en el mismo campo
significa que el registro est
anulado.

28
En la figura vemos algunos
ejemplos tpicos de
transformaciones de datos:
29
Para fechar fenmenos astronmicos o
histricos lejanos es difcil considerar
los cambios que ha habido en el
calendario. En 1582 ocurre la
Reforma Gregoriana por la que se
suprimen como aos bisiestos los
aos seculares no divisibles por 400
(as 1700, 1800 y 1900 dejan de ser
bisiestos) y adems se suprimen 10
das, los que van del 4 al 14 de
octubre de 1582. El calendario es el
juliano si la fecha es anterior al 4-10-
1582 y es gregoriano si es posterior al
15-10-1582.

30
Qu es una Fecha
juliana?
***************
Esta reforma no fue aceptada
inmediatamente por los
protestantes y los cristianos
ortodoxos todava usan el
calendario juliano. Si
pretendemos averiguar el
lapso de tiempo transcurrido
entre dos eclipses lejanos
aunque sean del mismo
calendario hay que llevar
cuenta de los bisiestos
transcurridos y no digamos si
uno es del calendario juliano y
otro del gregoriano.
31
Por esto en el mismo 1582 Jos
Scaliger de Leyden fij una
escala continua de tiempo
fijando su origen en el 1 de
Enero del ao 4713 aC a las
12h del medioda (en esta
poca el da empezaba a
medioda y no como ahora, a
medianoche) y contando los
das solares. Este nmero se
llama fecha juliana.
32
El da 11 de Julio de 1997 a las
12 h se completa el da
2,450,641
En el calendario histrico no hay
ao cero, el ao anterior al 1
dC es el 1 aC .
Este problema de origen
significa que si se introduce
para la fecha 12,3,-3283 se
entiende el ao 3284 aC. La
primera forma de designar la
fecha se llama astronmica y
la segunda fecha histrica.
33
Hay un problema aadido a la no
existencia de ao 0.
El siglo I comienza con el ao 1 y
para que transcurran 100 aos
completos, mientras el 101 es
el primer ao del siglo II. Por
tanto el siglo XX no acaba
hasta que termine el ao 2000.
El siglo XXI no empieza hasta
el 1 de Enero del 2001 a las 0 h
corresponde a la fecha juliana
2,451,910.5
***************
34
Luego de transformar los datos
debido a la existencia de tipos
de datos y longitudes
incompatibles, o datos
inconsistentes o incorrectos,
una gran porcin del proceso
de transformacin est
destinado a la
integracin,
derivacin,
agregacin y
totalizacin de los datos:

35
*Integracin: el resultado de la
integracin es que cada
elemento de dato nico sea
conocido por un nombre
estndar. Muchos de los datos
se renombran en forma acorde
a ciertos estndares de
nombramiento en el
DataWarehouse, por ejemplo,
renombrar Cliente_Nom como
ClienteNombre.
36
*Derivacin: se crean nuevos
datos a partir de datos
atmicos en las fuentes,
mediante clculos, bsquedas,
y lgica procedural.
37
Ejemplos:
generar un nuevo cdigo para clasificar
clientes basndose en cierta
combinacin de datos existentes,
*calcular el precio total como resultado de
multiplicar el precio unitario por la
cantidad vendida,

38
*unir la columna Nombre con la columna
Apellido para obtener una nica columna
NombreCliente en el Datawarehouse.
*dividir elementos de datos y que cada una
de las porciones resultantes conforme
una columna en el DataWarehouse.
Como, dividir una columna de tipo fecha
o timestamp en sus componentes, como
da, mes, cuatrimestre y ao.


39
Las reglas tcnicas y de negocios
que determinan las
transformaciones que se tienen
que aplicar se extraen de viejos
manuales, viejos memos, emails,
programas, y tambin son
propuestas por gente en la
organizacin que recuerda cundo
y porqu se crearon las distintas
reglas.
La parte ms importante de la
transformacin de datos consiste
en el preclculo de los mismos
para que las consultas al
DataWarehouse respondan ms
eficientemente.


40
Totalizacin (Sumarizacin):
consiste en procesar valores
numricos para obtener valores
generales como
cantidades,
promedios,
mximos,
mnimos,
totales.
Estos valores son los que componen
las tablas de hechos, y se pueden
calcular y almacenar en distintos
niveles.
41
Ejemplos:
calcular
los totales de ventas por
departamentos
los totales por regiones, y
los totales por pas

42
Agregacin: se refiere a crear
datos derivados a partir de la
unin de varios datos
atmicos, en forma horizontal.

Por ejemplo, agregar los datos
de un cliente a partir de las
tablas Clientes y Ventas para
armar un historial de los
movimientos del cliente en la
empresa.

43
Nota:
La mayora de los datos se
agregan y se totalizan
basndose en patrones de los
reportes requeridos y en la
estructura de la base de datos
multidimensional elegida (Star
o Snowflake).

44
Nota:
Es importante examinar en que
momento realizar cada
transformacin. Hay solo un
proceso ETL, as que las
transformaciones aplicables a
todos los datos de origen, como
las conversiones de tipos, se
deberan realizar en primer lugar.
Las transformaciones
especficas del DataWarehouse,
como agregaciones y
totalizaciones, deberan
realizarse ms hacia el final del
proceso.

45
El propsito de la conciliacin
de datos es asegurar que toda
la informacin que ingresa al
proceso ETL coincide con la
que sale del mismo.
Cada programa o mdulo que
lea datos y los escriba en otro
lugar debe producir totales de
conciliacin.
46
Conciliacin de datos
Existen tres tipos de totales:
1 Cantidad de registros
Uno de los totales fundamentales
es una simple contabilizacin de
los registros ledos y los escritos.
Tambin se deben contabilizar
los registros rechazados en el
caso de registros que no pasaron
algn chequeo del proceso ETL.
Luego,
total de registros escritos + los
rechazados = total de registros
ledos.
47
2 Cantidad de Dominios
Se cuenta la cantidad de
registros para cada dominio (o
valor) nico en el campo de
entrada, y por otro lado se
cuenta la cantidad de registros
para el mismo dominio en la
salida del proceso ETL.

La complicacin surge cuando
un elemento de dato
sobrecargado se tiene que dividir
en varias columnas.
48
El dominio de un elemento
sobrecargado describe ms de
un objeto de negocios y por eso
debe separarse en el
DataWarehouse en diferentes
columnas en diferentes tablas,
en general tablas de dimensin.

En este caso, el total registros
para un dominio en la entrada
debe = suma de los totales de
registros para los dominios en
los que se divide.
49
Si hubo valores rechazados
tambin deben contabilizarse, y
en este caso el total de la suma
de los dominios en la salida + el
total de valores rechazados = a
la cantidad de registros del
dominio de entrada.
50
3 Totales
Los totales constituyen el
mecanismo principal de
conciliacin.
La tarea consiste en totalizar una
determinada columna en la
entrada, y hacer lo mismo en el
campo correspondiente en la
salida. Si hubo registros
rechazados, se debera
mantener un tercer total.
Luego, total de salida + total
rechazado = total de entrada.
51
Si el campo de entrada es un
elemento sobrecargado que se
tiene que dividir en varias
columnas, se deben
determinar las formas de
calcular y verificar los totales.
52
La gente de negocios espera
calidad y consistencia en los
datos, y esto se logra
aplicando todas las
transformaciones necesarias y
realizando los chequeos
correspondientes.
53
Las actividades de ordenar,
mezclar, y transformar los
datos requieren un espacio de
almacenamiento temporal para
guardar los resultados
intermedios. Estos archivos y
tablas temporales pueden
llegar a ser ms grandes que
el almacenamiento de origen.
La alternativa general es ir
guardando estos datos
directamente en tablas del
DataWarehouse.
54
Dnde se guardan los datos
que se estn migrando?
El paso final en el proceso ETL es
la carga de los datos en el
DataWarehouse.
Este proceso se puede aplicar de
dos maneras:
podemos insertar filas nuevas en
las tablas mediante cdigo escrito
a medida, o
hacer una carga masiva usando
alguna herramienta de importacin
del DBMS.
Este ltimo enfoque es el ms
eficiente y el ms usado en la
mayora de las organizaciones.
55
Cargar los datos
Debido al gran volumen de los
datos, en ocasiones se
desactiva esta opcin durante
la carga para acelerar el
proceso, pero el programa ETL
tiene que estar capacitado
para hacer los chequeos
necesarios. Si esto no es as,
el DataWarehouse se volver
corrupto en pocos meses o
quiz en semanas.
56
Integridad Referencial
* La razn por la que se tiende a
desactivar la Integridad
Referencial surge del hecho de
que se cargan solo datos con
relaciones ya existentes en el
ambiente operacional, y no se
crean nuevas relaciones.
De todas maneras se debe
activar una vez completado el
proceso de carga, para que el
DBMS determine cualquier
violacin de integridad entre
datos relacionados.
57
Las BD con performance pobre
frecuentemente son la
consecuencia de un esquema
pobre de ndices. Es necesario
definir ndices en forma
eficiente, y en gran cantidad,
debido al gran volumen de
datos en el DataWarehouse.
58
ndices:
59
* Construir los ndices en
el momento de la carga
retarda mucho el proceso,
por lo tanto se recomienda
eliminar (DROP) todos los
ndices antes del proceso
de carga, cargar los datos,
y luego crear los ndices
nuevamente.
La mayora de las
organizaciones prefieren usar
una herramienta para todo o
parte de este proceso,
especialmente para la
extraccin y transformacin.
Cuando se usa una
herramienta ETL, las
especificaciones de las
transformaciones se traducen
a instrucciones para la
herramienta.
60
Evaluar herramientas
ETL externas
Algunos de los pasos a seguir
durante la evaluacin son:
1 Realizar un anlisis costo-beneficio
para ver si conviene comprar la
licencia de un producto ETL o
desarrollarlo desde cero. Aunque
ambas opciones son costosas. Si
la herramienta no puede manejar
todas las transformaciones
requeridas, debemos pensar en el
desarrollo propio.
61
2 Listar los vendedores y
productos ETL que satisfagan
nuestros requerimientos.
Evaluar cada producto
objetivamente, e incluir las
reglas de negocios que
permiten la limpieza de los
datos como parte del criterio
de seleccin.
62
Por ejemplo, algunas
herramientas no pueden leer
archivos planos ni realizar
transformaciones muy
complejas.
Si necesitamos estas
capacidades debemos conocer
las limitaciones de cada
herramienta porque tendremos
que adquirir licencias
adicionales o incrementar su
funcionalidad con cdigo
propio.
63
3 Si es posible contactarse con
organizaciones que ya estn
usando el producto.
La reputacin y
responsabilidad de los
vendedores son tan
importantes como las
caractersticas de los
productos, as que es
conveniente tener en cuenta
este factor tambin.
64
4 Reducir la lista a dos o tres
productos candidatos, para no
perder tanto tiempo en la
comparacin y la eleccin
definitiva.
65
5 Revisar demos de los
productos, y si es posible
preparar algunos casos de test
para que los vendedores
preseleccionados demuestren
performance y efectividad de
sus productos.

66
6 Tratar de obtener un trial de 30
das para poder testear el
producto. El testing es la mejor
forma de descubrir fisuras
antes de usar el producto en
produccin.

67

S-ar putea să vă placă și