Académique Documents
Professionnel Documents
Culture Documents
Resumen 1
1. Introduccion 3
1.1. Que es OLAP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Diferencia entre el procesamiento OLAP y OLTP . . . . . . . . . . . . . 5
1.3. Cubos: Dimensiones, Medidas y Operaciones aplicables . . . . . . . . . . 7
1.4. ROLAP, MOLAP Y HOLAP . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.1. MOLAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.2. ROLAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.3. HOLAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.4. Cual es la mejor opcion? . . . . . . . . . . . . . . . . . . . . . . . 14
1.5. Pensar en N dimensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
i
ii
4.1.1. Migrar los datos de una base OLTP hacia un esquema estrella
usando paquetes DTS . . . . . . . . . . . . . . . . . . . . . . . . 63
4.1.2. Crear un Cubo y sus dimensiones . . . . . . . . . . . . . . . . . . 71
4.1.3. Analizar y manipular el Cubo . . . . . . . . . . . . . . . . . . . . 85
4.1.4. Caractersticas avanzadas en Microsoft Analysis Services . . . . . 89
4.1.5. Acceder a Microsoft Analysis Services desde codigo . . . . . . . . 93
4.1.6. Cambios en Microsoft Analysis Services 2005 . . . . . . . . . . . . 103
5. Conclusion 107
Bibliografa 111
Resumen
Se puede decir que en un principio solo las grandes corporaciones tenan acceso al
procesamiento analtico de la informacion, lo que les permitio manipular habilmente el
gran volumen de datos con el que contaban, y as crecer aun mas, dominando todo el
mercado.
La tendencia actual sin embargo, es que este tipo de herramientas esten al alcance
de todas las organizaciones, desde estas grandes multiempresas hasta las empresas mas
pequenas.
1
2
Introduccion
Para proveer estas caractersticas, toda herramienta OLAP tiene tres principales
componentes:
3
CAPITULO 1. INTRODUCCION 4
Un motor OLAP que procesa las consultas multidimensionales sobre los datos.
Podemos decir que las caractersticas que diferencian el procesamiento OLTP del
procesamiento de tipo OLAP son las siguientes:
Las aplicaciones OLTP son usadas por un gran numero de usuarios concurrentes.
Una aplicacion OLAP, en cambio, no tiene que soportar este nivel de concurrencia,
porque en general sera usada solo a nivel gerencial o por los analistas de negocios.
En una aplicacion OLTP los datos se actualizan con la misma frecuencia con la que
se leen. No es as en el caso del procesamiento OLAP, donde los datos se actualizan
cada ciertos periodos de tiempo, cuando se hace el volcado de datos desde las bases
de datos operacionales.
Las consultas hechas a las aplicaciones OLTP actuan sobre una cantidad no muy
extensa de datos, y la naturaleza de estas consultas no tiene complejidad. Por
ejemplo, cuando se consulta sobre un determinado cliente para ver datos como
su nombre y su domicilio. Esta consulta implica recuperar y comparar datos no
derivados, es decir, no se calculan en el momento. Este tipo de consultas en general
se conoce de antemano y pertenecen a un proceso dentro de la organizacion. En
aplicaciones orientadas a la toma de decisiones en cambio, las consultas requieren el
examen y recuperacion de una enorme cantidad de datos, incluso datos historicos.
Los usuarios de una aplicacion OLAP generan consultas complejas y ad hoc, y a
veces la respuesta a una consulta conduce a la formulacion de otras mas detalladas.
En general los usuarios comienzan buscando en los datos resumidos y al identificar
CAPITULO 1. INTRODUCCION 6
Todas estas diferencias se reflejan en las caractersticas de las bases de datos subya-
centes a ambos tipos de aplicaciones.
CAPITULO 1. INTRODUCCION 7
Los ejes del cubo son las Dimensiones, y los valores que se presentan en la matriz,
son las Medidas.
Una instancia del modelo esta determinada por un conjunto de datos para cada eje
del cubo y un conjunto de datos para la matriz.
Dimensiones
Son objetos del negocio con los cuales se puede analizar la tendencia y el compor-
tamiento del mismo. Las definiciones de las dimensiones se basan en polticas de la
compana o del mercado, e indican la manera en que la organizacion interpreta o clasi-
fica su informacion para segmentar el analisis en sectores, facilitando la observacion de
los datos.
Para determinar las dimensiones requeridas para analizar los datos podemos pregun-
tarnos:
Donde? Esta pregunta nos ubica en un area fsica o imaginaria donde se estan
llevando a cabo los movimientos que se desean analizar. Estos lugares se pueden
ser zonas geograficas, divisiones internas de la organizacion, sucursales, etc.
Quien? En esta dimension se plantea una estructura de los elementos que inciden
directamente sobre el objeto de interes. En estos casos se hace referencia al area
comercial o de ventas, o a los empleados de la organizacion si se esta llevando a
cabo un analisis a nivel del talento humano, etc.
Medidas o Metricas
Son caractersticas cualitativas o cuantitativas de los objetos que se desean analizar
en las empresas. Las medidas cuantitativas estan dadas por valores o cifras porcentuales.
Por ejemplo, las ventas en dolares, cantidad de unidades en stock, cantidad de unidades
de producto vendidas, horas trabajadas, el promedio de piezas producidas, el porcentaje
de aceptacion de un producto, el consumo de combustible de un vehculo, etc.
Aqu podemos ver una dimension que cuenta con dos jerarquas:
CAPITULO 1. INTRODUCCION 9
En este caso, los niveles Zonas y Gerencia no estan relacionados entre s, a pesar de
que ambos estan relacionados con las Areas.
Si existe mas de una jerarqua, la relacion que une datos de un nivel con datos de
otro nivel superior debe ser confluente. Esto significa que todos los caminos que parten
de un elemento e del nivel E, llegan al mismo elemento d del nivel D superior a E,
independientemente de la jerarqua recorrida.
Operaciones Multidimensionales
Las operaciones multidimensionales se pueden agrupar en tres conjuntos basicos que
se describen a continuacion:
Operaciones de Agregacion
El grupo de las operaciones de Agregacion esta constituido por operaciones que
realizan desplazamientos por las jerarquas y niveles de las dimensiones.
Relacionamiento
A partir de un cubo, mediante las operaciones de Relacionamiento, se puede acceder
otros datos.
En el siguiente ejemplo podemos ver, dados los datos iniciales de una consulta de
ventas, los efectos de aplicar sobre los mismos las operaciones de Pivot, DrillUp sobre la
dimension de los productos, y DrillDown sobre la dimension de sucursales.
CAPITULO 1. INTRODUCCION 12
1.4.1. MOLAP
Las bases de datos multidimensionales usan estructuras de tipo arreglo para alma-
cenar los datos. Estas estructuras estan indexadas con el fin de proveer un tiempo de
acceso optimo a cualquier elemento.
Se pueden distinguir dos enfoques en la forma de organizar estas estructuras, las
MDDBs que usan una arquitectura de hipercubo, y las que usan multicubos.
La arquitectura de hipercubo almacena un unico gran cubo en el cual cada medida
esta referenciada y totalizada en todas las dimensiones del mismo.
En la arquitectura de multicubos los datos se guardan en mas de un cubo. Por
ejemplo, una base de datos puede contener un cubo que almacena las ventas mensuales,
por region y por producto, y otro que guarda la informacion correspondiente a costos
departamentales y mensuales.
CAPITULO 1. INTRODUCCION 13
La primer organizacion es mas simple, y tiene una performance mas pareja en cuanto
al tiempo de respuesta a las consultas. Con la arquitectura de multicubos se logra una
mejor performance si la consulta no requiere el acceso a mas de un cubo, pero en el caso
contrario la performance se reduce notoriamente, ya que se requiere un procesamiento
complejo para asegurar que los resultados del cruce de cubos sea consistente. Si hablamos
del espacio en disco, es la arquitectura de hipercubo la que mas espacio requiere, y ademas
necesita un buen manejo de la dispersion de los datos para evitar que el tamano del cubo
se vuelva inmanejable.
(ver)Una de las caractersticas distintivas de MOLAP es la preconsolidacion de los
datos. En una base de datos relacional para responder a una consulta del tipo Cuanta
cantidad del producto X se vendio en el ultimo cuatrimestre? normalmente se tiene que
hacer una busqueda de todos los registros relevantes y totalizar los datos. En una base
multidimensional en cambio, estos totales se calculan rapidamente usando operaciones
extremadamente eficientes sobre arreglos. Una vez calculados, los totales se pueden al-
macenar en las estructuras de la base misma. Las MDDBs pueden preconsolidar todos
los datos, es decir, hacer los calculos necesarios para obtener la sumarizacion y totali-
zacion y almacenar estos resultados para su posterior uso. Preconsolidar todos los datos
requiere mucho espacio y tiempo de carga de la base. Una alternativa es preconsolidar
solo los totales mas usados y calcular el resto en el momento en el que se consultan.
La mayora de las MDDBs tambien proveen acceso SQL a datos en una base de datos
relacional adjunta para recuperar filas de informacion detallada, por ejemplo, todas las
filas que conformen un determinado total. Esta informacion detallada solamente se puede
visualizar, pero no se puede usar para analisis.
Otra caracterstica de importancia tiene que ver con los datos dispersos. Una MDDB
tiene que contar con un manejo de datos dispersos. La dispersion de datos surge en
casos donde no todas las combinaciones de miembros de dimensiones van a tener su
valor correspondiente. Por ejemplo, consideremos el caso de una empresa con varias
sucursales, que puede vender cientos de productos por da en cada una, pero no todos
los productos necesariamente se van a vender todos los das en todas las sucursales. Si
analizamos estas ventas en periodos diarios y por sucursal creando un cubo con las ventas
como medida, y sucursales, productos, y das como dimensiones, el cubo contendra celdas
vacas. Estas celdas corresponden a los productos que no se vendieron en determinados
da y sucursal.
Cada herramienta MOLAP tiene su propio mecanismo para evitar guardar valores
nulos o ceros a partir de esta situacion. En general se comprime la base de datos para
descartar valores nulos, con el costo de descomprimirla cuando se accede a los datos.
1.4.2. ROLAP
Aunque las bases de datos relacionales no estan optimizadas para el analisis mul-
tidimensional, tienen ventajas sobre las MDDBs en otros aspectos. En particular, son
escalables a conjuntos mas grandes de datos e incluyen soporte para replicacion, roll-
back y recuperacion. Ademas, en la mayora de las organizaciones es mas probable que
CAPITULO 1. INTRODUCCION 14
la gente de sistemas este mas familiarizada con el uso de una base de datos relacional,
que con el manejo de las MDDBs.
Con los grandes DataWarehouses, que llegan al orden del terabyte, estas ventajas se
pueden ver claramente.
Las herramientas ROLAP brindan analisis multidimensional sobre datos almacenados
en una base de datos relacional. Lo hacen a traves de un mapeo entre los datos en el
DataWarehouse a un modelo multidimensional, usando consultas SQL.
Estas herramientas trabajan de distintas maneras con el RDBMS correspondiente:
Algunas proveen funcionalidad de calculo fuera del RDBMS. Se genera SQL para
recuperar datos, pero algunos calculos (incluyendo algunos JOINs o totalizaciones)
los hace la misma herramienta.
Las herramientas ROLAP no requieren manejo de los datos dispersos. Para mejorar
la performance, se tiende a almacenar algunos valores totalizados en el DataWarehouse,
as que los datos dispersos siguen siendo un tema de importancia, que en este caso se
relega al disenador del DataWarehouse.
1.4.3. HOLAP
Existen dos enfoques para definir a las herramientas HOLAP.
Por un lado, se habla de un MDDB que puede recuperar y analizar informacion
detallada. Esta es la definicion mas aceptada de HOLAP. Hablamos de una herramienta
que almacena los datos totalizados en la MDDB y los datos detallados en la RDBMS. El
usuario trabaja con un unico modelo de los datos, y este accede en forma transparente
a los dos tipos de almacenamiento. Lo interesante de este enfoque es su facilidad de uso.
Por otro lado, existen herramientas HOLAP que consisten de un almacenamiento
multidimensional, con preconsolidacion opcional. Se extrae un conjunto de datos de un
RDBMS y luego se construye un cubo multidimensional en el cliente. La diferencia con
el enfoque anterior es que en este caso no se cuenta con una capa de manejo de base
de datos que abstraiga al usuario de la implementacion tecnica. Algunos vendedores
incluyen la opcion de preconsolidar valores en el almacenamiento, y otros almacenan los
datos y hacen las consolidaciones en el momento en que se requieren.
Cada alternativa tiene sus ventajas y desventajas. En lugar de discutir cual de las
dos es mejor hay que definir un criterio para optar por una u otra, y evaluar el alcance
de HOLAP, que en la practica intenta combinar lo mejor de ambos mundos.
CAPITULO 1. INTRODUCCION 15
Lo mas importante es entender los requerimientos del propio negocio y las implican-
cias para el tipo y tamano de los datos a los que necesitamos acceder en el futuro.
Algunas de las ventajas mas importantes de cada enfoque son:
MOLAP
ROLAP
Las cuestiones tecnicas del manejo de los datos esta a cargo del RDBMS.
La grilla tiene una fila para cada mes, y una adicional para los totales generales, y
tres columnas para las variables de Ventas, Costos y Margenes. Claramente vemos que
las dos dimensiones son los Meses por un lado, y las variables por el otro.
Sin embargo, si alguien pregunta que es lo que estamos observando, deberamos decir
que estamos analizando Ventas, Costos y Ganancias. Estos valores son las variables,
en cambio los meses representan la forma en la que se organizan estos datos en la
presentacion. Es decir, no estamos observando meses, estamos observando ventas, costos
y ganancias organizados en meses.
Aqu se tiene esencialmente una grilla de dos dimensiones, pero la diferencia es que
hay un indicador de pagina para la tercera dimension Productos. Las tres dimensiones
de la informacion, que son Variables, Tiempo y Productos, se mapean en las tres dimen-
siones de la metafora usada para representar los datos, que son las Columnas, Filas y
Paginas respectivamente. Las filas y columnas se corresponden con las dos dimensiones
fsicas de la pantalla, pero las paginas no se corresponden con ninguna. Esto implica que
no se pueden ver todas las paginas al mismo tiempo, y por ende, no se puede contar con
los datos de todos los productos a la vez, sino uno por uno, salvo que se aplique una
operacion de Pivot.
La metafora que implica esta seleccion de paginas es mostrar una rodaja (slice) del
cubo.
CAPITULO 1. INTRODUCCION 19
En esta figura vemos como seis dimensiones se conectan en forma combinada a las
filas, columnas y paginas de la grilla de tres dimensiones. La misma representacion
que funcionaba para tres dimensiones se puede adaptar facilmente para trabajar con N
dimensiones, lo que la convierte en una grilla multidimensional.
Las dimensiones Productos y Escenario (cuyos miembros son valor Actual y valor
Planeado) se combinan en las columnas, en las filas se combinan las variables y la di-
mension del tiempo, y las paginas se componen de la combinacion de las dimensiones
Sucursal, y Tipo de Cliente.
En las siguientes figuras vemos otras dos formas de mapear las seis dimensiones en
este ejemplo a filas, columnas y paginas.
CAPITULO 1. INTRODUCCION 21
Aqu vemos en la grilla superior los datos de las ventas por mes y sucursal organizados
en dos dimensiones. Cada valor particular tiene cuatro vecinos. El valor de las ventas en
la Sucursal Sur en el mes de Febrero por ejemplo, se puede comparar a primera vista
con los meses de Enero y de Marzo, que son los valores vecinos de la izquierda y de la
derecha respectivamente, y con los valores de las ventas de otras sucursales en el mismo
mes, que son los valores vecinos de arriba y de abajo.
En la grilla inferior las dimensiones se combinaron en una sola dimension fsica, y
cada valor tiene ahora solo dos vecinos. El valor de las ventas en la Sucursal Sur en el
mes de Febrero ya no tiene como valores vecinos las ventas en esa misma sucursal en los
meses de Enero y Marzo, haciendo que la comparacion de los valores no sea tan directa
a primera vista.
dimension en las filas, de una a tres en las columnas, y el resto en las paginas, como en
la siguiente figura.
La habilidad para cambiar facilmente la forma de visualizar los mismos datos recon-
figurando la organizacion de las dimensiones es uno de los grandes beneficios en cuanto
a la navegacion del usuario que tienen los sistemas multidimensionales.
Captulo 2
Consideraciones previas a la
implementacion
Antes de optar por una solucion OLAP y ponerla en funcionamiento hay que poner a
punto una serie de cuestiones en toda la organizacion, ya que se van a extraer y mezclar
datos provenientes de varios sistemas OLTP, sistemas batch y hasta de fuentes de datos
externas.
La organizacion debe estar preparada para considerar la adquisicion de nueva tec-
nologa, y sus integrantes deben estar predispuestos a tareas adicionales, al aprendizaje
necesario, e incluso a cambiar roles y responsabilidades con otros integrantes de la orga-
nizacion.
Para determinar la naturaleza de estas consideraciones sera util analizar primero los
requerimientos de una solucion OLAP. A partir de esto se puede realizar un analisis
costo beneficio, y tambien una evaluacion del estado actual de la empresa, en cuanto al
hardware, software, y datos existentes, para establecer el marco en el que se instalara la
herramienta.
26
CAPITULO 2. CONSIDERACIONES PREVIAS A LA IMPLEMENTACION 27
Entre los principales requerimientos fsicos para una aplicacion OLAP encontramos
los siguientes:
Acceso rapido a los datos. OLAP necesita soportar consultas ad hoc, las cuales
requieren calculos en el momento en el que se esta realizando la consulta. Por
ejemplo un gerente de ventas podra consultar las ventas nacionales, profundizar
a las ventas por regiones para observar cuales tienen ventas mas bajas, y luego
profundizar para ver las ventas por rubros en una region determinada. Cada paso
en este analisis es una consulta, y si el tiempo de respuesta se midiera en horas,
o incluso en varios minutos, esperar la respuesta de este analisis seria bastante
desalentador. La meta entonces es proveer un tiempo de respuesta razonable, en
CAPITULO 2. CONSIDERACIONES PREVIAS A LA IMPLEMENTACION 28
lo posible en segundos, mientras se trabaja con una base de datos muy grande en
un entorno multiusuario y quiza distribuido en una red.
Para cumplir con este requerimiento algunas herramientas precomputan (precon-
solidan) todos los totales, aunque esto puede llevar a una explosion de la base
de datos. El incremento del tamano de la base de datos va a opacar el beneficio
ganado en el tiempo de respuesta. Para un acceso eficiente, las herramientas tienen
que combinar en forma precisa la cantidad y cuales datos precomputan y cuales se
calculan en el momento.
Para que el interes crezca entonces deben definirse claramente los beneficios de la
implementacion OLAP, y dejar en claro que permitira solucionar problemas existentes
y tomar ventajas de las oportunidades en el negocio.
Un proyecto de soporte de decisiones no solo puede traer beneficios tangibles como
un incremento en las ventas, sino tambien intangibles, como mejorar la reputacion de la
empresa. Estos beneficios intangibles son los mas difciles de cuantificar en terminos de
dinero, y aunque los beneficios generales de este tipo de proyectos son bien conocidos, la
gerencia no aprobara el proyecto a menos que asociemos estos beneficios generales con
metas estrategicas y problemas especficos propios de la organizacion.
La idea es preparar una lista detallada con los beneficios concretos para medirlos y
compararlos con los costos de la implementacion.
La iniciativa del proyecto debe estar dirigida al negocio y no a la tecnologa. Es
decir, la justificacion de la iniciativa no debe ser solo el hecho de experimentar con
nuevas tecnologas, sino reducir los problemas que afectan la rentabilidad o la eficiencia
de la organizacion (business pain).
CAPITULO 2. CONSIDERACIONES PREVIAS A LA IMPLEMENTACION 30
La necesidad de que sea escalable surge del rapido crecimiento del volumen de
la informacion, y del rapido cambio en las frecuencias de actualizacion, en los
patrones de acceso a los datos, la cantidad de reportes y consultas, y en la cantidad
de usuarios. Estos factores van a afectar directamente la aplicacion de soporte de
decisiones.
Otros elementos de hardware importantes son los elementos de red, como routers,
cables, switches, hubs, etc, que deben permitir un ancho de banda apropiado para
una transferencia rapida de los datos. La red es una de las principales piezas que
aseguran el exito de la solucion OLAP. Con redes robustas, los datos se van a
transferir rapidamente desde las bases de datos operacionales hacia el repositorio
de datos, y desde el servidor OLAP al usuario final para su analisis.
Gateways punto a punto: son los que proveen acceso a un solo tipo de
DBMS. Son mas faciles de implementar, y menos costosos que los demas. Sin
embargo, si en la organizacion se requiere acceso a varios DBMSs, es mas
conveniente contar con un solo gateway universal y no con varios gateways
punto a punto, por simplicidad.
Gateways universales: se pueden usar para acceder a distintos tipos de bases
de datos y en distintas plataformas. Requieren un alto esfuerzo de imple-
mentacion y mantenimiento, por lo tanto son bastante costosos.
Gateways SQL: son los que usan SQL para acceder a la base de datos. Tra-
ducen los requerimientos de la aplicacion a SQL nativo del DBMS en cuestion.
Solo pueden acceder a bases realmente relacionales (no simuladas).
Drivers ODBC: Un driver ODBC (Open DataBase Connectivity) es una apli-
cacion que permite que cualquier sistema acceda a los datos independiente-
mente del DBMS que los maneje, a traves de APIs.
de los datos que se van a manejar. La eleccion puede variar desde un servidor de
archivos local, un servidor empresarial o hasta un gran mainframe.
La limpieza es una tarea que debe hacerse tambien en forma conjunta con la gente
de negocios y el grupo de desarrollo. Los primeros conocen la semantica de los
datos, y los desarrolladores conocen su significado dentro de los programas. Son
los que saben que un cierto flag en la base de datos indica si un determinado cliente
tiene o no cuenta corriente, por ejemplo.
Entonces, cuando se seleccionan los datos que se van a usar para el soporte de
decisiones se debe tener en cuenta si el dato esta lo suficientemente limpio. Si no
es as, hay que ver cuales son las posibilidades de aplicar una limpieza, si es que
existen, y especificar los procesos de limpieza que se determinen.
Los gerentes suelen ver las actividades involucradas en el analisis y limpieza de los
datos como una perdida de tiempo. Ellos juzgan el exito del proyecto de acuerdo
al tiempo en el que se lo termina, y no se fijan en la calidad de los resultados. Por
esta razon en la mayora de las organizaciones los DataWarehouses se llenan con los
datos de los sistemas operacionales simplemente por copia, sin eliminar problemas
existentes, dando como resultado un DataWarehouse inconsistente y redundante.
Como vimos, las herramientas OLAP se usan para convertir los datos corporativos
almacenados en la base de datos orientada al analisis, en conocimiento util para la toma
de decisiones.
En general el DataWarehouse o repositorio de datos es el area de almacenamiento
que OLAP usa para hacer este proceso. Los datos se vuelcan desde los sistemas opera-
cionales hacia el DataWarehouse, quiza con alguna transformacion previa de los datos.
Esta transformacion ocurre porque los datos en las bases operacionales pueden tener un
formato inapropiado, o pueden existir inconsistencias en el caso de tener varias fuentes.
Un ejemplo de inconsistencia se da si tenemos representada en una fuente de datos A la
provincia de Buenos Aires con la abreviatura BS, y en otra fuente B se la representa
con el nombre completo, BUENOS AIRES.
El DataWarehouse almacena la informacion cruda, y los sistemas OLAP hacen agre-
gaciones y sumarizaciones de estos datos, y los organizan en cubos o almacenamientos
especiales para permitir un rapido recupero ante una consulta.
La siguiente figura muestra una arquitectura tpica de la interrelacion entre las bases
operacionales, el DataWarehouse y la aplicacion OLAP. OLAP y los DataWarehouses
se complementan entre s. El DataWarehouse almacena y administra los datos, y OLAP
los convierte a informacion util.
34
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 35
Datamarts
Las corporaciones de hoy se esfuerzan por conducir sus negocios hacia una base inter-
nacional. Vemos companas que surgieron en Estados Unidos y se expandieron a Europa,
Asia y Africa. La expansion del negocio crea la necesidad de acceder a datos corporativos
que estan ubicados en diferentes puntos geograficos. Por ejemplo, un ejecutivo de ventas
de una compana con origen en Brasil que esta situado en Chile puede necesitar acceso
a la base de datos de la empresa para identificar los clientes potenciales que residen en
Chile.
Este problema se soluciona creando versiones mas pequenas del DataWarehouse, los
datamarts. Estas versiones se crean usando algun criterio particular, como por ejemplo
el lugar geografico. En el ejemplo anterior los datos de los clientes que residen en Chile
se deben almacenar en el datamart de la sucursal en ese pas.
La existencia de los datamarts crea nuevas formas de pensar cuando se disenan los
repositorios corporativos de datos. Algunas corporaciones reemplazan completamente el
concepto de tener un DataWarehouse central, por varios datamarts mas pequenos que
se alimenten directamente de los sistemas operacionales.
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 37
Finalmente, algunas organizaciones usan sus datamarts como el primer paso de alma-
cenamiento de datos operacionales. Luego los datos de todos los datamarts se replican
en un DataWarehouse corporativo central.
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 38
Mientras que la normalizacion funciona bien para los sistemas operacionales, los
requerimientos para el analisis de datos son distintos.
La normalizacion implica un gran esfuerzo y tiempo para la recoleccion de los datos.
Para obtener por ejemplo, un cubo de ventas anuales por sucursal, se tienen que acceder
muchas tablas, y leer cada fila de esas tablas. Esto no solo es complejo sino tambien
extremadamente ineficiente si se hace en una base de datos normalizada, porque requiere
un escaneo extensivo de varias tablas y muchas operaciones de JOIN.
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 39
En la figura se muestran las operaciones tpicas sobre una base operacional, como
inserciones, modificaciones y borrados. En cambio en un DataWarehouse solo hay dos
operaciones, la carga inicial de datos y el acceso a los mismos. No hay actualizacion en
el sentido operacional, como una parte normal de procesamiento.
Otras diferencias entre estos dos tipos de bases de datos tienen que ver con los datos
derivados, los datos historicos, y los datos totalizados.
Las bases de datos operacionales almacenan muy pocos datos derivados, en general se
derivan dinamicamente cuando se los necesita, a diferencia de los DataWarehouses. En
ellos, destinar espacio de almacenamiento a guardar los datos derivados ahorra mucho
tiempo al procesamiento de consultas.
Las bases de datos operacionales no guardan datos historicos. Todos los registros
historicos se van archivando en otros medios de almacenamiento en forma periodica. En
los DataWarehouses, en cambio, se almacenan grandes cantidades de datos historicos,
algunos con cierto grado de totalizacion, y tambien se guardan datos con algun nivel de
detalle.
Por lo general, en un DataWarehouse la informacion representa los datos sobre un
horizonte largo de tiempo, quiza desde cinco a diez anos. El horizonte de tiempo re-
presentado en el ambiente operacional es mucho mas corto, desde valores actuales hasta
sesenta a noventa das atras.
Veamos con un ejemplo como sera el analisis de datos a partir de una base de datos
operacional:
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 40
Supongamos que contamos con una base de datos operacional bancaria, y que un
analista de negocios esta interesado en comparar las ganancias obtenidas de las transac-
ciones en los cajeros automaticos segun el costo de la transaccion.
Para obtener estos resultados podemos escribir una consulta SQL para tomar los
datos del sistema OLTP, por ejemplo:
Hacer esto cada vez que el analista requiere alguna informacion consume mucho
tiempo y recursos, ya que las consultas podran ser mucho mas grandes y complejas,
involucrando muchas operaciones de JOIN, lo cual afectara la velocidad con la que
se recuperan los resultados y tambien afectara la performance de la base de datos
operacional sobre la que se estan realizando importantes transacciones diarias.
Esta es una de las razones por las cuales es conveniente tener los datos que sirven
para analisis en una base de datos aparte, y con un diseno diferente como los que veremos
en las secciones siguientes. Veamos la diferencia entre ambos disenos:
Diseno Operacional
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 41
Diseno Estrella
Este ultimo diseno es un diseno Star o Estrella, cuya descripcion veremos en la seccion
siguiente.
Luego de la migracion de datos la tabla Transaction, captura las transacciones a
nivel diario para cada sucursal, para todos los clientes, y para todos los servicios. Esta
tabla, por lo tanto, va a volverse muy extensa. Para mejorar la eficiencia con la que se
recuperan los datos, las totalizaciones se precalculan en diferentes niveles y se almacenan
en la base de datos o en un formato optimizado, como bases de datos multidimensionales.
Las totalizaciones se generan a partir de las otras tablas. Por ejemplo, podemos to-
talizar las transacciones por mes, para todos los servicios, todos los clientes y todas las
sucursales aplicando un GROUP BY por mes a la tabla Transaction (previo JOIN
con la tabla Time). Tambien podemos totalizar las transacciones por estado para to-
dos los dias, todos los clientes y todos los servicios agrupando los datos en la tabla
Transaction por el campo state. Podemos combinar de varias maneras las dimen-
siones para hacer totalizaciones sobre la tabla de hechos.
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 42
La mayora de los analistas de negocios van a querer ver datos totalizados. Estos
datos en lo posible deben precalcularse y almacenarse de antemano para que es-
ta recuperacion sea rapida y eficiente. Es importante ademas discutir el nivel de
granularidad y de detalle esperado por los analistas cuando hacen operaciones de
DrillDown.
El diseno debe estar conducido por el acceso y por el uso, es decir, teniendo en
cuenta que tipo de reportes o resumenes son los mas frecuentes, y cuales los mas
urgentes.
Todos los datos que se incluyan ya deben existir en las fuentes de datos opera-
cionales, o ser derivables a partir de ellos.
Las dos tecnicas de diseno mas populares son el esquema Star y el esquema Snowflake.
Este esquema esta formado por un elemento central que consiste en una tabla llamada
la Tabla de Hechos, que esta conectada a varias Tablas de Dimensiones.
En el ejemplo de la seccion anterior la tabla Transaction es la tabla de hechos
del diagrama, y las tablas Time, Branch, Service y Customer son las tablas de
dimension.
Las tablas de hechos contienen los valores precalculados que surgen de totalizar va-
lores operacionales atomicos segun las distintas dimensiones, tales como clientes, pro-
ductos o perodos de tiempo.
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 43
Esquema Snowflake
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 44
Es una variante al esquema estrella en el cual las tablas de dimension estan norma-
lizadas, es decir, pueden incluir claves que apuntan a otras tablas de dimension.
En la siguiente figura vemos un esquema similar al anterior, donde la tabla de di-
mension Sucursal se expande en las tablas Distrito y Region. Ahora la tabla
Sucursal contiene una columna clave DistritoId que apunta a la tabla Distrito,
y esta a su vez tiene una columna RegionId que apunta a la tabla de dimension
Region.
Las ventajas de esta normalizacion son la reduccion del tamano y redundancia en las
tablas de dimension, y un aumento de flexibilidad en la definicion de dimensiones.
Sin embargo, el incremento en la cantidad de tablas hace que se necesiten mas opera-
ciones de JOINs para responder a las consultas, lo que empeora la performance. Otra
desventaja es el mantenimiento adicional que requieren las tablas adicionales.
A continuacion se detallan algunos temas que impactan sobre el diseno fsico del
DataWarehouse.
Particionamiento
Las tablas deben particionarse y ubicarse en varios discos. Esto es mas que nada
importante en las VLDBs, donde las tablas de hechos pueden llegar a ocupar varios
cientos de gigabytes. El particionamiento permite que los datos de una tabla logica
se repartan en multiples conjuntos de datos fsicos. Este particionamiento se basa
en una columna de la tabla de hechos, que comunmente es la columna que indica
la fecha. Dado que la columna por la cual se particione tiene que ser parte de la
clave primaria, no puede ser una columna derivada ni contener valores nulos.
Otra ventaja del particionamiento es la opcion de almacenar los datos mas fre-
cuentemente accedidos en dispositivos mas rapidos, o guardar distintos niveles de
agregaciones en diferentes plataformas, por ejemplo, ubicar los datos totalizados
en servidores distribuidos y mantener los datos detallados en un mainframe.
Clustering
Es una tecnica muy util para el acceso secuencial de grandes cantidades de datos.
El clustering se obtiene definiendo un ndice clustering para una tabla, el cual
determina el orden secuencial fsico en el que se almacenan las filas en los conjuntos
de datos.
Indexado
Existen dos estrategias extremas de indexado: una es indexar todo, y la otra es no
indexar nada, pero ninguna de las dos es conveniente. Las columnas que se elijan
para indexar deben ser las que se usan mas frecuentemente para recuperar las filas,
y las que tienen una alta distribucion de valores, no una baja como por ejemplo
Codigo Postal.
Una vez que se determinan las columnas a indexar, hay que determinar la estrategia
de ndice. La mayora de las DBMSs proveen varios algoritmos, entre ellos B-tree,
Hash, archivo Invertido, Sparse y Binario. Se debera optar por el mas optimo para
el producto DBMSs que se esta usando.
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 46
Reorganizaciones
Las cargas incrementales de las bases de datos iran fragmentando las tablas, y esta
fragmentacion puede resultar en un decaimiento de la performance. La mayora de
las DBMSs proveen rutinas de reorganizacion para reclamar el espacio fragmentado
y mover registros.
Backup y Recupero
Los DBMSs proveen utilidades para hacer backups completos y tambien incremen-
tales. Muchas organizaciones tienen la erronea impresion de que los DataWare-
houses siempre se pueden recrear a partir de las fuentes de datos originales. Sin
embargo, ademas de que esta tarea puede llevar mucho tiempo porque hay que
reejecutar los programas de extraccion, transformacion y carga, es posible que
estos programas y los datos mismos ya no esten disponibles.
Los DBMSs estan basados en reglas internas intrincadas, que deben entenderse y
seguirse. Para esto las organizaciones contratan administradores de bases de datos. Una
situacion comun es que se deje el diseno de la base de datos a los programadores, quienes
quiza no esten del todo familiarizados con el funcionamiento interno del motor, y como
consecuencia creen un diseno pobre que no aproveche al maximo las caractersticas que
brinda el producto.
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 47
La razon por la cual se requieren estos procesos se origina en una necesidad de refor-
matear, conciliar y limpiar los datos de origen. Seria conveniente que las transformaciones
a los datos se apliquen solo una vez y que se reflejen en los archivos y bases de datos que
actuan como fuente de datos.
La mayora de los datos de origen son los datos operacionales actuales, aunque parte
de ellos pueden ser datos historicos archivados.
Si los requerimientos de datos incluyen algunos anos de historia es necesario desa-
rrollar tres conjuntos de programas ETL: una Carga Inicial, una Carga Historica, y una
Carga Incremental.
Carga Inicial
La carga inicial se asemeja mucho al proceso de conversion entre sistemas que
se da en las organizaciones cuando pasan, por ejemplo, de sus viejos sistemas
operacionales a un producto ERP (Enterprise Resource Planning), y consiste en
la extraccion, transformacion, y carga de los datos tal cual se explicara en las
secciones siguientes.
Carga Historica
Este proceso debe verse como una extension de la carga inicial, pero la conversion
aqu es un poco diferente porque los datos historicos son datos estaticos.
A diferencia de los datos operacionales, los datos estaticos ya se archivaron en
dispositivos de almacenamiento offline. Es comun que con el transcurso del tiempo
se eliminen elementos de datos que ya no sirven, se agreguen nuevos, se modifiquen
los tipos de ciertos datos o los formatos de los registros, lo que implica que los datos
historicos no necesariamente se puedan sincronizar con los datos operacionales. Por
lo tanto los programas de conversion escritos para la carga inicial quiza no sean
aplicables a la carga de datos historicos sin algunos cambios previos.
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 48
Carga Incremental
Una vez que el DataWarehouse esta cargado con datos iniciales e historicos, hay
que desarrollar otro proceso para la carga incremental, que se ejecutara mensual,
semanal o diariamente. Existen dos formas de disenar la carga incremental:
se identifican los registros eliminados, el proceso ETL debe consultar las re-
glas de negocios para determinar si las eliminaciones se deben propagar al
DataWarehouse.
Claves primarias inconsistentes: las claves primarias en las bases que actuan
como fuentes de datos no siempre coinciden con las que se definen en el DataWare-
house. Por ejemplo, si existen cinco archivos de clientes, cada uno con una clave
diferente, estas claves se tienen que consolidar o transformar en una unica clave en
el DataWarehouse.
Datos con diferentes formatos: los elementos tales como fechas o valores mone-
tarios cuentan con una gran variedad de formatos. Esto da lugar a la necesidad
de transformar estos datos a un formato unico en el que se almacenara en el
DataWarehouse.
Logica embebida: algunos sistemas operacionales son muy viejos. Estos sistemas
solan tener relaciones y convenciones arcaicas y sin documentacion entre los ele-
mentos de datos. Por ejemplo, el valor 00 en un campo Flag puede significar que
el envo se devolvio, y el valor 11 en el mismo campo significa que el registro esta
anulado.
Derivacion: se crean nuevos datos a partir de datos atomicos en las fuentes, me-
diante calculos, busquedas, y logica procedural.
Por ejemplo, generar un nuevo codigo para clasificar clientes basandose en cierta
combinacion de datos existentes, calcular el precio total como resultado de multi-
plicar el precio unitario por la cantidad vendida, o unir la columna Nombre con
la columna Apellido para obtener una unica columna NombreCliente en el
Datawarehouse.
Otro ejemplo consiste en dividir elementos de datos y que cada una de las por-
ciones resultantes conformen una columna en el DataWarehouse. Por ejemplo, di-
vidir una columna de tipo fecha o timestamp en sus componentes, como dia, mes,
cuatrimestre y ano.
Las reglas tecnicas y de negocios que determinan las transformaciones que se tienen
que aplicar se extraen de viejos manuales, viejos memos, emails, programas, y tambien
son propuestas por gente en la organizacion que recuerda cuando y porque se crearon
las distintas reglas.
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 52
Conciliacion de datos
El proposito de la conciliacion de datos es asegurar que toda la informacion que ingresa
al proceso ETL coinciden con la que sale del mismo.
Creer que las aplicaciones OLAP son menos criticas en cuanto a la correctitud de los
datos que las operacionales es un grave error. Las aplicaciones OLAP son tan criticas
como las operacionales porque las decisiones que se toman se basan en los datos que
proveen, y estas decisiones afectan la direccion estrategica de la organizacion.
Una conocida disciplina cuando se manipulan datos es conciliar toda salida del proceso
con la entrada. Cada programa o modulo que lea datos y los escriba en otro lugar debe
producir totales de conciliacion.
Existen tres tipos de totales:
Cantidad de registros
Uno de los totales fundamentales es una simple contabilizacion de los registros
ledos y los escritos. Tambien se deben contabilizar los registros rechazados en el
caso de registros que no pasaron algun chequeo del proceso ETL. Luego, el total
de registros escritos mas los rechazados debe ser igual al total de registros ledos.
Esta conciliacion se usa cuando se extraen, ordenan y mezclan filas de datos.
Cantidad de Dominios
Se cuenta la cantidad de registros para cada dominio (o valor) unico en el campo de
entrada, y por otro lado se cuenta la cantidad de registros para el mismo dominio
CAPITULO 3. DISENAR LA FUENTE DE DATOS Y MIGRARLOS 53
Indices: Las bases de datos con performance pobre frecuentemente son la con-
secuencia de un esquema pobre de indices. Es necesario definir indices en forma
eficiente, y en gran cantidad, debido al gran volumen de datos en el DataWare-
house.
Construir los indices en el momento de la carga retarda mucho el proceso, por lo
tanto se recomienda eliminar(DROP) todos los ndices antes del proceso de carga,
cargar los datos, y luego crear los ndices nuevamente.
4. Reducir la lista a dos o tres productos candidatos, para no perder tanto tiempo en
la comparacion y la eleccion definitiva.
5. Revisar demos de los productos, y si es posible preparar algunos casos de test para
que los vendedores preseleccionados demuestren la performance y efectividad de
sus productos.
Una vez que contamos con la fuente de datos completamente organizada, el siguiente
paso es poner atencion sobre las opciones disponibles para la implementacion de una
herramienta concreta.
Conceptualmente, la arquitectura de una herramienta OLAP consiste de tres com-
ponentes funcionales: Servicios de Presentacion, Servicios OLAP, y Servicios de Bases
de datos.
Servicios de Presentacion
La gente que va a usar la informacion multidimensional son analistas de negocios,
gerentes, ejecutivos, no tecnicos. Por lo tanto, los datos tienen que aparecer en un formato
que les permita a sus usuarios desarrollar propuestas, definir niveles de inversion, y
establecer metas.
Los servicios de presentacion tienen que ser faciles de usar, y la facilidad de uso
tiene que estar determinada por sus usuarios, y no por el equipo tecnico. Por ejemplo,
los analistas de negocios prefieren una interface grafica sumamente intuitiva y poder
trabajar con terminos familiares. Por lo tanto, una herramienta OLAP debe ocultar la
estructura subyacente de los datos y los procesos que se ejecutan para formar las vistas
multidimensionales de los mismos. La facilidad de uso de la herramienta se debera
poder expresar en terminos cuantificables, como por ejemplo cuanto tiempo se necesita
para aprender a usarla, cuan rapido se puede hacer un analisis, cuan comodos estan los
usuarios con la herramienta, si cumple con toda la funcionalidad requerida, y en que
medida es integrable a otras herramientas, como MS Excel por ejemplo.
Los servicios de presentacion tienen que ser flexibles y adaptables al cambio porque
los distintos usuarios tienen preferencias y skills diferentes. Por ejemplo, algunos pre-
fieren los reportes tabulares, y otros los graficos y charts. Los menus, iconos y funciones
tienen que estar configurados segun el perfil del usuario, y poder reconfigurarse segun sea
necesario. Los usuarios expertos esperan una mayor performance y respuestas rapidas,
56
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 57
as que la presentacion debera consistir en una pantalla menos cargada. Una herramien-
ta ideal debe poder ajustarse a las distintas preferencias y brindar diferentes niveles de
presentacion.
Servicios OLAP
Las consultas, los reportes y el analisis de datos son actividades muy relacionadas,
interactivas e iterativas. Por ejemplo, podemos ver los resultados de una consulta en
forma de grilla, chart o grafico, y mientras estamos estudiando estos resultados, podemos
requerir una nueva consulta, e imprimir los resultados en un reporte.
Las herramientas OLAP deben integrar los servicios de consultas, reporte y analisis.
No es practico que un usuario tenga que salir de una herramienta de consulta para poder
usar otra herramienta de reportes. Estas tres actividades deben intercalarse mediante
una suave transicion realizada por la misma herramienta, no por el usuario.
El mercado actual ofrece una amplia gama de herramientas OLAP. OLAP Survey
4 es el mas reciente de una serie de concursos realizados por Nigel Pendse, consultor
y conferencista de OLAP, y www.survey.com, una compana que ha realizado cientos
de examenes y encuestas concernientes a la tecnologa de la informacion, entre otras
areas. Este concurso tiene como objetivo evaluar las herramientas OLAP mas contun-
dentes en el mercado. De los 42 productos presentados, solo 11 tuvieron suficiente uso
como para ser incluidos en el reporte de resultados. Estas herramientas son Applix
TM1, BusinessObjects, Cognos PowerPlay, Hyperion Essbase, MIS Alea, Mi-
croStrategy, Microsoft Analysis Services, los tres productos de Oracle, Express,
Discoverer, y OLAP Option) y SAP BW (Business Information Warehouse).
Las principales diferencias entre ellas tienen que ver con el tipo de almacenamiento que
permiten.
Algunos links donde obtener mas informacion sobre las distintas herramientas son:
http://www.applix.com/solutions/
http://www.businessobjects.com/products/default.asp
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 58
http://www.cognos.com/products/business_intelligence/analysis/
index.html
http://www.hyperion.com/products/business_intelligence/analysis/
essbase_analytics.cfm
http://www.microstrategy.com/Software/Products/Service_Modules/
OLAP_Services/
http://www.microstrategy.com/Solutions/5Styles/olap_analysis.asp
http://www.oracle.com/technology/products/discoverer/index.html
http://www.oracle.com/technology/pub/articles/rittman_olap.html
www.survey.com/olap
www.olapreport.com
En cuanto a las fuentes de datos, las bases de datos relacionales SQL Server sirven
como el principal datasource para Analisis Services, aunque cualquier otra base de datos
que provea conectividad a traves de ODBC, u OLE DB Provider, como Oracle por
ejemplo, puede actuar como tal. Usualmente la estructura de estas bases de datos se
transforma a un esquema estrella o snowflake usado en los Datawarehouses OLAP.
Si profundizamos un poco dentro de la arquitectura propia de Analysis Services,
encontramos que se compone de: transformaciones de datos, un almacenamiento, un
componente Analysis Server, y un componente llamado PivotTable Service.
Almacenamiento
Las posibilidades de almacenamiento incluyen al DataWarehouse (o datamarts en
el caso de que existan) y las bases de datos OLAP. Tambien se incluyen bases rela-
cionales usadas para almacenar tablas con datos totalizados por Analysis Services
durante la construccion de cubos OLAP.
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 61
Analysis Server
El Analysis Server es el corazon de Microsoft Analysis Services, y sirve para extraer
datos de fuentes heterogeneas, analizar datos multidimensionales, crear cubos de
datos, construir las agregaciones, y conectar el cliente a los datasources. Tambien
puede utilizar las tablas con datos sumarizados que residen en bases de datos
OLTP.
Analysis Server puede trabajar con varias herramientas del lado del cliente, como
English Query, y Microsoft Office, en especial MS Excel y MS Access, permitiendo
que estas herramientas accedan a los cubos a traves del PivotTable Service. Esto
constituye una gran ventaja para usuarios que esten muy familiarizados con estas
herramientas.
PivotTable Service
Es una herramienta de procesamiento del lado del cliente, es decir, funciona como
un cliente del Analysis Server. Este servicio se encarga de permitir el analisis
online y offline de los datos OLAP, y tambien la construccion de cubos. El analisis
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 62
offline es posible gracias al manejo de cache de este servicio, que permite que los
usuarios descarguen datos de fuentes multidimensionales o relacionales y las usen
en modo offline en cubos locales. Tambien brinda una interface COM para que
otras aplicaciones cliente accedan al Analysis Server, los datos OLAP y la cache
del cliente.
Microsoft Analysis Services es una herramienta que cuenta con varios asistentes, edi-
tores y material de ayuda en cada paso. Las herramientas principales de administracion
con las que cuenta son el Analysis Manager y el Enterprise Manager (Administrador
Corporativo) de SQL Server.
Analysis Manager
Es una interface grafica (GUI) que permite que el usuario construya una solucion
OLAP basandose en datasources existentes. Esta interface permite una comoda ad-
ministracion de las bases de datos OLAP, mediante asistentes para agregar nuevos
cubos de datos, cambiar la estructura de cubos existentes agregando o cambiando
dimensiones y sus niveles de complejidad.
Tambien permite administrar la seguridad de los cubos tal que podamos garantizar
el acceso autorizado a los datos correspondientes.
Cuenta ademas con Asistentes de analisis de uso y de optimizacion basada en el
uso.
Administrador Corporativo
El DataWarehouse es una base de datos SQL Server y el Administrador Corpo-
rativo es la herramienta que nos permite mantenerlo. Ademas esta herramienta
es la que se usa para mantener todas las bases de datos operacionales, las cuales
constituyen la fuente de datos que se usa para cargar el DataWarehouse.
Ya tenemos establecidas las bases de datos fuente y destino para la migracion de los
datos. Lo que necesitamos ahora es disenar un paquete DTS que realize la transformacion
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 64
y migracion. Para esto debemos iniciar el editor de paquetes de Microsoft Analysis Ser-
vices seleccionando el nodo Data Transformation Services y eligiendo la opcion
New Package en el menu contextual.
Primero vamos a considerar la migracion de los datos que van a conformar las di-
mensiones. Debemos insertar en el paquete cuatro tareas de trasformacion, o Transform
Data Task, cada una con sus respectivas fuentes y destinos, los cuales estan constituidos
por objetos llamados Connection. En principio tendramos lo siguiente:
Los objetos connection llamados OLTP representan la misma conexion a la base con
el mismo nombre. Cuando arrastramos el primero de ellos al area de diseno creamos la
conexion estableciendo la propiedad DataSource a Microsoft OLE DB Provider
for SQL Server, y la propiedad Database a OLTP, entre otras.
En esta consulta se usan varias funciones de fecha para crear los valores necesarios
para las columnas del DataWarehouse que no existen originalmente en la tabla Orders
de la base de datos OLTP.
Como destino establecemos la tabla Time de la base de datos Datawarehouse.
El proximo paso consiste en tomar la tercer Transform Data Task libre y estable-
cer sus propiedades para efectuar la carga de la dimension de zonas geograficas. Como
destino definimos la Tabla Geography del DataWarehouse, y la consulta que usaremos
como origen de la transformacion en este caso sera:
Ahora debemos agregar una Transform Data Task que enlace una conexion a OLTP
y una conexion a la base de datos Datawarehouse para configurar la carga de la tabla
de hechos. El esquema del paquete DTS se vera ahora como en la figura:
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 68
El enlace que conecta los dos grupos de tareas es un objeto On Success Workflow,
y esta ah para asegurar que la ultima tarea no comience hasta que las cuatro tareas
precedentes no se completen exitosamente.
Para construir la tabla de hechos Ventas en el DataWarehouse usamos la Transform
Data Task de la derecha y establecemos sus propiedades para configurar la carga. Como
destino establecemos la tabla Ventas del Datawarehouse, y como origen definimos
la siguiente consulta SQL:
Vimos en captulos anteriores que la actualizacion del Datawarehouse una vez que
fue cargado por primera vez se puede realizar de varias maneras.
La extraccion simple de datos de las fuentes nos brinda una fotografa estatica de
la informacion en un punto especfico en el tiempo. Esta tecnica funciona bien cuando
se cargan bloques de datos en el DataWarehouse, que van a reemplazar otro bloque
de datos relacionados a la misma fuente pero en un punto distinto en el tiempo. Por
ejemplo, actualizar un DataWarehouse con los datos del ano actual y archivar los datos
del ano anterior en otro medio fsico. Otras tecnicas mas sofisticadas para extraer datos
incluyen la captura de logs de DBMS, captura basada en triggers, captura asistida por
aplicaciones, captura por timestamp, y la comparacion de archivos.
Con la tecnica de Captura de logs DBMS los datos a extraer se determinan a partir
del sistema de logs del DBMS. La ventaja de esta tecnica es el mnimo impacto que la
extraccion tiene sobre la base de datos operacional y los sistemas que acceden a ella,
pero requiere que el DBMS soporte logging, y tambien un claro entendimiento sobre
el formato de los registros de log. Este metodo no es posible en SQL Server porque el
formato de los archivos de log generados por el SQL Profiler son internos a SQL Server,
y no es facil leerlos fuera de esta herramienta.
La mayora de los sistemas de administracion de bases de datos soportan stored
procedures y triggers. La Captura basada en triggers utiliza el hecho de que estos
ultimos pueden ejecutar consultas SQL o aplicaciones complejas cuando ocurren ciertos
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 69
Algunas de las cuestiones que deben tenerse en cuenta en una planificacion de man-
tenimiento del DataWarehouse se detallan a continuacion:
Plan de seguridad
La seguridad en SQL Server se expande al DataWarehouse y a los cubos OLAP.
Analysis Services provee seguridad a traves de los roles que se definen a nivel cubo.
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 70
Estos roles estan altamente integrados con los usuarios y los grupos de usuarios
del sistema operativo. El proposito de un plan de seguridad es establecer cuales
usuarios pueden ver los datos, cuales datos, y que actividades pueden realizar.
SQL Server provee un modelo sofisticado de seguridad que si es bien usado pre-
viene de accesos no deseados a los datos y objetos de las bases de datos. Este
modelo de seguridad permite dos modos de autenticacion, autenticacion Windows
o autenticacion mixta (SQL Server y Windows).
Auditora
La auditora permite reconocer todas las actividades que ocurrieron en la base de
datos y quien realizo estas acciones. La auditora en SQL Server se implementa
como parte de la seguridad.
Archivar datos
Como el DataWarehouse recibe mas y mas datos de las fuentes operacionales, su
tamano crece y las consultas se vuelven cada vez mas lentas. Para mantener la
performance de las consultas es necesario separar los datos de las tablas de hechos
en varias, de acuerdo a una determinada columna. Por ejemplo separar la tabla
de hechos Ventas en las tablas Ventas2003 y Ventas2004, con los datos
pertenecientes al ano 2003 y 2004 respectivamente. Ademas, las tablas de hechos
que ya tienen varios anos y no se usan casi nunca deberan archivarse fuera de la
base de datos para poder reusar ese espacio.
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 71
Disenar un cubo
El diseno de un cubo primero exige determinar que se quiere capturar como medidas,
es decir, los valores cuantitativos que se quieren analizar y monitorear como indicadores
de la actividad del negocio. Las medidas como ventas y costos son interesantes, sobre
todo si se analizan valores actuales y planeados, para alcanzar un buen analisis de la per-
formance de la organizacion. Otro elemento que se debe determinar son las dimensiones,
es decir, las perspectivas o vistas en las que las medidas tienen relevancia y significado.
Una dimension que siempre es util es la que representa el tiempo.
Para crear un cubo Analysis Services provee un asistente que nos gua en la seleccion
de medidas y dimensiones de una manera directa. Para iniciar el asistente debemos
expandir EjemploOLAP, seleccionar la carpeta Cubos, y elegir Nuevo Cubo/Asistente
en el menu contextual.
El primer paso consiste en seleccionar una tabla de hechos del data source Food-
Mart2000. Un cubo puede tener mas de una tabla de hechos, aunque para simplificar
supondremos que cuenta con solo una. De la lista de tablas pertenecientes a esta base
de datos seleccionamos la tabla de hechos sales_fact_1998.
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 74
El paso siguiente consiste en seleccionar las dimensiones, pero como aun no existen
dimensiones creadas, debemos generarlas.
Las dimensiones son analogas a una clausula GROUP BY de SQL, ya que los datos de
un cubo OLAP estan organizados, o agrupados, en dimensiones. Analysis Services maneja
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 75
varios tipos de dimensiones con distintas caractersticas. Para crear una dimension ini-
ciamos el Asistente para Dimensiones mediante el boton Nueva Dimension..., pero antes
veamos un poco cuales son las dimensiones soportadas en la herramienta de Microsoft.
Dimensiones compartidas
Las dimensiones compartidas pueden ser usadas por multiples cubos. En lugar de
construir varias dimensiones para el mismo tipo de informacion, usamos solo una,
ahorrando tiempo de desarrollo y de procesamiento. En la carpeta Dimensiones
Compartidas podemos encontrar todas las dimensiones definidas para el cubo
actual, y pueden editarse y agregarse nuevas.
Dimensiones privadas
Las dimensiones privadas son particulares al cubo que las contiene. Se construyen
junto con el cubo y se procesan automaticamente cuando se procesa el cubo,lo que
implica reprocesarlo si se modifican la estructura o los datos de alguna de estas
dimensiones.
Dimensiones Virtuales
Las dimensiones virtuales dependen de las propiedades de los miembros de una
dimension existente. Por ejemplo, dada una dimension Sucursal, una de las
posibles propiedades de los miembros podra ser TipoSucursal, con los valores
mayorista y minorista. Al construir una dimension virtual sobre esta propiedad,
los usuarios finales pueden agrupar la informacion no solo por las dimensiones, sino
tambien por los atributos de las dimensiones. En este caso, pueden organizar los
datos segun las sucursales y tambien segun sucursales mayoristas y minoristas.
En el Editor de Cubos se pueden definir las member name columns o columnas de nom-
bre de los miembros, que contienen los nombres para los miembros de un nivel, aunque
en general esta informacion esta dada por la misma columna clave.
Una vez que definimos toda la informacion necesaria para crear la dimension, el
asistente presenta una vista previa en la que podemos ver la estructura de arbol con los
miembros en los respectivos niveles de la jerarqua.
Cuando creamos una dimension se crea un nivel adicional ademas de los que especifi-
camos. Se trata de un nivel llamado Todos [NombreDimension], Todos Region
en este caso, que se incluye por defecto y resume todos los datos en el nivel mas alto de
la dimension. Podemos deshabilitarlo usando el Editor de Dimensiones.
Ahora retornemos a la creacion del cubo en el Asistente para Cubos, donde podemos
observar que Region ya aparece en la lista de dimensiones del cubo.
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 79
Luego, de la misma manera que con la dimension Region, seleccionamos los niveles
correspondientes y los ordenamos desde el mas resumido al mas detallado. En este caso,
establecemos los niveles product_category, product_subcategory, y brand_
name, en ese orden.
Ahora veremos cuales son los pasos para agregar una dimension de tiempo. Ini-
cialmente debemos crear la dimension con el esquema estrella, y seleccionar la tabla
time_by_day como la tabla de dimension.
En este ejemplo el datasource ya contiene una tabla de dimension de tiempo, aunque
en general la dimension de tiempo se deriva de una columna en la tabla de hechos. En
el ejemplo, la tabla time_by_day esta relacionada a la tabla de hechos mediante la
columna clave time_id.
Cuando el asistente detecta que existe una columna de tipo datetime en la tabla
seleccionada ofrece la opcion de crear una dimension estandar o una dimension de tiempo.
Optamos por la segunda opcion, y establecemos que la columna que se usa para definir
la dimension es the_date, en este caso, la unica columna de tipo datetime en la
tabla Time_by_day.
Ahora debemos considerar los niveles de la dimension. El asistente presenta por
defecto las niveles mas comunes, como ano-cuatrimestre-mes-da, ano-cuatrimestre-mes-
da-hora-minuto, ano-trimestre-mes, etc. Ademas permite establecer una fecha de inicio
del ano distinta al 1 de enero. Esto es particularmente util para reflejar periodos contables
o fiscales. La configuracion para nuestra dimension de tiempo es la siguiente:
circunstancias normales, solo debemos parear ambas claves en las tablas a relacionar.
Sin embargo, parecen no existir claves comunes entre las tablas sales_fact_1998 y
Region.
Necesitamos definir y usar un puente o tabla intermedia que complete esta asociacion
logica. Agregamos la tabla store, y relacionamos las tablas region y store me-
diante la columna region_id, y las tablas store y sales_fact_1998 mediante la
columna store_id.
En este ejemplo establecimos que la performance tiene que permanecer por encima
del 80 %. Al observar el grafico vemos que este objetivo se logra designando casi 0.2 MB
para el almacenamiento de 11 agregaciones en el cubo.
Inicialmente el Browser nos muestra los datos correspondientes a las tres medidas,
store_sales, store_cost y unit_sales, organizados en una sola dimension,
Products. En el panel superior estan las otras dos dimensiones, Region y Time.
Podemos cambiar las posiciones de las dimensiones. Podemos analizar las medidas
organizadas por region reemplazando la dimension Products por la dimension Region.
Este reemplazo se realiza simplemente arrastrando la dimension Region y soltandola
encima de la columna que ocupa la dimension Products.
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 86
Automaticamente las medidas en la grilla se reajustan para reflejar solo los valores
que pertenezcan al periodo de tiempo filtrado.
Una operacion DrillDown, como sabemos, permite ver datos mas detallados. Para
detallar las medidas un nivel mas en la dimension Products basta con hacer doble clic
en la celda Product_Category para expandirla. Como resultado de esta operacion,
ademas de los datos detallados se crea una nueva celda Product_Subcategory que
sirve para indicar el nivel actual de la dimension.
Una operacion DrillUp nos muestra datos mas resumidos. Si queremos volver atras la
operacion DrillDown anterior sobre la dimension Products debemos hacer doble click
en la celda Product_Subcategory recientemente expandida.
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 88
Estas operaciones se pueden aplicar en forma combinada y en los niveles que sean
convenientes. Por ejemplo, podramos hacer DrillDown en la dimension Region para
analizar las ventas y costos por pases, provincias, distritos, o ciudades, hasta alcanzar
el nivel de detalle que resulte mas significativo al analisis.
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 89
Medidas calculadas
Particiones
Miembros calculados
Los miembros calculados son miembros cuyos valores se definen a traves de una
formula y en general estan basados en otros miembros de la dimension. Un ejemplo
de miembro calculado es uno que calcule el presupuesto del ano actual segun los
gastos, tal que el presupuesto sea un 20 por ciento mayor que los gastos actuales.
Si contamos con una dimension cuyos miembros representan los distintos tipos
de presupuestos, entre ellos, el miembro Current Years Actuals representa
el monto realmente destinado para el ano corriente, podemos incluir el miembro
calculado Current Years Budget, que representa el monto planeado, y cuyo
valor es igual al valor del miembro Current Years Actuals multiplicado
por 1.2.
Esta dimension debe tener la propiedad Writeback activa para poder crear un
miembro calculado en ella. Esta propiedad permite que cualquier modificacion en
un miembro vuelva directamente a la tabla de dimension de origen.
La formula que define el valor del miembro agregado es la siguiente:
Medidas calculadas
Continuando con el ejemplo del cubo CostoyVentas, que contiene medidas para
las ventas y para los costos, podemos agregar una medida calculada Profit cuyo
valor sea la diferencia entre las medidas anteriores. La formula MDX que define a
esta medida es:
[Measures].[Store_Sales]-[Measures].[Store_Cost]
Celdas calculadas
Las celdas calculadas son similares a las medidas calculadas en que estan deter-
minadas por expresiones MDX que se calculan en el momento de la consulta. La
diferencia es que es posible especificar un subconjunto de celdas, o solo una, para
las cuales esta expresion es valida. La forma de determinar el subconjunto de cel-
das tambien se expresa mediante MDX, en terminos de las dimensiones y medidas
existentes.
DrillThrough
Hay que tener en cuenta que los cubos OLAP construidos sobre un almacenamien-
to MOLAP pueden operar sin los datos SQL subyacentes una vez que se pro-
ceso el cubo, y ademas en muchos DataWarehouses se quitan los datos detallados
una vez que los cubos han sido procesados. Por todo esto, para que la operacion
DrillThrough funcione, es necesario asegurarse de que los datos detallados que se
usaron para procesar el cubo permanezcan accesibles.
Cubos Virtuales
Los cubos virtuales funcionan de manera similar a las Vistas en una base de datos
relacional. Estos cubos se crean uniendo otros para crear un super cubo y as poder
disponer de una gran vista de los datos sin consumir espacio en disco.
Por ejemplo, podemos crear un cubo virtual a partir de un cubo que contenga
informacion sobre los empleados y un cubo de ventas, y a partir de este cubo
virtual los analistas pueden establecer una relacion entre la cantidad de empleados
en una sucursal y el total de ganancias de la misma para un periodo de tiempo
particular, ayudandolos a definir una cantidad promedio optima de empleados por
sucursal.
Particiones
La particion se puede almacenar en un disco distinto del cubo original. Esto permite
ubicar los datos que no se consultan frecuentemente en un medio de almacenamien-
to mas lento,y dejar las particiones que contienen los datos mas requeridos en los
medios mas rapidos.
Algunos problemas que se deben evitar cuando se usa esta opcion son la aparicion
de particiones solapadas y particiones incompletas.
Chart: este control muestra los datos resumidos en un grafico tipo chart. Los datos
se pueden obtener desde cualquiera de los controles Spreadsheet, PivotTable,
o DataSource, o puede llenarse desde el codigo.
Spreadsheet: este control brinda una funcionalidad simple tipo Excel en una in-
terface liviana para paginas web.
Data Source: provee una conexion ADO para los controles consumidores de datos
como el Chart y el PivotTable. No es necesario si vamos a establecer el origen
de datos desde el codigo.
Record Navigation: sirve para soportar el enlace de datos.
PivotTable: es un control similar al PivotTable de Excel. Muestra totales por
filas y columnas, y permite operaciones de pivoting arrastrando campos a los
encabezados de filas, de columnas o a otras areas.
Si observamos la expresion MDX vemos que en la clausula FROM indica que los
datos se extraen del cubo TrainingSales, y en la clausula SELECT se establece
la dimension Customers para las columnas, y la dimension Course para las filas,
ambas con todos los niveles incluidos.
Por ejemplo, aqu se muestra el resultado de aplicar un filtro por fecha, en particular
el Trimestre 2, y se expandieron algunos nodos para profundizar el nivel de detalle.
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 95
El objeto Cellset
Veamos entonces el codigo para instanciar un objeto Cellset, e iterar sobre sus
celdas para mostrar sus datos en un control FlexGrid no enlazado. Para usar-
lo debemos agregar una referencia a Microsoft ActiveX Data Objects
(Multi-dimensional) en el proyecto Visual Basic.
El objeto CubeDef
Al igual que ADO MD, DSO expone objetos a traves de COM y se puede programar
en cualquier lenguaje o herramienta que admita este tipo de objetos.
Para usar el modelo DSO desde un proyecto es necesario establecer una referencia
a la librera DSO, Microsoft Decision Support Objects. Como ejemplo
vemos el codigo para crear una base de datos OLAP llamada Ejemplo, usando
la base de datos FoodMart2000. Dentro de la base Ejemplo se crea un cubo, una
dimension Employees con tres niveles, y una medida Salary.
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 101
Una vez ejecutado este codigo podemos abrir el Analysis Manager y comprobar
que la base de datos Ejemplo existe, junto con los componentes que definimos.
Como sabemos, crear la base de datos OLAP no es suficiente para llenar la es-
tructura con datos. Para esto es necesario procesar el cubo, pero antes debemos
establecer las opciones de agregacion y de almacenamiento. Estas tareas tambien
se pueden hacer usando DSO, aunque pueden resultar bastante tediosas.
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 102
En lugar de construir todo el codigo para crear una base de datos OLAP podemos
usar una utilidad llamada Meta Data Scripter incluida en SQL Server 2000 Re-
source Kit, que toma una base de datos OLAP y genera el codigo DSO en VBScript
para crear todos los objetos correspondientes a dicha base de datos.
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 103
Mientras que en Analysis Services 2000 el objeto principal es una base de datos
multidimensional, en la version 2005 encontramos la solucion, que es una coleccion
de uno o mas proyectos. Estos terminos se derivan del entorno de Visual Studio,
debido a su familiaridad entre los desarrolladores de C# o VB.NET. Cuando se
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 104
crea un nuevo proyecto, entre los tipos de proyectos para elegir existe un tipo
Analysis Services, que es similar a la base de datos en Analysis Manager. Tambien
existen otros tipos de proyectos para representar las funciones DTS.
En la version 2005 los cubos pueden estar basados en varias tablas de hechos de
distinta granularidad. Esta caracterstica se asemeja a los cubos virtuales de la
version 2000.
Cambios en la arquitectura
Analysis Services 2000 soporta una sofisticada mezcla de calculo y cache en ambos
lados, servidor y cliente. Para favorecer la integracion y simplificacion, Analysis Services
2005 soporta calculo y cache unicamente en el lado del servidor.
Recordemos que en Analysis Services 2000 se requiere como fuente de datos de un
cubo un esquema estrella relacional o una variante muy cercana, como lo es el esquema
snowflake. En Analysis Services 2005, sin embargo, es posible mapear cubos a esquemas
arbitrarios mediante los llamados Data Source Views. En casos extremos, un cubo se
podra mapear directamente a la base operacional.
Un Data Source View es una capa que se ubica por encima del Datasource, impidiendo
que todos los objetos del mismo (tablas y vistas en el caso de un datasource operacional)
queden directamente expuestas. Esto permite capacidades adicionales, como seleccionar
solo un subconjunto de objetos del Data Source, renombrar columnas, agregar columnas
virtuales calculadas, agregar consultas con nombre, y usar sentencias SQL que retornan
un conjunto de resultados que luego se trata como una tabla. Ademas, los Data Source
Views permiten trabajar sobre las estructuras del cubo sin estar conectado al datasource,
a diferencia de Analysis Services 2000.
Otra caracterstica que se incluye en la nueva version es el Unified Dimensional
Model (UDM), una funcionalidad que une almacenamientos de datos relacionales y
multidimensionales permitiendo la creacion de un unico modelo dimensional que se aplica
a ambos. Microsoft caracteriza a UDM como la combinacion de lo mejor de lo relacional y
lo multidimensional. Con UDM, los almacenamientos MOLAP se vuelven transparentes,
ya que son ubicados en cache y administrados automaticamente, y las aplicaciones OLAP
entregan datos con menor latencia y muestran atributos detallados.
Algunas de las nuevas caractersticas que surgen a traves de UDM incluyen:
CAPITULO 4. IMPLEMENTAR UNA HERRAMIENTA OLAP 105
Server Trace Events: con Analysis Services 2000 es casi imposible obtener informa-
cion de bajo nivel sobre lo que esta ocurriendo en el Analysis Server. En la version
2005 se generan eventos Trace, los cuales pueden ser monitoreados y analizados
con el SQL Server Profiler, igual que en SQL Server.
Conclusion
OLAP juega un rol importante dentro de las organizaciones, ya que ayuda a estable-
cer, monitorear y comunicar las medidas de performance que permiten a los gerentes
entender como se va desarrollando el negocio en el complejo entorno competitivo.
Ademas permite establecer nuevas medidas de performance. Tradicionalmente, las
finanzas provean las unicas medidas de performance corporativa, las cuales continuan
siendo criticas para cualquier negocio. No obstante, surge una tendencia hacia otros fac-
tores, tales como medidas de calidad (en sistemas de produccion), proyectos de inversion
de capitales, eficiencia operacional y del negocio, y medidas sobre el cliente y sobre los
recursos humanos.
Las medidas financieras solo proveen una perspectiva particular, y la mayora de
las organizaciones estan comenzando a ver la necesidad de un rango mas amplio de
indicadores para entender su performance en un mercado altamente competitivo que se
mueve muy rapido.
107
CAPITULO 5. CONCLUSION 108
No solo abstrae al usuario de usar SQL o ser consciente de cosas como los nombres
de las tablas y columnas de la base de datos, sino que le permite ejecutar consultas
complejas que involucran muchas facetas de su negocio sin necesidad de asistencia
por parte del personal de sistemas.
CAPITULO 5. CONCLUSION 109
Existe una relacion superpuesta entre las herramientas de Reporting, OLAP y Datami-
ning.
Las herramientas de reporting apuntan a un publico general, y los resultados se ex-
tienden a toda la organizacion. Las herramientas OLAP se especializan en la exploracion
interactiva de informacion multidimensional, y se usan en todos los niveles de la orga-
nizacion. La division entre los dos tipos de herramientas no es totalmente clara, porque
algunas herramientas de Reporting tienen facilidades limitadas que permiten a los usua-
rios explorar datos, y las herramientas OLAP, a su vez, se benefician de algunas de las
caractersticas de las de Reporting.
Las herramientas de Datamining estan orientadas a la busqueda de patrones y a
la exploracion de los datos usando hipotesis sobre los mismos. Algunas herramientas
OLAP ofrecen caractersticas limitadas de Datamining, aunque la tendencia actual es
la integracion con estas herramientas como una expansion de la funcionalidad de las
herramientas OLAP.
La tendencia actual dirige a las aplicaciones OLAP a formar parte de algo mas
grande y abarcativo, que se conoce como plataforma Bussiness Intelligence. Bussiness
Intelligence (BI) no es ni un producto ni un sistema. Es una arquitectura y una coleccion
de aplicaciones, tanto operacionales como de toma de decisiones, y de bases de datos,
que juntas proveen a la gente de negocios un facil acceso a los datos de interes.
Las aplicaciones BI no solo facilitan las actividades relacionadas al analisis multi-
dimensional, sino tambien actividades como el Datamining, forecasting(pronosticos), y
preparacion de Balanced Scorecards, entre otras.
Historicamente, una solucion Business Intelligence consista en un conjunto de he-
rramientas individuales, donde cada una soportaba una funcion diferente. Hoy la realidad
es que las soluciones BI a nivel empresarial no solo brindan herramientas que investigan
los datos, sino tambien herramientas de desarrollo y administracion para crear, desa-
rrollar y mantener aplicaciones de tipo BI. Hoy una nueva generacion de herramientas
provee este tipo de soporte end-to-end y a medida que estas herramientas maduran en
las plataformas BI, la complejidad de las soluciones que se pueden construir aumenta.
Una plataforma BI se caracteriza por soportar un numero creciente de usuarios y un
diverso rango de necesidades, proveer acceso web, brindar un metodo optimo de inte-
gracion y administracion de fuentes de datos corporativas de gran volumen, funcionalidad
BI embebida en el proceso de negocios, administracion end-to-end de la plataforma, en-
trega de informacion dirigida y planificada, y proveer una plataforma para construir y
desarrollar aplicaciones analticas.
El contenido de esta tesis esta dirigido a quienes se encuentran por primera vez frente
a esta tecnologa.
CAPITULO 5. CONCLUSION 110
La idea es brindar las premisas basicas para saber cuales datos tomar de los sistemas
operacionales, conocer las transformaciones mas comunes que se aplican a estos datos,
y para disenar la estructura de las tablas del DataWarehouse que va a recibir los datos
operacionales.
Como ejemplo practico para clarificar estas ideas, se migraron datos desde una base
OLTP a un DataWarehouse disenado con un esquema Snowflake usando los Servicios de
Transformacion de SQL Server (DTS).
La creacion de un cubo con la herramienta SQL Server Analysis Services intento fijar
los conceptos de Cubos, Dimensiones y Niveles, vistos en la introduccion. El analisis y
manipulacion del mismo fue una forma de hacer lo mismo con las operaciones aplicables
a los cubos.
Los ejemplos usados con este fin son bastante basicos, pero utiles para comenzar a
conocer OLAP y sus beneficios.
Las ultimas secciones nos brindan algunas puntas para comenzar a experimentar con
caractersticas mas avanzadas, como cubos virtuales, o la construccion de una herramien-
ta OLAP propia que acceda a Analysis Services por codigo.
Es importante no quedarse afuera de esta tecnologa, y no solo por los beneficios
que brinda. El hecho de que OLAP este acaparando el mercado implica que nuestros
competidores iran avanzando en la medida que la herramienta se los permita, y nuestra
organizacion se ira posicionando en un lugar bastante poco privilegiado con respecto a
la competencia.
Poniendonos a la par, contamos con la misma informacion que los competidores, y
aun mas, a medida que adquiramos conocimiento mas profundo sobre la herramienta
OLAP que usemos y la aprovechemos al maximo.
Bibliografa
[Atr03] Larissa T. Moss; Shaku Atre. Business Intelligence Roadmap: The Complete
Project Lifecycle for Decision-Support Applications. Addison Wesley, 2003.
[Bal02] Seth Paul; Nitin Guatam; Raymond Balint. Preparing and Mining Data with
Microsoft SQL Server 2000 and Analysis Services. MSPress, 2002.
[Fra05] Mark Frawley. Analysis Services Comparison: SQL 2000 vs. SQL 2005.
www.devx.com, 2005. Los principales cambios a las caractersticas BI
en SQL Server 2005 prometen cambiar la manera en la que desa-
rrollamos aplicaciones de este tipo. La comparacion realizada en este
artculo esta dirigida a descubrir estos cambios. El link del artculo es
http://www.devx.com/dbzone/Article/21539.
[Ros] Ralph Kimball; Margy Ross. The DataWarehouse Toolkit. Second Edition. The
Complete Guide to Dimensional Modeling. Wiley Computer Publishing.
[San05] Paul Sanders. Paper: SQL Server 2005. Real-time Business Intelligence Using
Analysis Services. Microsoft TechNet, 2005.
[Woo00] Mary Hope; Madan Sheina; David Wells; Eric Woods. Ovum Evaluates: OLAP.
Ovum Ltd., 2000.
[You01] Tony Bain; Mike Benkovich; Robin Dewson; Sam Ferguson; Christopher
Graves; Terrence J. Joubert; Denny Lee; Mark Scott; Robert Skoglund; Paul
111
BIBLIOGRAFIA 112