de esto, no ha; duplicacin de funciones. Mejor an, el almacn de datos maneja el componente de datos en forma ms eficiente sr; el OLAP, de modo que se pueden apreciar los beneficios detener un almacn central que sirve como la base de da::* para el soporte de decisiones de una empresa grande.
de datos normalmente proporciona. De hecho, cuando se implementa en forma apropiada, el almacn de datos ejec.;= todas las funciones de preparacin de datos en lugar de permitir que el OLAP lo hagi; como resultado
Para dar un mejor desempeo, algunos sistemas OLAP fusionan los mtodos del almacn y el mercado de datos , guardar pequeos extractos del almacn en estaciohes de trabajo del usuario final. El objetivo es aumentar la rapicz: de acceso y visualizacin de datos (las representaciones grficas de tendencias y caractersticas de los datos). La log,:: que hay detrs de ese mtodo es la suposicin de que casi todos los usuarios finales, por lo general, trabajan.on i".conjuntos de datos estables del almacn, ms bien pequeos. Por ejemplo, lo ms probable es que un analista de ver.=s trabaje con datos de ventas, mientras que un representante de clientes Io haga con datos de clientes. La figura 13 :
ilustra esta situacin.
fIGURA
13.9
Sistema OLAP
"Motor" OIAP
compartido
@m
\#PEI
@
\ffi&
,.'***.*-:'t
Mltiples usurios
tienen acceso al mo-
tor OLAP
Cualquiera que sea el arreglo de los componentes OLAP, una cosa es segura: deben usarse datos multidimensionales. Pero, cmo se guardan y almacenan mejor estos datos? Quienes proponen el OLAP estn muy dididos; algunos estn a favor del uso de bases relacionales para guardarlos; otros estn por Ia superioridad de las tases de datos multidimensionales especializadas para guardar datos multidimensionales. Las caractersticas bsicas de cada mtodo se examinan a continuacin.
INTELIGENCIA
DE NEGOCIOS Y ALMACENES
DE DATOS
s37
Por fortuna para quienes han hecho fuertes inversiones en tecnologa relacional, el ROIAP usa una tcnica especial de diseo para hacer posible que la tecnologa RDBMS soporte representaciones de datos multidimensionales. Esta tcnica especial de diseo se conoce como esquema en estrella, el cual se estudia en detalle en la seccin 13.7.
El esquema en estrella est diseado para optimizar operaciones de consulta ms que de actualizacin de datos. Naturalmente, cambiar el fundamento para diseo de datos significa que las herramientas empleadas para tener acceso a esos datos tendrn que cambiar. Los usuarios finales familiarizados con las herramientas tradicionales para consulta relacional descubrirn que esas herramientas no trabajan de manera eficienfe con el nuevo esquema en estrella. No obstante, el ROLAP salva el da al agregar soporte para el esquema en estreila cuando se usan herramientas de consulta conocidas. El ROLAP proporciona funciones avanzadas para anlisis de datos y mejora la optimizacin de consultas y los mtodos de visualizacin de datos.
Otra fuente de desempeo mejorado de consulta es el uso de tcnicas avanzadas de indizacin, como los ndices de mapas de bits dentro de bases de datos relacionales. Como su nombre lo sugiere, un ndice de mapa de bits se basa en bits 0 y 1 para representar una condicin dada. Por ejemplo, si el atributo REGION de la figura 13.3 tiene slo cuatro resultados (Norte, Sur, Este y Oeste), pueden estar representados como se observa en la tabla 13.9. (Slo los primeros 10 renglones de la figura 13.3 estn representados en la tabla 13.9. El " 1 " representa "bit activado " y el " 0" representa "bit desactivado". Por ejemplo, para representar un rengln con un atributo REGION : "Este". slo el bit "Este" estar activado. Ntese que cada rengln debe estar representado en la tabla del ndice.)
c'ApJ,?uro rj
Ntese que el ndice de la tabla 13.9 toma una cantidad mnima de espacio. por tanto, los ndices de mapa de bits son ms eficientes en el manejo de grandes cantidades de datos de lo que son los ndices qu" po. lo general se encuentran en muchas bases de datos relacionalesl pe.o ,e.u".dn que los ndices de mapas de bits se usan principalmente en situaciones donde el nmero de posibles valres puru ,., ut.iluto (en otras palabras, el dominio del atributo) es bastante pequeo. por ejemplo, REGION tiene slo cuatro resultado. Ln este ejemplo. El estado civil, es decir casado, soltero, ,irao, iuo..iuao. sera otro buen candidato para ndice de mapa de bits, como lo sera el gnero: M o F.
Las herramientas ROLAp son principalmente productos clien_ te/servidor en las que la interfaz de usuario flnal, el procesa_ miento analtico y el procesamiento de datos
tienen lugar en diferentes computadoras. La figura 13.10 muesi.a la interaccin de los componentes ROLAp cliente,/servidor-
FIGURA
13.10
ervidor ROI_Ap
El
consultas de usuario final consultas de SeL requeridas para tener acceso al almacn de datos. Si un usuario finat pide una operacin de bajar, el_ servidor ROLAp construye
La GUI frontal se ejecuta en la computadora cliente y pasa solicitudes de anlisis d atos al sevidor ROLAP La Gui'recibe respuestas de datos del servidor ROLAP y les da formato de acuerdo con las necesidades de presentacin del usuario finat.
= =
INf ELIGENCA DE NEGOCIOS Y ALMACENES DE DATOS
539
.,c 'rG
actividad.
muy grandes de datos. La capacidad de almacenamiento y el proceso de carga de datos en la base de datos son de importancia decisiva. Por tanto, el RDBMS debe tener las herramientas apropiadas para importar, integrar y poblar el almacn con datos' Los datos para soporte de decisiones se cargan normalmente en modo granel (lote) a desde los datos operacionales. No obstante, las operaciones en lote requieren que las bases de datos fuente"y destino se reserven (bloqueen). La velocidad de las operaciones de carga de datos es importante, en especial cuando se ve que casi todos los sistemas operacionales funcionan 24 horas al da, 7 das a la semana, 52 semanas al ao. por tanto. la ventana de oportunidad para mantenimiento y carga de lotes se qbre slo brevemente, por lo general durante periodos de poca
Con una arquitectura cliente/servidor abierta, el ROLAP ofrece funciones avanzaclas para soporte de decisiones que son escalables a toda Ia compaa. Claramente, el ROLAP es una opcin lgica para compaas que ya usan baies de datos relacionales para sus datos operacionales. Daclo el tamao del mercaclo de bases cle datos relacionales, no es de sorprender que casi todos los vendedores actuales de RDBMS hayan extendido sus productos para soportar
almacenes de datos.
EEE
"t.,,,4uLrrDrMENsroNAEl procesamiento analtico multidimensional en lnea (MOLAP) extiende la funcionalidad del OLAp a los sistemas de administracin de bases de datos multidimensionales (MDBMS). (Un MDBMS usa tcnicas
es que las bases de datos multidimensionales estn mejor adaptadas para administrar guardar y analira, datos multidimensionales. Casi todas las tcnicas patentadas que se usan en los MDBMS se derivan de los iampos de la ingeniera por ejemplo, el diseo asistido por computadora o la manufactura asistida por computadora (CAD/bAM) y sistemas de informacin geogrfica (GIS).
especiales patentadas para guardar datos en arreglos de dimensiones n parecidos a matrices.j La premisa del MOLAp
Conceptualmente, los usuarios finales del MDBMS ven los datos guardados como un cubo tridimensional conocido como cubo de datos. El lugar de cada valor de datos del cubo es una funcin de los ejes x, y y z, en un espacio tridimensional. Esos ejes representan las dirrensiones del valor de los datos. Los cubos de datos pueden crecer a n nmero de dimensiones, convirtindose as en hipercubcts. Los cubos de datos se crean al extraer datos de las bases de datos operacionales o del almacn de datos. Una caracterstica importante de los cubos es que son estticos; esto es, no estn sujetos a cambios y deben ser creados antes de que se puedan usar. Los cubos de datos no pueden ser creados por consultas ad hoc. En cambio, se pueden consultar cubos creados previamente con ejes definids; por ejemplo, un cubo para ventas tendr dimensiones de producto, de lugar y de tiempo y se pueden consultar slo esas dimensiones. Por tanto, el proceso de creacin del cubo de datos es crtico y requiere trabajo de diseo a fondo del elemento frontal. El trabajo de diseo del elemento frontal puede estar bien justificaclo porque se sabe que las bases de datos MOLAp son mucho ms rpidas que sus similares ROLAP, en especial cuando se trata con conjuntos de datos de tamao pequeo a mediano. Para acelerar el acceso a los datos, los cubos se mantienen en memoria en lo que se denomina cach de cubo. (Un cubo de datos es slo una ventana para un subconjunto predefinido de datos d la base de datos. Un cuto de datos y una bose de datos no son lo mismo.) Como el MOLAP tambin se beneficia de una infraestructura cliente/ servidor' el cach de cubo se puede localizar en el servidor MOLAP, en el cliente MOLAP, o en ambos lugares. La figura 13.11 muestra la arqr.iitectura bsica del MOLAP. Como el cubo de datos est predefinido con un nmero establecido de dimensiones, la adicin de una n,eva dimensin requiere que todo ei cubo sea recreado. Este proceso de recreacin es lento. Por tanto, cuando cubos de datos sean creados con demasiada frecuencia. el MDBMS pierde parte cle su ventaja en velociclad sobre la base de datos relacional. Y aunque los MDBMS tengan ventajas de operacin sobre las bases de datos relacionales. estn mejor adapiadas para conjuntos de tamao mediano y pequeo. La escalabilidad es un tanto limitada porque el tamao del cubo de datos est restringido para evitar largos tiempos de acceso a datos causados por tener menos espacio de trabajo (memoria) disponible para el sistema operativo y ios programas de apiicacin. Aciems. el MDBMS hace uso de tcnicas patentadas de almacenatriento de datos que. a stlvez, requieren mtodos patentaclos de acceso a los datos que usan un lenguaje de consulta multidimensionai.
El anlisis de datos multidimensional iambin es afectado por la forma en que el sistema de base de datos maneia la dispersin. La dispersin es una medida de la densidad de los datos contenidos en el cubo de datos; se calcula al dividir el nmero total de vaiores reales en el cubo entre e|nmero toial de celdas en 1. Debido a que las dimensiones del cubo estn predefinidas, no todas las celdas estn pobladas, algunas estn vacas. Regresando al ejemplo de ventas, puede haber muchos productos que no se venden durante un lapso determinado en un lugar dado. De hlcho, con irecuencia se encontrar que menos de 50% de las celdas del cubo de daios estn pobladas. En cualquier caso, las bases de datos los gastos generales y las necesidades de recursos.
multidimensionales deben manejar con eficiencia la dispersin para reducir cle manera eficiente el procesamiento de
EEE o,r.^",o*.'
Las dimensiones son caractersticas calificadoras que dan perspectivas adicionales a un hecho determinado. Rec-ryde que las dimensiones son de inters porque los dofos para soporte de decisiones son cosi siempre uisos en relcc:.:. con otros datos. Por ejemplo, las ventas podran compararse por producto de una regin a otra y de un perioc: a siguiente. La clase de problema que por lo general se resuelve con un sistema de BI podra ser el hacer una compara:,rde las ventas de la unidad X por regin para los prirneros trimestres de 2000 al 2010. En ese ejemplo, las ventas era". dimensiones de producto, lugar y tiempo. En efecto, las dimensiones son la lente de aumento por medio de la cu- s estudian los hechos. Estas dimensiones normalmente se guardan en tablas de dimensin. La figura 13.12 de,cc:i:ts un esquema en estrella para ventas con dimensiones de producto, lugar y tiempo.
FIGURA
13.12
EEE or*,'r'o=
Cada tabla de dimensin contiene atributos. A veces los atributos se usan para busca filtrar o clasificar hechos. Lcs dimensones dan caractersticas descriptioas acerca de los hechos por medo de sus atributos. Por tanto, el diseador de un almacn de datos debe definir atributos comunes de negocios que sern usados por el analista de datos par= estrechar una bsqueda, informacin de grupo o describir dimensiones. Usando un ejemplo de ventas, algunos atribuic= posibles para cada dimensin se ilustran en la tabla 13.11. TAB-A "g 3."8 ?
Lugar
Producto
I l I
I
L-
Cualquier cosa que d una descripcin del producto vendido. Por ejemplo, producto para el cuidado del cabello, champ, marca de e!9t9te-!3!9,a!, ,! q!2q9,
q9!9-Ig:-1gg'9g:g-
INf ELIGENCIA
DE
NEGOCIOS Y ALI,'ACENES
D:
DATOS
5.43
'Etf-A
"c3""ff"9
Fstas dimensiones de producto, lugar y tiempo agregan una perspectiva a los hechos de ventas. El analista de datos ahora puede agrupar las cifras cle ventas para un proucto deier-inado, en una regin y en un tiempo determinados. El esquema en estrella, por medio de sus hechos y dimensiones, puede dar los datts en el formato requerido cuando se necesiten Y puede hacerlo as sin imponer la carga de datos adicionales e innecesarios (por ejemplo, nmero de pedido, nmero de orden de compra y situacin) que por lo general existen en bases de datos opecionales.
tridimensional facilita visualizar el problema. En este ejemplo tridimensional, la trminologiu " unlirl, de datos multidimensionales. el cubo ilustrado en la figura 13.13 repreienta una vista de ventas dimensionada por producto. lugar y tiempo.
das a una tabla de hechos' No hay lmite matemtico al nmero de dimensiones que se usen! pero emplear un modelo
Conceptualmente, el modelo de datos multidimensional del ejemplo de ventas est mejor representado por un cubo tridimensional Desde luego, esto no implica que haya un lmite en el nmero de dimensnes que
FIGURA
13.13
tiempo
observe que cada uno de los valores de ventas guardados en el cubo de la figura 13.13 est asociado con las dimensiones de lugar, producto y tiempo. No obstante, recuerde que este cubo es slo una representac" r;:r;;;ri;;;:" datos multidimensionales y no muestra el modo en que ios datos se guardan fsicamente en un almacn de datos. Un motor de ROLAP guarda datos en un RDBMS y emplea su propia lo"gica de anlisis de datos v u ui de usuario final para ejecutar anlisis multidimensional. Un sistema MOLAP guarda dltos en un MDBMS, us.,do matriz patentada y tecnologa de arreglo (matriz) para simular este cubo multidirnnsional.
Cualquiera que sea la tecnologa de base de datos fundamental, una de las principales caractersticas del anlisis multidimensional es su capacidad para concentrarse en "rebanadas" especficas dll cubo. por ejemplo. el gerentede producto puede estar interesado en examinar las ventas de un producto, al tiempo que el gerente de la tienda est interesado en examinar las ventas hechas por una tienda particular. En trminos multidimensionales, la capacidad de concentrarse en rebanadas del cubo para ejecutar un anlisis ms detallado se conoce como rebanada y dado. La figura 13.14 ilustra
el concepto de rebanada y dado. Al ver la figura 13.14, ntese que cada corte horizontal del cubo da una rebanada. L-a: rebanadas que se cruzan producen pequeos cubos que constituyen la parte "dado" de la operacin "rebanada y dacio-
FIGURA
13.14
Para tener una rebanada y un dado, debe ser posible identificar cada rebanada del cubo. Esto se hace usando los vai::.r: de cada atributo en una dimensin determinada. Por ejemplo, para usar la dimensin de lugar podra ser necesa:-r: definir un atributo STORE_iD, para concentrarse en una tienda particular. Dada la necesidad de valores de atributo en un ambiente de rebanada y dado, volvamos a examinar Ia tabla 13.11. tese que cada atributo agrega una perspectiva adicional a los hechos de ventas, poniendo as el escenario para encor.::rnuevas formas de buscar, clasificar y posiblemente agregar informacin. Por ejemplo, la dimensin de lugar agra" una perspectiva geogrfica de donde tuvo lugar la venta: en qu regin, estado, ciudad, tienda, etc. Todos los an'ib,-* tos son seleccionados con el objetivo de dar datos de soporie de decisiones a usuarios finales para que puedan e---* diar ventas por cada uno de los atributos de la dimensin. EI tiempo es una dimensin especialmente importante. La dimensin de tiempo brinda un marco del que se pueia-analizar patrones de ventas y posiblemente predecirlos. Tambin, la dimensin de tiempo desempea un importar.:; papel cuando el analista de datos est interesado en ver agregados de ventas por trimestre, mesr semana, etc. Dada importancia y universalidad de la dimensin del tiempo desde una perspectiva de anlisis de datos, numerosos vendei:res han agregado a sus productos de almacn de datos las funciones automticas para administracin de la dimensi:. del tiempo.
\:*
EEEtr
tos
Jenaneues
DE
ATRIBUT.'
Los atributos dentro de dimensiones pueden ser ordenados en una jerarqua bien definida. La ierarqua de atribuda una organizacin de datos de arriba hacia abajo que se usa para dos fines principales: anlisis parahgregar'.' bajarubir datos. Por ejemplo, la figura 13.15 muestra la forma en que los atributos de la dimensin de lugar se pueder organizar en una jerarqua por regin, estado, ciudad y tienda. La jerarqua de atributos da la capacidad de ejecutar bsquedas de bajar y subir en un almacn de datos. Suponga que un analista de datos ve las respuestas a la consulta: Cmo se compara la operacin de ventas de 2009 de un mes a la fecha con la operacin de ventas de 2010 de un mes a la fecha? El analista de datos observa una aguda baja en ventas para marzo de 2070. El analista de datos podra decidir bajar dentro del mes de marzo para ver cmo se comparan las ventas por regiones con respecto al ao previo. Al hacerlo as, el analista puede determinar si las bajas ventas en marzo se reflejaron en todas las regiones o slo en una regin particular. Este tipo de operacin de bajar puede incluso extenderse hasta que el analista identifique la tienda que est operando debajo de 1o normal.
INTELIGENCIA
DE NEGOCIOS Y ALI{ACENES
DE DATOS
FIGURA
13.15
cripciones narrativas de las dimensiones. pero recuerde que los atributos de diferentes dimensiones pueden agruparse para formar una jerarqua. Por ejemplo, despus qr bu;u de ciu_ dad a tienda. podra usted bajar usando la dimensin de pro_ ducto para que el gerente pueda identificar productos lentos en la tienda. La dimensin de producto puede estar basada en el grupo de productos (lcteos, carnes, etc.) o en la marca de productos (marca A, marca B, etctera).
La situacin de ventas de marzo es posible porque la jerarqua de atributos permite al almacn de datos y ri.t"-u, OLAp te_ ner una va definida que identificar la forma en que los datos se han de descomponer y agregar para operaciones de subir y bajar. No es necesario que todos los atributos sean parte de una jerarqua de atributos; algunos existen slo para dar des-
de producto, tiempo y lugar. En este ejemplo, la dimensin de producto se establece en "Todos los productos", lo cual significa que el analista ver todos los productos en el eie y. fa dimensin de tiempo (eje x) est establecida para "Trimesire", lo cual significa que los datos son ug.nguao, por trimestres (por ejemplo, ventas totales de los productos A, B y c en eITt,TV,T3 y T4). por ltimo, lJdimensin de lugar est inicialmente fijada en "Regin", asegurando as que cada una de las celds contenga el total de ventas regionales para un producto determinado en un trimestre determinado.
datos dL variante en tiempo en diferentes niveles de agregacin: ao, trimestre! mes o semana. Cada valor de ventas inicialmente muestra el total de ventas, por regin, de cada producto. Cuando se usa una GUI, hacer clic en la celda de regin hace posible que el analista de datos baje para ver ventas por estados dentro de la regin. Dar un clic otra vez en node los valores de estado da las ventas por cada ciudad en el estado y as sucesivamente.
La sencilla situacin de anlisis de datos ilustrada en la figura 13.16 suministra al analista de datos tres vas de informacin' En la dimensin de productos (el eje y), el analista puede pedir ver todos los productos, productos agrupados por tipo, o slo un producto. En la dimensin de tiempo (el eje x), el analista puede pedi,
Como se ilustra en los ejemplos precedentes, las jerarquas de atributos determinan la forma en que los datos del almacn de datos son extrados y presentados. La informacin de jerarqua de atributos se guarda n el diccionario de datos del DBMS y es usado por la herramienta OLAP para tener u..nro .o.r".tamente al almacn. l)na vezasegurado este acceso, las herramientas de consulta deben integrarse de manera estrecha con los metadatos del almacn y deben dar soporte a las potentes capacidades analticas.
EEI
*."
otras numerosos renglones de hechos estn relacionados con cada uno de los renglones de dimensin. Usando el ejemplo de ventas. se puede concluir que cada producto aparece muchas veces en la tabla de hechos SALES o/ENTAS).
Los hechos y las dimensiones normalmente son representados por tablas fsicas en la base de datos del almacn. La tabla de hechos est relacionada con cada tabla de dimensiones en una relacin de muchos a uno (M:1). En palabras,
Las tablas de hechos y dimensiones estn relacionadas por llaves forneas y estn sr-rjetas a las ya conocidas reqtricciones de llave primaria/llave fornea. La llave primara en el lado "1", la tabL de dimensin, est guardada como parte de la llave primaria en el lado "muchos", la tabla de hechos. Debid,o a que la tabla de hechos est relacionada con muchas tablas de dmensin, la llaue primara de la tabla d.e datos es prmara compuesta. La figura 13.17 ilustra las relaciones entrela tabla de hechos de ventas y las tablas de dimensiones de product, lugar y tipo. para mostrar al lector cmo se puede expandir fcilmente el esquema en estrella, una dimensin cliente se ha agregado a la combinacin Agregar la dimensin cliente slo requiri incluir la CUST-ID en la tabla de hechos SALE y agregar la tabla CUSTOMER a la base de datos. La llave primaria compuesta para la tabla de hechos SALES est formada por TIME_ID, Loc-lD, cusT*lD y pRoD_lD. Cada registro de la tabla de hechos SALES est identificado de manera nica por la combinacin de valores de cada una de las llaves forneas de la tabla de hechos. Por det'ault, la llaue prmaria de la tabla d.e hechos sempre
se
el concepto de rebanada y dado. Al ver la figura 13.14, ntese que cada corte horizontal del cubo da una rebanada, r-x rebanadas que se cruzan producen pequeos cubos que constituyen la parte "dado" de la operacin "rebanada y da::-
FICURA
13.14
Para tener una rebanada y un dado, debe ser posible identificar cada rebanada del cubo. Esto se hace usando los rz,_s de cada atributo en una dimensin determinada. Por ejemplo, para usar la dimensin de lugar podra ser nece-ia-"{: definir un atributo STORE_ID, para concentrarse en una tienda particular. Dada la necesidad de valores de atributo en un ambiente de rebanada y dado, volvamos a examinar Ia tabla 13.11 tese que cada atributo agrega una perspectiva adicional a los hechos de ventas, poniendo as el escenario para enc3:-:a
l':-
nuevas formas de buscar, clasificar y posiblemente agregar informacin. Por ejemplo, la dimensin de lugar ag:=,,.e una perspectiva geogrfica de donde tuvo lugar la venta: en qu regin, estado, ciudad, tienda, etc. Todos los a=:-tos son seleccionados con el objetivo de dar datos de soporte de decisiones a usuarios finales para que puedar: er-diar ventas por cada uno de los atributos de la dimensin.
El tiempo es una dimensin especialmente importante. La dimensin de tiempo brinda un marco del que se pua:r analizar patrones de ventas y posiblemente predecirlos. Tambin, la dimensin de tiempo desempea un impor,:--.: papel cuando el analista de datos est interesado en ver agregados de ventas por trimestre, mes, semana, etc. Dai= .e importancia y universalidad de la dimensin del tiempo desde una perspectiva de anlisis de datos, numerosos venie-::res han agregado a sus productos de almacn de datos las funciones automticas para administracin de la dimer.=:rdel tiempo.
Effi
.*o*.r1""j. "II1yr""
Los atributos dentro de dimensiones pueden ser ordenados en una jerarqua bien definida. La jerarqua de atrib+ tos da una organizacin de datos de arriba hacia abajo que se usa para dos fines principales: anlisis para'agrega:'" bajarubir datos. Por ejemplo, la figura 13.15 muestra la forma en que los atributos de la dimensin de lugar se puedr, organizar en una jerarqua por regin, estado, ciudad y tienda.
La jerarqua de atributos da la capacidad de ejecutar bsquedas de bajar y subir en un almacn de datos. Spong=
que un analista de datos ve las respuestas a la consulta: Cmo se compara la operacin de ventas de 2009 de un mes : la fecha con la operacin de ventas de 2010 de un mes a la fecha? El analista de datos observa una aguda baja en venta. para marzo de 2010. El analista de datos podra decidir bajar dentro del mes de marzo para ver cmo se comparrlas ventas por regiones con respecto al ao previo. Al hacerlo as, el analista puede determinar si las bajas ventas e:. marzo se reflejaron en todas las regiones o slo en una regin particular. Este tipo de operacin de bajar puede inclusj extenderse hasta que el analista identifique la tienda que est operando debajo de lo normal.
INfELIGENCIA
545
:'-#
FICURA
13.15
La situacin de ventas de marzo es posible porque la jerarqua de atributos permite al almacn de datos y sistemas OLAp tener una va definida que identificar la forma en que los datos se han de descomponer y agregar para operaciones de subir y bajar. No es necesario que todos los atributos sean parte de una jerarqua de atributos; algunos existen slo para dar descripciones narrativas de las dimensiones. pero recuerde que los atributos de diferentes dimensiones pueden agruparse para formar una jerarqua. Por ejemplo, despus que baje de ciudad a tienda, podra usted bajar usando la dimensin de producto para que el gerente pueda identificar productos lentos en la tienda. La dimensin de producto puede estar basada en el grupo de productos (lcteos, carnes, etc.) o en la marca de productos (marca A, marca B, etctera).
La sencilla situacin de anlisis de datos ilustrada en la figura 13.16 suministra a[ analista de datos tres vas de informacin. En la dimensin de productos (el eje y), el analista puede pedir ver todos los productos, productos agrupados por tipo, o slo un producto. En la dimensin de tiempo (el eje x), el analista puede pedir datos de variante en tiempo en diferentes niveles de agregacin: ao, trimestre, mes o semana. Cada valor de ventas inicialmente muestra el total de ventas, por regin, de cada producto. Cuando se usa una GUI, hacer clic en la celda de regin hace posible que el analista de datos baje para ver ventas por estados dentro de la regin. Dar un clic otra u", nn rno de los valores de estado da las ventas por cada ciudad en el estado y as sucesivamente.
este acceso, las herramientas de consulta deben integrarse de manera estrecha con los metadatos del almacn v deben dar soporte a las potentes capacidades analticas.
Como se ilustra en los ejemplos precedentes. las jerarquas de atributos determinan Ia forma en que los datos del almacn de datos son extrados y presentados. La informacin de jerarqua de atributos se guarda n el diccionario de datos del DBMS y es usado por la herramienta OLAP para tener acceso correctamente al almacn. l)na vez asegurado
EEE
*-"n.seN*crN
DE ESo,EMA EN E.TRELLA
numerosos renglones de hechos estn relacionados con cada uno de los renglones de dimensin. Usando el ejemplo de ventas, se puede concluir que cada producto aparece muchas veces en la tabla de hechos SALES (VENTAS).
Los hechos y las dimensiones normalmente son representados por tablas fsicas en la base de datos del almacn. La tabla de hechos est relacionada con cada tabla de dimensiones en una relacin de muchos a uno (M:1). En otras palabras,
est relaconada con muchas tablas de dmensin, la llaue primara de la tabla de datos es primara compuesta. La figura 13.17 ilustra las relaciones entre la tabla de hechos de ventas y las tablas de dimensionls de producto, lugu. y tiempo. para mostrar al lector cmo se puede expandir fcilmente el esquema en estrella, una dimensin cliente se ha agregado a la combinacin. Agregar la dimensin cliente slo requiri incluir la CUST-ID en la tabla de hechos SALES y agregar la tabla CUSTOMER a la base de datos.
La llave primaria compuesta para la tabla de hechos SALES est formada por TIMF ID, LOC_ID, CUST_ID y pROD-lD. Cada registro de la tabla de hechos SALES est identificado de manera nica por la combinacin de valores de cada una de las llaves {orneas de la tabla de hechos. Por default, la liaue primaria de la tabla d.e hechos sempre se
Las tablas de hechos y dimensiones estn relacionadas por llaves forneas y estn sr-rjetas a las ya conocidas restricciones de llave primaria,/llave fornea. La llave primara en el lado "1", 1a tabia de dimensin, est guardada coml parte de la llave primaria en el lado "muchos", la tabla de hechos. Debido a que la tabla de hechos
ifiPiiliF,r,t"rlt
rc
lrt
FIGURA
13.16
Producto A
Producto B Prodtclo C
''.,..,'
':--.i:r.
Total de
trimestres
i
I
forma al combnar las llaues t'orneas que apuntan a las tablas de dmensin a las que est.n relacionodos. En r caso, cada uno de los registros de ventas representa cada producto vendido a un cliente especfico, en un tierrp: ,lugar especficos. En este esquema, la tabla de dimensin TIME (TIEMPO) representa periodos diarios, de modo que = tabla de hechos SALES representa ventas diarias agregadas por producto y cliente. Debido a que las tablas de heci,..
contienen los valores reales empleados en el proceso de soporte de decisiones, estos valores se repiten muchas ve:s en esas tablas. Por tanto, las tablas de hechos siempre son los hechos ms grandes del esquema en estrella. Comc .=s tablas de dimensin contienen slo informacin no repetitiva (todos los vendedores nicos, todos ios productos nic:= etc.), siempre son ms pequeas que las de hechos. En un esquema en estrella tpico, cada registro de dimensin est relacionado con miles de registros cle hechos. P:: ejemplo, "accesorio'' apatece slo una vez en la dimensin de producto, pero tiene miles de registros correspopdientes e:: la tabla de hechos SALES. Esta caracterstica ciei esquema en estrella facilita las funciones de recuperacin de darc. casi todo el tiempo que el analista de datos vea los hechos por medio de los atributos de la dimensin. Por tanto. ,;. DBMS de almacn de datos que est optimizado para soporte de decisiones primero busca las tablas ms pequeas c; dimensin antes de tener acceso a tablas ms grandes de hechos. Los almacenes de datos por lo general tienen mnchas tablas de hechos. Cada una de ellas est diseada para respo: der preguntas especficas para soporte de decisiones. Supongamos que usted desarroll un nuevo inters en pedidos a mismo tiempo que mantena su inters original en ventas. En esa situacin, debe mantener una tabla de hechos ORDERS y una SALES en el mismo almacn de datos. Si los pedidos son considerados como de inters clave para una organizacin, la tabla de hechos ORDERS debe ser el centro de un esquema en estrella que pueda tener dimensiones Ce vendedor, producto y tiempo. En ese caso, un inters en vendedores da una nueva dimensin de vendedor, representada
INTELIGENCIA
DE NEGOCIOS Y ALMACENES
DE DATOS
:G
FIGURA
13.17
Agregados de ventas
1
25 registros
30OO registros
por una nueva tabla VENDOR en la base de datos. La dimensin de producto est representada por la misma tabla de productos que se emplea en el esquema en estrella inicial de ventas. No obstante, dado el inters en pedidos as corno en ventas. la dimensin de tiempo ahora requiere atencin especial. Si el departamento de pedidos usa los mismos periodos que el departamento de ventas, el tiempo puede estar representado por la misma tabla de tiempo. Si se usan diferentes periodos. debe crearse otra tabla, quiz de nombre ORDER,TIME. para representar los periodos empleados por el departamento de pedidos. En la figura 13.18, el esquema en estrella de pedidos comparte las dimensiones de producto, vendedor y tiempo.
Tarnbin pueden crearse mltiples tablas de hechos por razones de operacin y semnticas. La siguiente seccin explica varias tcnicas para mejoiar ei desempeo y que pueden usarse dentro dei esquema en estrella.
548
CAPfTULO
I3
FIGURA
13.18
85000 registros
Agregadas de ventas
365 registros
,VEND-AREACODE
50 registros
ffi
ESTRELLA
La creacin de una base de datos que proporcione respuestas rpidas y precisas a consultas de anlisis de datos es " principal propsito del diseo de un almacn de datos. Por tanto, las acciones para el desempeo podran tener cor:: ob;etivo Iarapidez de consulta, por medio de facilitar el cdigo de SQL y mediante una mejor representacin semn--:: de las dimensiones de negocios. Estas cuatro tcnicas con frecuencia se usan para optimizar el diseo de un almacn :=
datos:
. . . .
Normalizartablasdimensionales. Mantener mltiples tablas de hechos para representar diferentes niveles de agregacin. Desnormalizar tablas de hechos. Dividir y reproducir tablas.
F.i,c l'
;r I ;.:
; ,' i:
*; i i
:'
:.i I
;:
.:
: : : !, ; ; i:.. ! :; r
Las tablas dimensionales se normalizan para obtener sencillezsemntica y facilitar la navegacin del usuario final pc: medio de dimensiones. Por ejemplo, si la tabla de dimensin de lugar contiene dependencias transitivas entre regir:. estado y ciudad, se pueden modificar estas relaciones a Ia 3NF (tercera forma normal), como se ilustra en la figura 13.19. (Si es necesario, repase las tcnicas de normalizacin en el captulo 6.) El esquema en estrella que se obserr,'a en la figura 13.19 se conoce como esquema copo de nieve, que es un tipo de esquema en estrella en el que las tablas de dimensin pueden tener sus propias tablas de dimensin. El esquema copo de nieve suele ser el resultado de normalizar tablas de dimensin.
INTELIGENCIA
DE NEGOCIOS Y ALMACENES
DE DATOS
549
i:#
FIGURA
13.19
RECION ID
TAT'EINAME
SAI.ES TOTAL
Al normalizar las tablas de dimensin, se simplifican las operaciones de filtrado de datos relacionadas con las dimensiones. En este ejemplo, la regin, estado, ciudad y lugar contienen muy pocos registros en comparacin con la tabia de
hechos SALES. Slo la tabla de lugar est directamente relacionada con la tabla de hechos de ventas.
lrf{filrifl,'ilftl
Aunque el uso de las tablas de dimensin que se ilustran en la figura 13.19 da sencillez estructural, hay un precio a pagar por esa sencillez. Por ejemplo. si se desean agregar los datos por regin, debe usarse una combinacin de cuatro tablas, con lo cual se aumenta Ia complejidad de los enunciados de SeL. El esquema en estrella de la figura 13.17 usa una tabla de dimensin LOCATION que en gran medida facilita la recuperacin de datos al eliminar mltiples operaciones de combinacin. ste es otro ejemplo de compensacin
lantenimiento de nrltiples tablas de hechos para representar cliferentes riveles cfe agregacin Tambin se pueden acelerar operaciones de consulta al crear y mantener mltiples tablas de hechos en cada nivel de agregacin (regin, estado y ciudad) en la dimensin de lugar. Estas tablas agregadas son calculadas previamente en la fase de carga de datos y no en tiempo de ejecucin. El propsito de esta tcnica es ahorrar ciclos de procesador en el tiempo de ejecucin, con lo cual se acelera el anlisis de datos. Una herramienta de consulta para el usuario final, optimizada para anlisis de decisiones, tiene entonces acceso apropiado a las tablas de hechos resumidas en lugar de calcular los valores al acceder a un nivel ms bajo de la tabla de hechos de detalle. Esta tcnica se ilustra en la figira 13.20, que agrega tablas de hechos agregadas por regin, estado y ciudad al ejemplo inicial de ventas.
El diseador de un almacn de datos debe identificar qu niveles de agregacin calcular previamente y guardar en la
base de datos. Estas mliiples tablas de hechos agregadas se actualizan durante cada ciclo ".urgu en el modo de lote. Y como el objetivo es reducir al mnimo el tiempo de acceso y procesamiento. segn la frecuenci esperada de uso el ,-
3l
'c:;il:.:i...-lJ
FIGURA
13.20
IMEiID
Mj
ctTY*tD
.CUT-fD
PROD ID
r{rT_QuANTrw
LSCIT*PRICE
RECIO{ lD
st{tr;AMouNT
CUT ID
rroc_QUANTTTY
stsLoc:JMouNT
tiempo de procesamiento requerido para calcular un nivel determinado de agregacin en el tiempo de ejecucior. ;.
diseador de un almacn de datos debe seleccionar cules tablas de hechos de agregacin crear.
almacenamiento.
La desnormalizacin mejora el desempeo al usar un solo registro para guardar datos que normalmente llevar:: muchos registros. Por ejemplo, para calcular el total de ventas para todos los productos en todas las regiones. tenc:-= mos que acceder a los agregados de ventas de regin y resumir todos los registros de esa tabla. Si tenemos 300 0L-: ventas de productos, se podran resumir al menos 300 000 renglones. Aunque esto podra no ser una operacin ar:--madora para un DBMS, una comparacin, por ejemplo, del valor de ventas previas de 10 aos empieza por ata=-
el sistema. En tales casos, es til tener tabias agregadas especiales que estn desnormalizadas. Por ejemplo, una ial YEAR_TOTALS podra contener los campos siguientes: YEAR_ID, MONT_#1, MONT_#2 ... MONTH_12y elrc'2, de cada ao. Estas tablas pueden usarse con toda facilidad para servir como base para comparaciones de un ao a orl a[ nivel ms alto de mes, al nivel de trimestre o al nivel de aos. Aqu, otra vez, los criterios de diseo, por ejempic ;
INTELIGENCIA
DE NEGOCIOS Y ALMACENES
DE DATOS
55f
;:il
frecuencia de uso y necesidades de desempeo, se evalan contra la posible sobrecarga impuesta en el DBMS para manejar las relaciones desnormalizadas.
:.,..;r::"t
Sin importar cul sea el esquema que se use para mejorar el desempeo, el iiempo es Ia dimensin ms comn que se usa en el anlisis de datos de negocios. Por tanto, es muy comn tener una tabla de hechos por cada nivel de agregacin definido dentro de la dimensin de tiempo. Por citar un caso, en el ejemplo de ventas podramos tener cinco tablas
agregadas de hechos de ventas: diarias, semanales, mensuales, trimestrales y anuales. Esas tablas de hechos deben tener una periodicidad definida implcita o explcita. La periodicidad por lo general se expresa slo como ao actual, aos previos, o todos los aos y proporciona informacin acerca del espacio en tiempo de los datos guardados en la tabla.
Ai trmino de cada ao, las ventas diarias para el ao actual se pasan a otra tabla que contiene slo ventas diarias de aos previos. Esta tabla en realidad contiene todos los registros de ventas desde el principio de las operaciones, con la excepcin del ao actual. Los datos de las tablas del ao actual y de aos previos representan entonces la historia tener que acceder remotamente a datos histricos de ventas, lo cual puede causar un tiempo de respuesta lento. El
completa de ventas de la compaa. La tabla de ventas de aos previos se puede replicar en varios lugares para evitar tamao posible de esta tabla es suficiente para intimidar a todos, menos al mejor de los optimizadores de consultas. A continuacin veamos un caso en el que la desnormalizacin seria de valor.
El desarrollo de un sistema de informacin que abarque toda una organizacin est sujeto a numerosas restricciones. Algunas de ellas se basan en el finnciamiento disponible; otras estn en funcin de cmo vea ia aclministracin el papel desempeado por un departamento de servicio de internet (lS) y de la extensin y profundidad de las necesidades de informacin. Agregue las restricciones impuestas por la cultura corporativa y entender por qu ninguna frmula puede describir un desarrollo perfecto del almacn de datos. Por tanto, ms que proponer un diseo individual de almacn de datos y metodologa de implementacin, esta seccin identifica algunos factores que parecen ser comunes al almacenamiento de datos.