Вы находитесь на странице: 1из 131

Almacenes de Datos

Introduccin
Qu es una solucin DW/BI ?
Recoger los datos de la organizacin y
transformarlos en informacin til.
Estudiar la naturaleza del negocio
Indicadores, medidas, dimensiones (perspectivas de anlisis).
Disear la estructura de datos multidimensional
Recuperar los datos de los sistemas operacionales,
transformarlos y cargarlos en el modelo multidimensional.
Usar herramientas para el anlisis de los datos y la toma de
decisiones.
Orgenes de la tecnologa de
Almacenes de Datos
La gestin de los datos en una computadora ha experimentado
una larga evolucin desde sus orgenes hasta nuestros das.

A principios de la dcada de los sesenta, el software de acceso
a datos consista en aplicaciones independientes, basadas en
ficheros maestros almacenados en cinta magntica; lo que
significaba un acceso secuencial a los datos.

La aparicin de los discos magnticos en la dcada de los
setenta represent un cambio cualitativo, stos permitan el
acceso directo a los datos (DASD, del ingls Direct Access
Strorage Device), favoreciendo el desarrollo de nuevas
organizaciones de ficheros.

A partir de ese momento se produjo una acelerada evolucin en
la tecnologa de acceso a datos que no ha parado hasta
nuestros das.
Orgenes de la tecnologa de
Almacenes de Datos
Con el objetivo de conseguir una gestin integrada de los datos e independiente
de la plataforma, que superase las limitaciones de los sistemas de ficheros
clsicos, a principios de los setenta, se desarrollaron los sistemas de gestin de
bases de datos (SGBD).

Este tipo de sistemas experiment tambin una rpida transformacin, desde los
pioneros sistemas jerrquicos hasta los actuales sistemas relacionales.

La situacin actual, en lo que a la gestin de los datos se refiere, se caracteriza
por el uso extendido de la tecnologa de bases de datos, concretamente de los
sistemas de bases de datos relacionales.

Estos sistemas son cada vez ms robustos y fiables, y disponen de lenguajes e
interfaces de acceso y manipulacin cada vez ms amigables, lo que ha
facilitado el acceso de los usuarios a esta tecnologa.
Orgenes de la tecnologa de
Almacenes de Datos
Como fruto de esta ya larga evolucin, se puede afirmar que, el
uso de los sistemas de bases de datos, en las dos ltimas
dcadas, ha provocado que las organizaciones almacenen en
formato digital grandes volmenes de datos con informacin
histrica sobre la organizacin.

As, una vez satisfechas las necesidades de disponer de un
sistema de informacin para la gestin del negocio, los usuarios
exigen nuevas funcionalidades y prestaciones a sus sistemas,
plantendose la necesidad de disponer de sistemas de
informacin de apoyo a la toma de decisiones (DSS, Decisin
Support Systems) que les permitan analizar el negocio, prever
su evolucin y decidir estrategias de futuro.

Es el inicio del desarrollo de la tecnologa de Almacenes de
Datos (DW, Data Warehouse) y de las tcnicas de anlisis de
datos conocidas como Minera de Datos (DM, Data Mining).
Orgenes de la tecnologa de
Almacenes de Datos
La aparicin de los sistemas de almacenes de datos,
ha abierto nuevos lneas de investigacin y desarrollo
en el rea de Bases de Datos:

1. Nuevos modelos de datos,
2. Metodologas de diseo,
3. Optimizacin de consultas,
4. Tcnicas de mantenimiento,
5. Herramientas de consulta y explotacin,
6. etc.
Orgenes de la tecnologa de
Almacenes de Datos
Las dos caractersticas ms relevantes de este nuevo tipo de sistemas son:

1. la adopcin de un nuevo modelo de datos, el modelo multidimensional, y

2. el uso de herramientas de anlisis especficas, las herramientas OLAP (On Line
Analytical Processing) www.olapreport.com

Por otro lado las ventajas del uso de este tipo de sistemas para las
organizaciones son obvias, les permiten mejorar sus servicios y productos y
hacerlas ms competitivas en un mercado cada vez ms globalizado.

El estudio hecho por Meta Group (Meyer y Canon, 1998) desvel que el 95% de
las compaas se plantean la construccin de su sistema de almacn de datos,
lo que demuestra el xito de esta tecnologa.
Almacenes de Datos ANTECEDENTES
Durante las ltimas dcadas, un porcentaje significativo de datos
corporativos han emigrado a bases de datos relacionales.

Los sistemas relacionales son utilizados ampliamente en aplicaciones
de gestin, estando especializados en el procesamiento
transaccional (sistemas OLTP, On Line Transactional Processing).

Se puede decir que actualmente la tecnologa relacional constituye la
tecnologa ms extendida para dar soporte a los sistemas de
informacin organizacionales.

Con el paso del tiempo, y en respuesta a las demandas de los usuarios,
los fabricantes de sistemas relacionales han ido ofreciendo sus
sistemas como herramientas para el desarrollo de sistemas de apoyo a
la toma de decisiones, lo que se conoce como Almacenes de
Datos.

Un almacn de datos, es un sistema que almacena informacin
histrica relativa a la actividad de una organizacin o negocio, con
fines de anlisis.
Almacenes de Datos ANTECEDENTES
El trmino almacn de datos no es totalmente nuevo, ya
que recuerda a un equipo de cmputo que a mitad de los aos
setenta extraa datos de las bases de datos de produccin, los
depuraba y los enviaba a una base de datos de usuario final.

IBM fue la primera compaa que acu el trmino almacn de
informacin (information warehouse) en el ao 1991.

Mientras otros trminos tales como :

1. Fbrica de informacin (information factory)
2. Refinera de informacin (information refinery)

Surgieron y desaparecieron, el trmino almacn de datos
(data warehouse) es ahora un trmino ampliamente aceptado.
Almacenes de Datos ANTECEDENTES
La primera generacin de sistemas de almacenes de datos fue
construida sobre ciertos principios establecidos por lderes de la
industria.

En la literatura se reconoce a dos grandes pioneros en el rea de
Almacenes de Datos:

1. Bill Inmon
2. Ralph Kimball

Estos dos cientficos, han proporcionado las definiciones y los principios
de diseo que la mayora de los profesionales utilizan hoy en da.

Aunque sus guas no sean seguidas exactamente, es comn hacer
referencia a la definicin de almacn de datos de Inmon y a las reglas
de diseo de Kimball.
Almacenes de Datos ANTECEDENTES
Aunque los almacenes de datos han tenido una aceptacin muy
desigual por sectores comerciales y reas geogrficas, se puede
decir que han captado la atencin del mundo de los negocios,
de hecho, se estima que hasta el ao 1997 se gastaron en el
mundo 15 billones de dlares en el desarrollo de sistemas de
almacenes de datos (Menefee 1998).

Hay expectativas de crecimiento de 113 billones de dlares
para el ao de 2002 (Business Wire, 31 agosto de 1998).

El mercado de las herramientas de procesamiento analtico en
lnea creci de 1 billn de dlares en 1996 a 4.3 billones de
dlares en el 2004.
Almacenes de Datos ANTECEDENTES
El uso de los sistemas de almacenes de datos ha puesto de relieve las ventajas
e inconvenientes que el desarrollo de este tipo de sistemas reporta a las
organizaciones.
Ventajas
1. Integrar datos histricos sobre la actividad de la organizacin (o negocio) en
un nico repositorio.
2. Analizar los datos del negocio desde la perspectiva de su evolucin en el
tiempo.
3. Prever tendencias de evolucin del negocio.
4. Identificar nuevas oportunidades de negocio y tomar decisiones
estratgicas.
5. Reducir los costos materiales y humanos en la toma de decisiones
Almacenes de Datos ANTECEDENTES
Inconvenientes
Riesgo de fracaso en la construccin del sistema, al
subestimar los costos de captura y preparacin de
los datos.
Riesgo de fracaso en la construccin del sistema
por cambios continuos en los requisitos de los
usuarios.
Problemas con la privacidad de los datos.

En la ltima dcada, los almacenes de datos se
han convertido en un nuevo campo de
investigacin dentro del rea de Bases de Datos,
atrayendo la atencin de investigadores de reas
relacionadas
Almacenes de Datos
Los datos que son de inters para una organizacin se encuentran,
frecuentemente, dispersos en mltiples fuentes de informacin. Para
que un usuario pueda acceder a esas fuentes de un modo integrado,
hace falta construir un sistema que integre (fsica o lgicamente) los
datos de esas fuentes.

Sin esta integracin sera necesario consultar independientemente cada
una de las fuentes y luego combinar las respuestas obtenidas.

Una solucin a este problema la proporcionan los sistemas de bases de
datos federadas. Una base de datos federada es la integracin lgica
de distintas bases de datos que funcionan en servidores
independientes (sin compartir recursos), y que pueden conectarse por
una red local (LAN, Local Area Network).

Una solucin alternativa a este problema de la integracin de fuentes
de datos, la constituyen los sistemas de almacenes de datos.
Almacenes de Datos
Los almacenes de datos integran informacin procedente de
mltiples fuentes de datos independientes en una nica base de
datos, funcionando como un repositorio de informacin histrica
que puede ser consultado directamente por los analistas de la
organizacin. El analista usa el almacn para detectar
tendencias y anomalas dentro de las actividades del negocio,
conocer el estado actual de reas de inters de la organizacin,
y tomar decisiones de futuro.

Usualmente el almacn de datos est separado de los otros
sistemas y aplicaciones de la organizacin, en una base de
datos propia. Una razn obvia para ello reside en el hecho de
que en las organizaciones es frecuente que existan diferentes
repositorios de datos, soportados por tecnologas diferentes, lo
que dificulta el acceso integrado a la informacin.
Almacenes de Datos
Una definicin clsica de almacn de
datos, tomada de Inmon, es la
siguiente:

Un almacn de datos es una coleccin
de datos orientada al dominio,
integrada, variante en el tiempo y
no voltil, diseada para dar apoyo al
proceso de toma de decisiones en una
organizacin.

Almacenes de Datos
Orientado al dominio significa que el almacn de datos est enfocado a los
datos relacionados con un rea de actividad del negocio. sta es la diferencia
de enfoque con respecto a un sistema operacional que se disea para dar
soporte a los procesos bsicos y cotidianos de la organizacin.
La Tabla muestra las diferencias entre los dos tipos de orientaciones en
distintos contextos: operacional (transaccional) y almacn de datos.
Almacenes de Datos
Integrada significa que los datos,
independientemente de las fuentes de las que
proceden, son almacenados en un nico repositorio,
unificando su formato (integracin de formato) y
unificando su significado (integracin semntica).

La integracin es un problema para muchas
empresas, particularmente cuando existen muchos
tipos de tecnologa en uso. Por ello el proceso de
integracin exige costosos y largos procesos de
limpieza, estandarizacin y agregacin (resumen) de
los datos.
Almacenes de Datos
Variante en el tiempo significa que los datos son asociados
con un punto en el tiempo: diario, mensual, bimestral,
trimestral, semestral, ao fiscal, periodo de pago, etc.

El almacn contiene grandes volmenes de informacin histrica
sobre las actividades de la organizacin y va variando en el
tiempo, recibiendo peridicamente nuevos datos.

No voltil significa que los datos no cambian (no son
actualizados) una vez que se aaden al almacn de datos.
Cualquiera que use el almacn de datos tiene la seguridad de
que la misma consulta producir siempre los mismos
resultados.
Sistema de Almacenes de Datos
Fuente 1 Fuente 1 Fuente 1 Fuente 1
...
Componentes y procesos que intervienen en un sistema de AD
Transformacin
Cargado
Extraccin
Almacn
De
Datos
SMBDR
Herramientas
OLAP
Minera de
Datos
Presentacin



Sistema de Almacenes de Datos
Donde:

Fuentes: representan los diferentes sistemas operacionales que
suministran los datos al almacn de datos.

Extraccin: es el proceso que extrae datos de las fuentes operacionales
para enviarlos al almacn de datos (seleccin de datos).

Debe realizarse una seleccin de registros y campos de los sistemas
operacionales, ya que no todos los datos de las fuentes son relevantes
para el almacn de datos.
Ejemplo: se han seleccionado dos campos del registro (categora e importe) y
slo interesan los registros que en categora contengan como valor 1, 2 o 3 y
que la fecha sea 30-09-2004.
Sistema de Almacenes de Datos
Transformacin: es el proceso que prepara
los datos de la manera adecuada, para ser
incorporados al almacn de datos.
El proceso de transformacin se compone de
las siguientes actividades:
1. Limpieza de datos
2. Integracin de formato
3. Integracin semntica
4. Conversin de estructuras internas,
5. Integracin de datos
6. Resumen o agregacin de datos.
Sistema de Almacenes de Datos
1. Limpieza de datos: Es necesaria porque los datos, procedentes de
distintas fuentes, pueden contener errores y anomalas:
inconsistencias, valores perdidos, violaciones de restricciones de
integridad, etc. Para esta actividad, se pueden emplear herramientas
de limpieza y/o herramientas de inspeccin de datos. Se puede
hablar de dos tipos de limpieza:
a) Limpieza moderada: Consiste en detectar anomalas comunes;
por ejemplo, identificar que Av. y Avenida representan la misma
informacin o bien eliminar puntos, comas, comillas y otros signos
de puntuacin.
b) Limpieza intensa: Consiste en que el usuario proponga reglas
para realizar la limpieza de datos; por ejemplo, el seor Juan Lpez
tiene una serie de concesiones con distintas direcciones, debe
considerarse como un mismo cliente o no?, esta decisin determina
como se estructurar y se almacenar la informacin.

Para trabajos de limpieza intensos, es conveniente utilizar
herramientas que se han desarrollado para esas tareas. Existen dos
grandes competidores: Enterprise/Integrator de Apertus
Technologies y la herramienta Integrity Data Reengineering de
Vality.
Sistema de Almacenes de Datos
2.Integracin de formato: Una situacin frecuente en las
organizaciones consiste en que cada una de las fuentes operacionales
est soportada por tecnologa de diferente fabricante.

Esto puede provocar que el mismo atributo sea de un determinado
tipo en uno de los sistemas y de otro tipo en otro sistema. Por ejemplo,
los nmeros de cuenta bancaria o los nmeros de telfono pueden ser
almacenados como un tipo alfanumrico en un sistema y como un tipo
numrico en otro. La fecha puede ser almacenada en muchos
formatos, ddmmyy, ddmmyyyy, yymmdd, yyyymmdd, dd mon
yyyy.

Algunos sistemas almacenan los datos en miles de segundos, otros
sistemas usan un entero que es el nmero de segundos a partir de un
instante de tiempo, por ejemplo 1 de enero de 1900. Los atributos que
almacenan datos de tipo dinero tambin son un problema, algunos
sistemas almacenan el dinero como un valor entero y esperan que la
aplicacin inserte el punto decimal, otros tienen el punto decimal ya
incorporado. En sistemas diferentes, datos de diferente tamao son
usados para valores de tipo alfanumrico como el nombre, la direccin,
la descripcin del producto, etc.
Sistema de Almacenes de Datos
3. Integracin semntica: La integracin semntica hace
referencia al significado de los datos. Ya que la informacin de
un almacn de datos proviene de diferentes sistemas
operacionales y stos son usados por diferentes secciones de la
organizacin, en cada seccin se puede dar un significado
distinto a los datos provocando confusin al analista.

Es imprescindible, por lo tanto, que cada dato que se inserte en
el almacn de datos tenga un significado preciso, que sea
conocido por todos los usuarios. Para este fin, un almacn de
datos debe disponer de un diccionario de datos que describa
cada dato registrado en el almacn. Este diccionario es parte del
almacn y es de hecho un repositorio de datos que describe los
datos.

El concepto de datos acerca de datos es referido usualmente
como metadatos.
4. Conversin de estructuras internas:
frecuentemente, los datos son estructurados
de forma distinta, cuando pasan de un
sistema operacional a un sistema de almacn
de datos. A continuacin se muestra un
ejemplo.
Sistema de Almacenes de Datos
4. Integracin de datos: es frecuente que los
datos (registros) que finalmente se van a
insertar en el almacn de datos, se
construyan a partir de otros registros de
distintas fuentes.

El proceso de integracin sigue una serie de
reglas que se disean para garantizar que el
dato que se va a cargar en el almacn es
correcto.
Sistema de Almacenes de Datos
5. Resumen o agregacin de datos: En los sistemas de
almacenes de datos, es comn realizar resmenes de registros,
aplicando funciones de agregacin, cuando stos pasan de los
sistemas operacionales al almacn de datos. Ejemplo: se
agregan los registros por categora.
Sistema de Almacenes de Datos
Carga: una vez que la informacin ha sido extrada de las fuentes y
transformada, puede ser aadida al almacn de datos. Despus de la
carga inicial la estrategia de mantenimiento ms frecuente consiste en
actualizar el almacn peridicamente (diariamente, semanalmente,
etc.).

Almacn de datos: es un repositorio de datos que contiene la
informacin que ha sido extrada de los diferentes sistemas
operacionales. Este repositorio de datos puede ser consultado
directamente por los analistas de la organizacin.

Presentacin: el componente ms externo en un sistema de almacn de
datos es el componente de presentacin, ste elabora una
presentacin amigable de los datos para los usuarios, ocultando la
complejidad del esquema del almacn de datos.
Front-End
Sistema de Almacenes de Datos
Costos de la implantacin de un AD
Servicios
Almacenamiento
Software
Hardware
En esta grfica se puede ver que el primer ao de construccin del AD se
esta constantemente en el proceso de gastar dinero, pero a medida que
trascurre el tiempo se incrementa el gasto de almacenamiento
Porcentaje
gastado por $
Ao
Sistema de Almacenes de Datos
%
usuarios
Ao
AD madura: nmero de usuario crece
Ao
Volumen
de datos
AD madura: los datos crecen
Respuesta
Ao
AD madura: Tiempo de
respuesta
Diseo de Almacenes de
Datos
Introduccin

La tecnologa de AD debido a su orientacin analtica, impone un procesamiento
y pensamiento distinto, la cual se sustenta por un modelado de Bases de Datos
propio, conocido como Modelado Multidimensional, el cual busca ofrecer al
usuario su visin respecto de la operacin del negocio.
El Modelo Dimensional es una tcnica para modelar bases de datos simples y
entendibles al usuario final. La idea fundamental es que el usuario visualice
fcilmente la relacin que existe entre las distintas componentes del modelo.
Consideremos un punto en el espacio. El espacio se define a travs de sus ejes
coordenados (por ejemplo X, Y, Z). Un punto cualquiera de este espacio
quedar determinado por la interseccin de tres valores particulares de sus
ejes.
Diseo de Almacenes de
Datos
Si se le asignan valores particulares a estos ejes. Digamos que el eje X
representa Productos, el eje Y representa el Mercado y, el eje Z corresponde
al Tiempo. Se podra tener por ejemplo, la siguiente combinacin: producto =
madera, mercado = Concepcin, tiempo = diciembre-1998. La interseccin
de estos valores nos definir un solo punto en nuestro espacio. Si el punto
que buscamos, lo definimos como la cantidad de madera vendida, entonces se
tendr un valor especfico y nico para tal combinacin.

En el modelo multidimensional cada eje corresponde a una dimensin
particular. Entonces la dimensionalidad de nuestra base estar dada por la
cantidad de ejes (o dimensiones) que le asociemos. Cuando una base puede
ser visualizada como un cubo de tres o ms dimensiones, es ms fcil para el
usuario organizar la informacin e imaginarse en ella cortando y rebanando el
cubo a travs de cada una de sus dimensiones, para buscar la informacin
deseada.

Diseo de Almacenes de
Datos
Dimensin: atributo de estructura de un cubo, compuesto de una jerarqua
organizada de categoras (niveles) que describen los datos (hechos).
Medida: conjunto de valores del cubo que suelen ser numricos, son los
valores centrales del cubo que se analizan.
Open source Penthaho Cube Designer
Diseo de Almacenes de
Datos
Los conceptos

esquema en estrella (star scheme)
esquema en copo de nieve (snowflake scheme)
esquema en constelacin (constellation scheme)
blizzard o tempestad de nieve (snowstrom scheme)
mapa de dimensin (dimension map),
hipercubo (hypercube design),
modelo multidimensional (multidimensional model)

han sido utilizados por distintos autores para abordar el modelado de
almacenes de datos. Independientemente de la metodologa seguida,
todas ellos utilizan un modelo multidimensional de datos.
Diseo de Almacenes de
Datos
En un esquema multidimensional se modela una actividad de la organizacin que
es objeto de anlisis (hecho).

El esquema multidimensional representa en el centro, la actividad con sus
indicadores relevantes (medidas) y en los extremos las dimensiones que
caracterizan la actividad al nivel de detalle al que se ha decidido representar la
actividad en el almacn.

Cada dimensin est descrita por un conjunto de atributos organizados en
jerarquas de niveles, atendiendo a las dependencias funcionales entre estos
atributos.

La representacin grfica de estos esquemas multidimensionales puede ser
variada: cubos n-dimensionales donde, cada eje representa una dimensin y
las celdas del cubo representan los hechos sobre la actividad; o esquema en
estrella, donde en el centro de la estrella se representa la actividad con sus
medidas y en cada punta de la estrella se representa una dimensin de la
actividad.
Diseo de Almacenes de
Datos
Diseo de Almacenes de
Datos
Cubo de 3 dimensiones
Diseo de Almacenes de
Datos
En el esquema multidimensional representado anteriormente, cada
celda del cubo contiene medidas (importe de la venta, nmero de
unidades vendidas, etc.) relativas a la venta:

1. de un producto (valor de la dimensin Producto),
2. en una ciudad (valor de la dimensin Ciudad)
3. en una fecha determinada (valor de la dimensin Tiempo).

Un ejemplo de hecho sera:
[(Ciudad: Valencia, Producto: sopa, Tiempo: 19-10-2004), (100, 20)].
Que debe interpretarse como:

Las ventas de sopa realizadas en Valencia el da 19-10-2004 fueron de
20 unidades por un importe de 100 pesos.
Diseo de Almacenes de
Datos
Esquema multidimensional en forma de estrella
Diseo de Almacenes de
Datos

Durante el anlisis de datos sobre un almacn de datos, el analista
usualmente consulta informacin agregada, rara vez consulta los hechos
individuales al nivel de detalle al que estn almacenados. Ello se realiza a
travs de las dimensiones: sus niveles y jerarquas.

Los atributos de una dimensin no son independientes entre s, existe
siempre un atributo identificador (en el ejemplo: da en la dimensin
Tiempo, Id_producto en la dimensin Producto, e Id_ciudad en la
dimensin Ciudad) y suele haber dependencias funcionales entre los
atributos, lo que permite definir jerarquas.

Una jerarqua de una dimensin es un conjunto ordenado de atributos que
parte del nivel raz (atributo identificador).

Las jerarquas de una dimensin van a representar los diferentes niveles
de agregacin de las medidas durante el anlisis de datos, y la va o el
camino para realizar operaciones de agregacin (ROLL) y disgregacin
(DRILL) propias de las herramientas de OLAP.
Diseo de Almacenes de
Datos
Obsrvese que en la Figura las tres dimensiones del ejemplo slo cuentan
con una jerarqua.
Diseo de Almacenes de
Datos
Diseo de Almacenes de
Datos
En las dimensiones de los esquemas multidimensionales reales es usual que
en una dimensin exista ms de una jerarqua, como se ilustra a continuacin.
Diseo de Almacenes de
Datos
Modelo o esquema de estrella

El esquema de estrella es una tcnica de modelado de datos
usada para hacer corresponder un modelo multidimensional a
una base de datos relacional, debe su nombre a que
grficamente parece una estrella.

El esquema de estrella tiene 4 componentes: hechos,
dimensin, atributos y jerarqua de atributos. Los hechos y
dimensiones son representados por tablas fsicas en el AD, la
tabla de hechos est relacionada a cada dimensin en una
relacin de uno a muchos. Las tablas de hechos y dimensiones
estn relacionadas por llaves forneas.
Diseo de Almacenes de
Datos
Diseo de Almacenes de
Datos
Modelo de copo de nieve

Este modelo es un variacin del modelo de
estrella, lo que se hace es que en cada
dimensin se almacenan jerarqua de
atributos o simplemente se separan atributos
en otra entidad por razones de desempeo y
mejor utilizacin del espacio. En la siguiente
grfica se muestra la dimensin producto
modificadas, separando sus datos generales
de sus otras caractersticas.
Diseo de Almacenes de
Datos
Herramientas OLAP
(On-Line Analytic Processing)
El trmino OLAP, fue introducido en el ao 1993 por E. F. Codd, para referirse a una nueva
familia de herramientas para el anlisis de datos.

Qu es el proceso analtico en lnea?

Es una tecnologa que permite a los analistas (administradores) visualizar y navegar los
datos accediendo a una amplia variedad de vistas posibles de la informacin de manera
interactiva, rpida y eficiente.

Las herramientas OLAP se basan en el modelo multidimensional de datos, es decir
presentan a los usuarios una visin multidimensional de los datos, independientemente del
servidor que soporte el almacn de datos.

Estas herramientas representan una mejora respecto a los tradicionales generadores de
informes de los gestores de bases de datos. En cualquier caso, son herramientas que
permiten explorar los datos almacenados y que no permiten extraer conocimiento de
ellos, como harn las herramientas de Minera de Datos.
Herramientas OLAP
Las caractersticas bsicas de estas herramientas son:

- Ofrecer una visin multidimensional de los datos: hechos-dimensiones.
- No imponer restricciones sobre el nmero de dimensiones.
- Ofrecer simetra para las dimensiones.
- Permitir definir jerarquas sobre las dimensiones.
- Ofrecer operadores sobre consultas: operador de DRILL y operador de ROLL
Agregacin (ROLL): permite cambiar (o eliminar) un criterio de agrupacin en el
anlisis, agregando los grupos actuales, obteniendo as un informe ms resumido.

Disgregacin (DRILL): permite cambiar (o introducir) un nuevo criterio de
agrupacin en el anlisis, con lo que se disgregan los grupos actuales, obteniendo
un informe ms detallado.
Slice y Dice: este nos permite hacer una seleccin y proyeccin de los datos que uno
requiere
Pivot (rotar): reorientar el cubo

Herramientas OLAP
Anlisis de datos con agregacin (ROLL)
Anlisis de datos con disgregacin (DRILL)
Slice: Al seleccionar un miembro en particular de una dimensin se forma una
especie de rebanada (slice) del cubo original.
Herramientas OLAP
Herramientas OLAP
Dice: Al seleccionar varios miembros de varias dimensiones se forma un
subcubo, cubo ms pequeo (Dice).
Herramientas OLAP
Herramientas OLAP
Herramientas OLAP
Herramientas OLAP
Las herramientas OLAP ofrecen una visin multidimensional del
almacn, que permite a los usuarios disear informes de una forma
amigable y sencilla, seleccionando exclusivamente los atributos de las
dimensiones y de los hechos que se desean ver en el informe.

La herramienta debe tener definida la correspondencia entre el
esquema multidimensional mostrado y el esquema real del almacn de
datos, siendo ste ltimo transparente para el usuario.

Adems la herramienta ofrece facilidades para el anlisis de datos:
nuevas funciones estadsticas, operadores especficos: DRILL, ROLL,
SLICE, DICE, definicin de condiciones para filtrar los datos, etc.
ROLAP vs MOLAP
Sistemas ROLAP y sistemas MOLAP

As como para las metodologas de diseo de almacenes de datos se ha consensuado y
adoptado un modelo multidimensional de datos, respecto a la implementacin (esquema
fsico) del esquema conceptual (multidimensional), se han seguido dos aproximaciones:
los sistemas ROLAP y los sistemas MOLAP.

Sistemas ROLAP (Relational On-Line Analytical Processing): se trata de usar gestores
de bases de datos relacionales, con ciertas extensiones y facilidades nuevas. Ejemplos:
Informix, SQL Server, Oracle. En estos sistemas, las herramientas OLAP son las
encargadas de transformar el esquema relacional del almacn en un esquema
multidimensional para el usuario se ilustra en
Sistemas MOLAP (Multidimensional On Line Analytical Processing): se trata de construir
gestores de propsito especfico, basados en el uso de estructuras de almacenamiento
de tipo matrices multidimensionales ( ), que favorezcan el tipo de anlisis que se
hace en estos sistemas. Ejemplo: Hyperion Esbasse OLAP Server.
ROLAP vs MOLAP
ROLAP vs MOLAP
La principal ventaja de los sistemas MOLAP es
que mantienen una correspondencia directa entre
los datos almacenados y la vista que de ellos
tiene el usuario (multidimensional). Se ha
demostrado que las matrices multidimensionales
son estructuras de datos muy adecuadas para el
anlisis de datos.
La ventaja principal de los sistemas ROLAP reside
en la posibilidad de utilizar una tecnologa
ampliamente extendida y utilizada para la gestin
de datos, los sistemas relacionales
Vistas
Definicin 1: en una Base de Datos Relacional una vista es una relacin virtual definida por
una consulta a la Base de Datos. La consulta puede ser expresada en cualquier lenguaje
relacional (SQL, clculo relacional, lgebra relacional).

CREATE VIEW nombre_vista
[(atributo1, atributo2, )] AS
instruccin_SELECT

Create view Vista1 as
select c1,c7,c8 from Tabla where c1<100

/* con esta vista el resto de los atributos de la tabla son ignorados, igual pueden agregarse o
quitarse atributos a la tabla y la vista seguir funcionando (siempre y cuando c1,c7 y c8 no
se borren)
*/
Select * from Vista1 /*Ejecutando la consulta sobre la vista*/

Vistas Project-Select Join
Definicin 2: Una vista PSJ (Project-Select-Join) es una vista definida por una
expresin relacional de la forma.
V =
Proj
(
Cond
(r
1
r
2
... r
n
))
Donde:

Proj
representa el operador proyeccin sobre el conjunto de atributos Proj de las
relaciones r
1
, r
2
, , r
n

Cond
representa el operador seleccin sobre la condicin lgica Cond definida
sobre las relaciones r
1
, r
2
, , r
n
,
representa el operador de concatenacin (NATURAL JOIN) entre dos relaciones.

select Codigo,Ciudad,Fecha,Sum(Importe) as Ventas, count(*) as Unidades
From Ventas V, VentasD VD where V.FOLIO=VD.FOLIO AND VD.IMPORTE>500
GROUP BY Codigo,Ciudad,Fecha
Vistas Materializadas
Definicin 3: Una vista materializada es una
vista cuya extensin (tuplas) se almacena
explcitamente (en una tabla).
Vistas Materializadas
Vista Materializada
Vista
Select * from Vista1
Ejecutando la vista
SELECT * INTO VistaMaterializada from vista1 Creando la vista materializada
El select into permite crear una tabla con la informacin que da la vista
Vistas Materializadas
La ventaja de las vistas materializadas es obvia, ya que para consultar la
vista slo hace falta acceder a los bloques de datos donde se encuentra
almacenada, sin necesidad de volver a evaluar la expresin relacional que
la define. El uso de vistas materializadas reduce el coste de la consulta y
mejora el rendimiento de los sistemas de bases de datos.

Cuando se usan vistas materializadas se debe garantizar a los usuarios la
consulta en todo momento de una versin actualizada de la vista, es decir,
el resultado de la consulta debe ser equivalente al que se obtendra
evaluando sobre la base de datos la expresin relacional que define la
vista. Por lo tanto, cada vez que una relacin bsica es actualizada, las
vistas materializadas afectadas por la actualizacin, debern ser
actualizadas.
Vistas Materializadas
Desde un punto de vista terico, y en un contexto
relacional, un sistema de almacn de datos puede ser visto
como un conjunto de vistas materializadas definidas a partir
de las relaciones de las bases de datos operacionales que
soportan el almacn.

Desde esta perspectiva, el problema del mantenimiento de
un almacn de datos puede ser visto como un caso
particular del problema general del mantenimiento de
vistas materializadas, con lo que todos los resultados y
avances de la investigacin en esta lnea pueden ser
aprovechados, adaptndolos al nuevo contexto.
Actualizacin de AD
Para que el contenido del almacn de datos est
sincronizado con el contenido de las fuentes
(sistemas operacionales), cualquier actualizacin
en una fuente, que sea relevante para el almacn,
debe ser transmitida al almacn para que ste sea
actualizado. El desajuste temporal entre estos dos
procesos de actualizacin, puede hacer que el
almacn no est sincronizado con las fuentes, es
decir el almacn no contenga datos que seran
derivables en un instante de tiempo, del contenido
de las fuentes.
Actualizacin de AD
Ejemplo: considrese las relaciones r1(W,X), r2(X,Y) del sistema operacional y
la relacin V del almacn de datos definida como V=
W,Y
(r1 r2) r1.x=r2.x.
Si un analista consulta la
extensin de la vista V,
obtendr la respuesta
{[1, 5]}.
Ahora supngase que se producen dos actualizaciones en el sistema operacional:
insert(r1, [4,5]) e insert(r2, [4,5]).
La VM V no esta
sincronizada con las
relaciones fuentes
Actualizacin de AD
Obsrvese que el estado de V es el mismo, lo que indica una
desincronizacin entre el sistema operacional y el almacn de datos, ya
que las actualizaciones que se han realizado en las relaciones r1 y r2 no
se han reflejado todava en la relacin V. Cuando el mismo analista
realiza de nuevo la consulta sobre la relacin V obtiene la misma
respuesta {[1, 5]}, es decir, no obtiene la informacin ms reciente que
se puede derivar de las relaciones r1 y r2, aunque s obtiene una
informacin consistente con la lectura anterior.

Se dice que el analista realiza una consulta consistente aunque el
almacn de datos no est sincronizado con las fuentes.

La historia de un almacn de datos puede verse como una secuencia de
estados (o versiones) donde la transicin de una versin a la siguiente se
produce por la ejecucin de una transaccin de mantenimiento. Si
un analista accede a la misma versin sus lecturas sern consistentes,
independientemente de que la versin est o no sincronizada con las
fuentes.
Actualizacin de AD
El estado de la relacin V sincronizada con las relaciones r1 y r2 sera el que se
muestra a continuacin.
Mantenimiento de AD
Un objetivo deseable en el mantenimiento de
almacenes de datos es conseguir que los analistas
del sistema puedan ejecutar sus transacciones de
consulta simultneamente a la ejecucin de las
transacciones de mantenimiento del almacn, sin
que unas transacciones bloqueen a las otras,
debido a que requieran mucho tiempo de
ejecucin.

Durante el anlisis sera inaceptable tener
diferentes resultados de una misma consulta
Mantenimiento de AD
En base a lo anterior, podemos sealar los
siguientes objetivos para las polticas de
actualizacin de almacenes de datos:
Conseguir que los analistas tengan acceso a un
mismo estado (o versin) del almacn de datos
durante su sesin de trabajo, y que este estado
est lo ms sincronizado posible (en el tiempo) con
las fuentes.
Reducir al mximo el tiempo que el almacn de
datos se encuentra inhabilitado para los usuarios
(analistas), debido al proceso de mantenimiento.
Mantenimiento de AD
El mtodo ms comnmente usado en los sistemas
comerciales de almacenes de datos, para garantizar
la consistencia sin bloqueos consiste en realizar el
mantenimiento del almacn durante la noche,
tiempo en el que el almacn de datos esta
inhabilitado para los analistas, es decir la
transaccin de mantenimiento y las transacciones
de consulta de los analistas nunca se ejecutan al
mismo tiempo
Mantenimiento de AD
Noche Da Noche Noche Da
Analistas
Transacciones
de
mantenimiento
Mantenimiento de VM
En la literatura se comenta el hecho de que existen muchos algoritmos para el
mantenimiento de vistas materializadas que fallan en un contexto de almacenes
de datos.

Las causas de esta situacin son muy variadas. Las fuentes operacionales
pueden ser sistemas antiguos que no sean capaces de manejar vistas o que no
conozcan la definicin de las vistas materializadas del almacn.

En este caso, las fuentes pueden informar al almacn de las actualizaciones que
han tenido lugar, pero ignoran los datos adicionales que van a ser necesarios
para calcular las actualizaciones que se deben realizar sobre el almacn.

Cuando la informacin sobre una actualizacin llega al almacn, ste puede
necesitar consultar datos de algunas de las fuentes. Estas consultas sern
evaluadas en las fuentes en un instante de tiempo posterior a la actualizacin,
por lo que el estado de la fuente puede haber cambiado. Este desajuste temporal
entre la actualizacin de las fuentes y la actualizacin del almacn, puede
conducir a inconsistencias en el mantenimiento de las vistas materializadas. El
siguiente ejemplo ilustra este hecho
Mantenimiento de VM
Considrese una fuente de datos operacional con las
relaciones bsicas r1(w,x) y r2(x,y), con extensiones iniciales
r1={[1,2]} y r2={[2,3]}, y un almacn de datos con una vista
materializada V = [w,y (r1r2), de extensin inicial
V={[1,3]}, definida a partir de ellas.



Supngase que tienen lugar dos actualizaciones sucesivas en
las relaciones bsicas; U1=delete(r1,[1,2]) y
U2=delete(r2,[2,3]), las siguientes acciones tendrn lugar.
Mantenimiento de VM
La fuente ejecuta la actualizacin U1=delete(r1,[1,2]) y enva U1 al almacn.

El almacn recibe U1 y enva la consulta Q1=[w,y ([1,2] r2) a la fuente.

La fuente ejecuta la actualizacin U2=delete(r2,[2,3]) y enva U2 al almacn.

El almacn recibe U2 y enva Q2=[w,y (r1 [2,3]) a la fuente.

La fuente recibe Q1 y evala la respuesta A1 = [w,y ([1,2] { }) = { }.

El almacn recibe A1 y actualiza la vista, V V - A1 [1,3] { } = {[1,3]}.

La fuente recibe Q2 y evala la respuesta A2 = [w,y ({ } [2,3]) = { }.

El almacn recibe A2 y actualiza la vista, V V - A2 [1,3] - {} = {[1,3]}.

El estado final de la vista es inconsistente ya que las relaciones r1 y r2 estn vacas y la
vista contiene la tupla [1,3].

Mantenimiento de VM
Mantenimiento de VM
Mantenimiento de VM
En la literatura se establece que los algoritmos de mantenimiento de
vistas materializadas pueden clasificarse en funcin de los siguientes tres
criterios: el cmo, el cundo y el contexto en que se realiza el
mantenimiento.
Recalcular de nuevo la vista: Una vista materializada puede actualizarse, en
cualquier instante de tiempo, volviendo a evaluar la expresin relacional que la
define y almacenando de nuevo su extensin.
Mantenimiento de VM
Mantenimiento incremental. La vista materializada V se actualiza
incrementalmente, si para cualquier actualizacin en cualquiera de las
relaciones bsicas (Ri), se calcula la actualizacin de la vista, V,
provocada por Ri
Mantenimiento de VM
Mantenimiento de VM
Mantenimiento en tiempo real.

La actualizacin de vistas materializadas en tiempo real se
realiza a partir del establecimiento de un canal de
comunicacin entre el almacn de datos y los sistemas
operacionales, de manera que cada vez que se produce una
actualizacin en las relaciones bsicas del sistema
operacional, dicho sistema informa al almacn de datos de
los cambios enviando las actualizaciones necesarias para
mantener la consistencia con las vistas materializadas.
Mto. VM(spj) en tiempo real
Algoritmo Eager Compentsating Algorithm (ECA)

Es un algoritmo de mantenimiento incremental, basado en el algoritmo
Efficiently Updating Materialized View, ECA cuenta con la caracterstica de
anticiparse a las anomalas que surgen debido al desacoplamiento entre las
actualizaciones de las relaciones bsicas y la actualizacin de las vistas.
Definicin: Ui denota la actualizacin
Definicin: el conjunto de consultas que no han recibido respuestas UQS, es el
conjunto de todas las consultas que el almacn de datos ha enviado hacia
alguna fuente pero an no han recibido respuesta.
Definicin: Qi denota la consulta enviada por el almacn de datos, en respuesta
a la actualizacin Ui.
Definicin: V<U> denota la expresin vista V con la tupla U sustituida por las
relaciones Us.
Algoritmo ECA
Resultado = 0
W_upi : recibe Ui ;
Qi = V<Ui> - EQj UQS Qj <Ui>
enva Qi a la fuente
Dispara un evento S_qui en la fuente
W_ANSi : recibe Ai ;
Resultado=Resultado + Ai ;
if UQS = 0 Then
{
MV = MV + Resultado;
Resultado=0
}
Algoritmo ECA
insercin y borrado con el algoritmo ECA
Supngase que se tienen las relaciones bsicas r1(W,X) y r2(X,Y) y la vista V= W (r1 r2).

r1={[1,2],[4,2]}, r2={} y V={}.
El DW recibe U1=delete(r1,[4,2]))
DW enva Q1=V<U1> = W ( (-[4,2]) r2)
= - W ( ([4,2]) r2)
El DW recibe U2=insert(r2,[2,3])
UQS=[Q1}
Q2=V<U2> - Q1<U2>
Q2 = W (r1 [2,3]) - W ( (-[4,2]) [2,3])
Q2 = W (r1 [2,3]) + W ( ([4,2]) [2,3])
El DW recibe A1=-[4], resultado de la evaluacin de Q1:
A1= - W ([4,2] [2,3])= {-[4]}
Resultado={}+{-[4]}= {-[4]}
El DW recibe A2={[1],[4]}
A2 = W (r1 [2,3]) + W ( ([4,2]) [2,3])
A2 = W ({(1,2)} [2,3]) + W ( ([4,2]) [2,3])
{[1,2,3]} [4,2,3]
{[1] } + { [4]}= {[1],[4]}
Resultado= {-[4]}+{[1],[4]}={[1]}
MV=MV+Resultado = {}+{[1]}={[1]}.
Algoritmo ECA
Considrense las relaciones bsicas r1(W,X), r2(X,Y), r3(Y,Z) y la vista V= W (
r1 r2 r3 ) y supngase que los siguientes eventos tienen lugar.
Inicialmente la vista materializada es V={}. Las relaciones r2 y r3 estn vacas y
r1={[1,2]}. Las actualizaciones se realizan primero en las relaciones bsicas
antes de que las consultas sean respondidas.
1. El DW recibe U1=insert(r1,[4,2])
DW enva Q1=V<U1>= W ([4,2] r2 r3)
Q1 se encuentra pendiente de respuesta (PR)
2. El DW recibe U2=insert(r3,[5,3])
UQS={Q1} Conjunto de consultas sin obtener respuesta
DW enva Q2=V<U2>-Q1<U2>
Q2= W (r1 r2 [5,3]) - W ( [4,2] r2 [5,3]) (PR)
3. El DW recibe U3=insert(r2,[2,5])
UQS = {Q1, Q2 }
Q3=V<U3> - Q1<U3> - Q2<U3> =
W (r1 [2,5] r3) - W ([4,2] [2,5] r3) - W ((r1-[4,2]) [2,5]
[5,3])

Algoritmo ECA
4. El DW recibe A1={[4]}, resultado de la evaluacin de Q1:
A1= W ([4,2] {[2,5]} {[5,3]})
[{4, 2, 5, 3]} proyeccin w A1={[4]}
Resultado = {} + {[4]}={[4]}, UQS={Q2,Q3}
5. El DW recibe A2={[1]}, resultado de la evaluacin de Q2:
A2=
W ({[1,2],[4,2]} {[2,5]} [5,3]) - W ( [4,2] {[2,5]}
[5,3])
{[1, 2, 5, 3] {[4, 2, 5, 3]}
[4, 2, 5, 3] }dif={[1, 2, 5, 3]}, proyeccion w A2= W
dif = {[1]}
resultado=({[4]}+{[1]}={[1],[4]}, UQS={Q3}
Algoritmo ECA
6. El DW recibe A3 = {}, resultado de la evaluacin de Q3:
A3=
W ({[1,2],[4,2]} [2,5] {[5,3]}) - W ( [4,2], {[2,5]}
{[5,3]})
{[1, 2, 5, 3] {[4, 2, 5, 3]
[4, 2, 5, 3]}
{[1, 2, 5, 3]}
(( {[1,2],[4,2]} [4,2] ) [2,5] [5,3]) )
{[1,2]} dif={}, A3=w dif={}
{[1, 2, 5,3]}
{[1, 2 ,5, 3]}
El almacn de datos actualiza la vista: MV={} + Resultado=([1],[4])
Algoritmo Strobe
En cada fuente:
Despus de ejecutar la actualizacin Ui, enva Ui al almacn de datos.
Sobre el recipiente de consultas Qi, calcula la respuesta Ai, sobre ss[x] (estado actual de
la fuente) y enva Ai al almacn de datos.
En el almacn de datos
Inicialmente AL=<>, conjunto vaci.
Sobre recipiente de actualizacin Ui:
if Ui es ELIMINAR
Qj e UQS agregar pending (Qj)
agregar key_delete(MV,Ui) a AL
if Ui es INSERTAR
Qi=V<Ui> y asignar pending(Qi)=0
Ai=source_evaluated(Qi)
Uj e pending(Qi), aplique key_delete(Ai,Uj)
agregar insert(MV,Ai) a AL
Cuando UQS=0 aplicar AL a MV como una transaccin sencilla, sin agregar tuplas
duplicadasa MV, inicalice AL=<>.
Algoritmo 2VNL
Evolucin del almacn actualizado con el algoritmo 2VNL
El algoritmo 2VNL permite que los analistas tengan disponible el almacn de
datos sin interrupcin. El algoritmo es un algoritmo en batch, en lnea que
implementa un control de la concurrencia entre consultas y actualizaciones de
tipo multiversin, muy apropiado para el mantenimiento de vistas materializadas
en un contexto de almacenes de datos. El nombre, 2VNL, significa: two-version
(se mantienen simultneamente dos versiones de las tuplas), no-locking (no
existe bloqueo).
Algoritmo 2VNL
considrese un almacn de datos que contiene informacin sobre las
ventas realizadas en una cadena de tiendas. El almacn contiene la
vista materializada que se muestra a continuacin.
Sea A={A1, A2,..., An} el conjunto de atributos de la relacin R, y sea A'={Ai,
Aj,..., Ak} el subconjunto de A que representa los atributos actualizables.
El esquema extendido de R ser:

{TuplaVN, Operacin, A1, A2,..., An, A
p
i
, A
p
j
..., A
p
k
}

Donde A
p
i
denota el atributo pre-actualizado correspondiente al atributo Ai
Algoritmo 2VNL
Ciudad
Producto
Fecha
Ventas
VentasDia
Esquema modificado
de la VentasDia para
que el algoritmo 2VNL
pueda trabajar
TuplaVN
Operacin
Ciudad
Producto
Fecha
Ventas
PreVentas
CurrentVN es utilizada por el algoritmo 2VNL para asignar un
nmero de transaccin a cada nueva transaccin de
mantenimiento.
TuplaVN indica la ltima versin
del almacn de datos en la que
la tupla sufri una actualizacin
Operacin que indica la ltima
operacin realizada sobre la
tupla, sta puede ser insert,
delete, o update
Se aade un conjunto de
atributos Pre-actualizados que
contienen el valor de los
atributos actualizables antes de
que se produjera la ltima
actualizacin de la tupla.
CurrentVN MaintenanceActive
0 False
Tabla de Control
indica si una transaccin de
mantenimiento est activa en cada
momento
En el peor de los casos, cuando todos los
atributos sean actualizables, mantener
dos versiones de las tuplas exige
aproximadamente el doble de espacio de
almacenamiento. Sin embargo es
frecuente que muchos atributos del
almacn de datos no sean actualizables,
por ejemplo, los valores de agrupacin
(GROUP BY) que se usan para definir una
tabla agregada no pueden ser
modificados por una transaccin de
mantenimiento
2VNL
Para ilustrar como funciona el algoritmo 2VNL, supngase que la vista
materializada VentasDia es cargada con las tuplas que se muestran a continuacin.
Se considera que la carga inicial es la transaccin de mantenimiento 1, es por
ellos que la tabla de Control tiene en CurrentVN el valor de 1.
2VNL
En las siguientes tablas se detalla como el algoritmo 2VNL actualiza la vista
materializada VentasDa, suponiendo que las siguientes transacciones de
mantenimiento tienen lugar:
La transaccin de mantenimiento 2, inserta la tupla <LA, Beisball, 15-12-04,
30000> y actualiza el importe de ventas de la tupla <Barkely, Raquetbaill, 13-
10-04> a 55000.
2VNL
La transaccin de mantenimiento 3, actualiza el importe de ventas de la tupla
<Jos, Golfequip, 15-10-04> a 78000
Un analista con nmero de sesin 2 que consulta la tabla en el estado anterior, lee las tuplas
que se muestran. Este usuario se conect al sistema cuando la ltima versin actualizada del
almacn era la versin 2, independientemente de que estuviese ya en marcha o no la
transaccin de mantenimiento TM3.
2VNL
La transaccin de mantenimiento TM4, actualiza el importe de ventas de la tupla
<LA, Beisball, 15-12-04> a 100000
La transaccin de mantenimiento TM5, actualiza el importe de ventas de la tupla
<Jose, Golf equip, 15-10-04> a 155999.
2VNL
Si el mismo analista con nmero de sesin 2, consultase la tabla VentasDa en el
estado anterior, leera el siguiente conjunto de tuplas:
Obsrvese que los resultados mostrados aqu son errneos. Existe una
inconsistencia con la lectura anterior de la tupla, <Jos, Golfequip, 15-10-04> ya
que para una misma sesin de trabajo el analista lee valores diferentes para el total
de ventas. Este hecho obliga a que las sesiones de los analistas sean expiradas
cuando ya no se les puede ofrecer lectura consistente (la misma vista) del almacn
de datos. Cuando termina la transaccin de mantenimiento 4 deben ser abortadas
las sesiones de usuario con nmero de sesin 2.
2VNL
La consulta anterior, de un usuario con nmero de sesin 2, se puede expresar
por medio de una secuencia de instrucciones en SQL
NVNL
El algoritmo 2VNL evita el problema de mantener el almacn de datos
inhabilitado para los analistas mientras se est actualizando, ya que
permite ejecutar concurrentemente la transaccin de mantenimiento y
las transacciones de usuario. Sin embargo, este algoritmo presenta una
limitacin: la sesin de un usuario puede expirar debido a que slo se
mantienen dos versiones del almacn de datos. Para superar esta
limitacin, se puede extender el algoritmo 2VNL al caso NVNL, en el
que se mantienen N versiones del almacn de datos.
Incrementando a N el nmero de versiones se aumenta la franja de
tiempo en la que la sesin de los analistas puede estar activa. Por
ejemplo, supngase que i representa el intervalo mnimo que existe
entre la ejecucin de dos transacciones de mantenimiento y m
representa el tiempo (duracin) que requiere la transaccin de
mantenimiento ms corta, entonces el algoritmo 2VNL garantiza que las
sesiones de analistas con una duracin mxima m+i nunca expirarn
NVNL
En el algoritmo 3VNL las sesiones de analistas con duracin mxima de 2i + m
nunca expirarn. En general NVNL garantiza que las sesiones de analistas con
una duracin mxima de (n-1) * (i+m) m nunca expirarn.
NVNL
Por ejemplo, el esquema
de la relacin VentasDa
para 4VNL se representa
NVNL
La transaccin de mantenimiento 3 inserta la tupla <Jose, Sport, 14-10-96,
10000>
La transaccin de mantenimiento 5, actualiza la tupla <Jose, Sport, 14-10-96>,
con el total de ventas a 10200
NVNL
La transaccin de mantenimiento 6, borra la tupla <Jose, Sport, 14-10-96>.
Un analista con nmero de sesin 6, que consulte la tupla <Jose, Sport, 14-10-
96>, no leer ningn valor, ya que la tupla ha sido borrada por la transaccin de
mantenimiento 6.
NVNL
Un analista con nmero de sesin e {3, 4} que consulte la tupla <Jose, Sport, 14-
10-96> leer la tupla lgica que se muestra a continuacin.
Un analista con nmero de sesin 5 que consulte la tupla <Jose, Sport, 14-10-
96>, leer la tupla lgica que se muestra a continuacin
Un analista con nmero de sesin 2 que consulte la tupla <Jose, Sport, 14-10-
96>, no leer ningn valor ya que el campo pre-actualizado para la versin
correspondiente es nulo.
Un analista con nmero de sesin menor que 2, que consulte la tupla <Jose,
Sport, 14-10-96>, no podr leer y su sesin ser abortada, se dice que su
sesin ha expirado.
NVNL
Algoritmo VNLTR (versiones ilimitadas, no candados y tiempo real)
El algoritmo VNLTR realiza la actualizacin del almacn de datos en lnea, en
tiempo real y es automantenible, el tipo de vistas materializadas que resuelve son
SPJ con funciones de agregacin.
La caracterstica de automantenible est definida para un patrn de vistas
materializadas definidas como agregaciones de relaciones bsicas. Para asegurar
esta caracterstica, es necesario que para cada relacin bsica R que interviene en
la definicin de una vista V se defina una tabla auxiliar TAR.
CREATE VIEW V AS
SELECT Ai, ..., Aj
Ag(Bk), ..., Ag(Bl), Ag(Dk), ..., Ag(Dl)
FROM R1, R2
WHERE Ai=Ci AND ... AND Aj=Cj
GROUP BY Ai, ..., Aj .
Atributos de las
relaciones bsicas
Atributos
modificables
En la tabla auxiliar TAR existen dos tipos de atributos:
Atributos de Clave Primaria: son los atributos que estn en el GROUP BY de la
sentencia SELECT que define la vista.
Atributos actualizables: son los que pueden cambian de valor y definen un
atributo agregado de la vista.
Las tablas auxiliares sern utilizadas para almacenar los valores parciales de los
atributos actualizables de la vista, que estn definidos por funciones de
agregacin. El nombre de estos atributos se forma con el prefijo
DW<FuncinAgregacin>. En este algoritmo se han considerado las funciones de
agregacin Sum, Count, Avg, Min y Max, de tal forma que los nombres de los
atributos de estas tablas auxiliares se forman a partir del nombre del atributo de
la relacin bsica de la forma y el correspondiente prefijo:
Algoritmo VNLTR (versiones ilimitadas, no candados y tiempo real)
Los datos almacenados en estas tablas
auxiliares sern utilizados posteriormente,
para el clculo de las nuevas versiones de
las tuplas de la vista.
Algoritmo VNLTR (versiones ilimitadas, no candados y tiempo real)
para cada tabla auxiliar que contenga atributos con las funciones Min y/o Max,
se necesita una tabla asociada con el esquem
Clave primaria: est formada por los atributos Ai, ..., Aj, AtrMinMax, y AtrValor,
donde Ai, ..., Aj son los atributos que constituyen la clave primaria de la tabla
auxiliar.
AtrMinMax: contiene el nombre del atributo de la relacin bsica al que se le
aplica la funcin Min o Max.
AtrValor: contiene el valor mnimo (o mximo) del atributo en AtrMinMax.
AtrVeces: contiene el nmero de veces que se encuentra el valor mnimo (o
mximo) en el sistema operacional.
Para cada vista materializada se definen dos tablas que representarn la vista
de la siguiente forma:
Una tabla H formada por los atributos de la clave primaria de la vista, los
atributos que no son actualizables y el atributo ltimoVN que indica el nmero
de la ltima transaccin de mantenimiento que modific la tupla.

Una tabla D cuyas filas representan distintas versiones de las tuplas. Esta tabla
D esta formada por los atributos de la clave primaria de la vista original, los
atributos VnInicio, VnFin, OperacinVN y los atributos que son actualizables.
VnInicio y VnFin son atributos de control que indican para qu sesiones de
usuario es visible una versin de la tupla, y OperacionVN indica la operacin
lgica que gener la versin de la tupla.

Es decir, el nmero de la versin del almacn en la que fue modificada la tupla.
Algoritmo VNLTR (versiones ilimitadas, no candados y tiempo real)
Algoritmo VNLTR
Para ilustrar la definicin del esquema de la vista materializada que usa el
algoritmo VNLTR , supngase que tiene la siguiente vista materializada.
El esquema
modificado
de la vista se
muestra
Algoritmo VNLTR (versiones ilimitadas, no candados y tiempo real)
Algoritmo VNLTR
El algoritmo necesita un Monitor/Wrapper (asociado a cada relacin bsica) que se
ejecuta despus de que se haya realizado una insercin o borrado en las
relaciones bsicas. Los monitores son los responsables de actualizar las vistas
auxiliares y de decidir si el almacn de datos debe actualizarse.
En esta propuesta no existe una transaccin de mantenimiento definida como tal
ya que las actualizaciones de los sistemas operacionales se reflejan
inmediatamente en las vistas auxiliares (actualizacin en tiempo real), sin
embargo se considerar que una transaccin de mantenimiento finaliza cuando se
cumplen dos condiciones:
1. un analista realiza una consulta y,
2, antes de la consulta se ha generado desde las tablas auxiliares por lo menos
una actualizacin del almacn de datos.
Algoritmo VNLTR
A continuacin se detalla como el algoritmo NVNLTR ir modificando la vista
materializada del almacn de datos (definida a continuacin).
Se supone que las siguientes operaciones de mantenimiento se realizaron en el
almacn de datos:
Algoritmo VNLTR
Insertar en Docencia la tupla <20, 5, 10>
Algoritmo VNLTR
Insertar en Investigacin la tupla <20, 5, 5>
Algoritmo VNLTR
Insertar en Asesora la tupla <20, 5, 3>
Algoritmo VNLTR
Insertar en Asesora la tupla <30, 5, 4>
Algoritmo VNLTR
Borrar en Asesora la tupla <20, 5, 3>
Algoritmo VNLTR
Borrar en Asesora la tupla <30, 5, 4>
Algoritmo VNLTR
Un analista realiza una consulta al almacn de datos.
Algoritmo VNLTR
Insertar en Asesora la tupla <30, 5, 15>
Algoritmo VNLTR
Despus de la actualizacin, el valor de la tabla de control ser el siguiente.
Como se puede observar en la Figura anterior la tabla de control no se actualiza
cuando se realiza una actualizacin al almacn de datos. La tabla de control es
actualizada cuando se cumplen los dos criterios que indican que una transaccin
de mantenimiento ha finalizado: un usuario ha consultado el almacn, y antes
de la consulta se ha producido una actualizacin del almacn de datos.
Algoritmo VNLTR
Cuando una operacin de insercin o borrado (por simplicidad se omite la
operacin de modificacin) tiene lugar en los sistemas operacionales dos
procesos son necesarios para actualizar el almacn de datos:
1.- Actualizacin de las tablas auxiliares.
2.- Actualizacin del almacn de datos.
I. Actualizacin de las tablas auxiliares.

Las acciones que deben realizarse para transmitir una actualizacin en una relacin
bsica (R) a la tabla auxiliar TAR correspondiente a R, para poder mantener el
almacn de datos, son las siguientes:
a) Transformacin de la tupla (t) de R (limpieza de datos, cambio de formato y
operaciones aritmticas) en una tupla transformada (Tt).
Algoritmo VNLTR
b) Extraccin de Tt de los valores de los atributos relevantes para actualizar la
tabla auxiliar TAR, obteniendo una nueva tupla (t). La tupla t estar formada
por los atributos de agrupacin Ai, ..., Aj y los atributos de agregacin de la vista
que proceden de R, es decir los atributos <Atr> tales que DWAg<Atr> aparece
en la vista y <Atr> es un atributo de R. (En el ejemplo, t = <CveEmp,
DWSumHoras>).
c) Actualizacin de la tabla auxiliar TAR:
d) Se verifica si la informacin almacenada en las tablas auxiliares es suficiente
para actualizar el almacn de datos (concatenacin de las tablas auxiliares), y se
obtiene una tupla TDW con los atributos de la clave primaria, los atributos
actualizables, y los atributos no actualizables y la operacin a realizar en el AD).
II. Actualizacin del almacn de datos
Para actualizar el almacn de
datos, se recibe la operacin de
actualizacin del sistema
operacional y una tupla con los
atributos: ClavePrimaria, no
actualizables y actualizables
resultado del paso (d) del
procedimiento de actualizacin
de las tablas auxiliares. Este
proceso consta de dos acciones:

Вам также может понравиться