Bases de Datos Multidimensionales

Definición. Base de datos Multidimensional. Base de datos de estructura basada en dimensiones orientada a consultas comp

Views 148 Downloads 0 File size 228KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Definición. Base de datos Multidimensional. Base de datos de estructura basada en dimensiones orientada a consultas complejas y alto rendimiento. Puede utilizar un SGBDR en estrella (Base de datos Multidimensional a nivel lógico) o SGBDM (Base de datos Multidimensional a niveles lógico y físico o Base de datos Multidimensional Pura) INTRODUCCIÓN Hasta ahora, el modelo más usado para la implementación de bases de datos ha sido el modelo relacional, orientado al procesamiento de transacciones (inserción, actualización y borrado de datos) relaciona dos tablas de datos por alguno de sus campos de forma que todos ellos son igualmente importantes

De la necesidad de buscar un esquema no homogéneo (nos tienen que decir qué es lo importante) y orientado a consultas (el análisis de datos es su principal objetivo) surge el modelo de datos multidimensional o Data Warehouse. Ahora debemos hablar de un esquema que implementa un almacén de datos, donde los datos sólo se entienden en relación a un dominio definido por la decisiones de la empresa.

DISEÑO MULTIDIMENSIONAL Para realizar el diseño multidimensional de un conjunto de datos deberemos comprender los diferentes pasos o fases del diseño. En ellas se verán siempre dos puntos de vista: un primer diseño al nivel más bajo de detalle y otro a alto nivel determinado por el usuario decisor de alto cargo en una empresa. Diseño Conceptual Sería similar al esquema E/R en un modelo relacional, se trata de definir y llegar a un consenso de los elementos que se tratarán. Definición Usuario: es importante que determinemos para qué tipo de usuario se hará el diseño, es decir, qué tipo de usuario es el que tomará las decisiones en cuanto

a

qué

y

cómo

tratar

los

datos.

Podría considerarse a bajo nivel de detalle a cualquier técnico informático y a alto nivel el directivo de la empresa para la que se trabaja. Decisiones: deberíamos hacer una lista de las decisiones que cada uno de los usuarios tomarían con los datos. Estas decisiones determinarán todo el diseño. Se trata de dar relevancia a los datos. A bajo nivel debería de detallarse al máximo pero a alto nivel sólo debe considerarse lo estrictamente necesario. Este es uno de los principales problemas del modelado multidimensional ya que la única manera de obtener otra nueva visión abstracta de los datos y diferente es partiendo de la implementación de más bajo nivel donde la anterior podría considerarse inútil. Este "cambio de decisiones" se resuelve en base a las operaciones ROLL-UP o DRILL-DOWN, algo así como agrupar y descomponer, respectivamente.

Granularidad En esta etapa debemos definir los hechos y las dimensiones. Los hechos son el foco de atención, es decir, lo que queremos medir: nº ventas; y las dimensiones será la "manera" de contar: nº de ventas en una tienda, bajo una promoción, en un año, de un producto.

Hechos Los hechos serán por tanto aspectos cuantitativos y representativos, las dimensiones serán los aspectos que definen el cuándo, el cómo, el qué, el dónde o el quién. Obtendremos tantos esquemas en estrella como hechos haya de manera que cada hecho será el centro y las dimensiones serán las puntas de la estrella. Para cada hecho se pueden considerar diferentes mediciones derivadas, por ejemplo, beneficio de una venta, coste, nº unidades, etc.

Dimensiones

Para las dimensiones también tendrán que ser definidas en detalle: por sus niveles y sus descriptores. En el ejemplo, si tenemos la dimensión Cuándo definida como fecha, los niveles de abajo a arriba podrían ser: día, mes, trimestre, año, TODO. Sería una agregación. Como ejemplo de descriptor para el nivel día podríamos tener día de la semana. La idea es identificar todos los posibles niveles de abstracción donde la información podría sernos de utilidad así como sus atributos (descriptores) que os permitan obtener dicha información. Cuanto más detallemos a un nivel bajo de abstracción más posibilidades tendremos en el futuro para ejecutar ROLLUP.

Validación Por supuesto, habrá que validar si podemos obtener los datos de alguna manera, si ya existen, si los proporcionamos nosotros o alguna empresa externa, si hay que recogerlos mediante alguna aplicación o si podemos generarlos.

Diseño Lógico Tablas Cada hecho es una tabla y cada dimensión también. En la tabla de los hechos además de los identificadores (que deberían ser autogenerados para optimizar las consultas) de las dimensiones irán las mediciones que se hayan considerado. Para esta tabla se deberán definir las bases, o sea, las dimensiones que identifican a un hecho de manera unívoca. En las tablas de las dimensiones se esperan que aparezcan los niveles y los descriptores como campos además de las claves primarias o identificadores. Estabilidad de las dimensiones Existe un problema común en este tipo de esquemas multidimensionales llamado el Problema de las Dimensiones Cambiantes (Slowly Changing Dimension). Esto sucede cuando, tras haber considerado una dimensión,

tenemos en uno de sus registros un atributo que cambia de valor y que no podemos sobreescribir porque toda la información relativa a ese registro con el antiguo valor se perdería. Por ejemplo, es posible que a nosotros nos interese conocer información de los empleados de nuestra empresa, si uno de nuestros empleados cambiase de su residencia A a otra B y "machacamos" el registro jamás sabremos con certeza cuáles de nuestros empleados llegaron a vivir en la ciudad A. Para ello hay que considerar qué dimensiones son susceptibles a estos cambios y analizar la forma más razonable de abordar el problema.

Estimación del tamaño Finalmente debe considerarse una estimación del tamaño de nuestra base de datos multidimensional analizando dimensión a dimensión el máximo de registros que podría llegar a alcanzar de una forma razonada.

Cubos e hipercubos de datos. Los hipercubos en aplicaciones de bases de datos se utilizan comúnmente para generar resumenes, estadísticas, proyecciones y otros tipos de procesos de información. Cuando se tiene fuentes de datos detalladas que constan de millones de registros, usando la metodología OLAP por medio de un hipercubo, los millones de registros, se preprocesan generando acumulados siguiendo los criterios requeridos por el usuario que finalmente utilizara la información ya procesada por este medio. Asimismo, el usuario final tiene la capacidad para especificar diversos criterios que definen cual y de que forma será presentada, acumulada y ordenada la información, obteniéndose los resultados a una velocidad muy superior de la que se obtendría con un sistema de bases de datos relacional o a objetos. (complementar)

Los cubos de información o cubos OLAP funcionan como los cubos de rompecabezas en los juegos, en el juego se trata de armar los colores y en el

data warehouse se trata de organizar los datos por tablas o relaciones; los primeros (el juego) tienen 3 dimensiones, los cubos OLAP tienen un número indefinido de dimensiones, razón por la cual también reciben el nombre de hipercubos. Un cubo OLAP contendrá datos de una determinada variable que se desea analizar, proporcionando una vista lógica de los datos provistos por el sistema de información hacia el data warehouse, esta vista estará dispuesta según unas dimensiones y podrá contener información calculada. El análisis de los datos está basado en las dimensiones del hipercubo, por lo tanto, se trata de un análisis multidimensional. A la información de un cubo puede acceder el ejecutivo mediante “tablas dinámicas” en una hoja de cálculo o a través de programas personalizados. Las tablas dinámicas

le

permiten

manipular

las

vistas

(cruces,

filtrados,

organización, totales) de la información con mucha facilidad. Las diferentes operaciones que se pueden realizar con cubos de información se producen con mucha rapidez. Llevando estos conceptos a un data warehouse, éste es una colección de datos que está formada por «dimensiones» y «variables», entendiendo como dimensiones a aquellos elementos que participan en el análisis y variables a los valores que se desean analizar. Dimensiones

Las dimensiones de un cubo son atributos relativos a las variables, son las perspectivas de análisis de las variables (forman parte de la tabla de dimensiones). Son catálogos de información complementaria necesaria para la presentación de los datos a los usuarios, como por ejemplo: descripciones, nombres, zonas, rangos de tiempo, etc. Es decir, la información general complementaria a cada uno de los registros de la tabla de hechos. Variables

También llamadas “indicadores de gestión”, son los datos que están siendo analizados. Forman parte de la tabla de hechos. Más formalmente, las

variables representan algún aspecto cuantificable o medible de los objetos o eventos a analizar. Normalmente, las variables son representadas por valores detallados y numéricos para cada instancia del objeto o evento medido. En forma contraria, las dimensiones son atributos relativos a la variables, y son utilizadas para indexar, ordenar, agrupar o abreviar los valores de las mismas. Las dimensiones poseen una granularidad menor, tomando como valores un conjunto de elementos menor que el de las variables; ejemplos de dimensiones podrían ser: “productos”, “localidades” (o zonas), “el tiempo” (medido en días, horas.

Cubo de información.

Los

cubos

de

Información

o

Cubos

OLAP.

Los cubos OLAP pueden ser comparados con los cubos de rubik donde en estos el juego es tratar de poner los colores de un solo lado y cuenta con tres dimensiones, y en los BDMD se trata de organizar los datos por tablas o relaciones y este no tiene un número definido de dimensiones, también pueden ser llamados como Hipercubos.

Características. El cubo OLAP contiene datos de una determinada variable que se desea consultar

proporcionando

Operaciones

en

una

vista

los

lógica

de

cubos

los

de

datos.

datos.

Dice. Se realiza una reducción de los datos mediante las consultas. Pivotaje o Rotación. Se realiza un cambio de la visión dimensional de los datos.

Dimensiones. Las dimensiones de un cubo son los atributos de los datos, son las vistas de las dimensiones, es decir, las variables de las tablas que forman el cubo. Las dimensiones de un cubo se utilizan para indexar, ordenar, agrupar o abreviar los valores de las variables.

Variables. También llamadas ‘Indicadores de Gestión’, son los datos que están siendo analizados,

los

cuales

forman

parte

de

una

tabla.

Normalmente las variables son representadas por valores detallados para cada instancia del objeto o evento medido.

Corte

y

Corte

del

Cubo.

Las operaciones de corte y corte consiste básicamente para analizar subconjuntos de cubos, el resultado de estas operaciones llevan el nombre de subcubos o cuboides. La operación Corte, como la palabra lo dice, realiza un corte

del

cubo.

Por ejemplo, si una dimensión de tiempo de un cubo únicamente tomamos es mes de Marzo y dejamos ver el resto de las dimensiones, entonces con la operación de corte y corte la rebanada corresponderá al mes de marzo nada más. Pero si además de ese corte, queremos otro corte de la dimensión Proveedor, seleccionando algún proveedor ‘X’ de un cubo de compras, entonces estaríamos visualizando un “subcubo” como resultado de la operación corte y corte.

Filtrar

y

Pivotear.

La operación Filtrar consiste en hacer una consulta de los datos de un cubo utilizando una constante, mientras que Pivotear permite visualizar el cubo desde distintos ángulos.

Ejemplos. Un gerente de una zona estría interesado en visualizar la información para todos los productos que distribuye, lo podría tener en una representación gráfica como:

Un director de producto, sin embargo quería examinar la distribución geográfica de sus productos para toda la información histórica almacenada en el Dataware House.

O se podría también examinar los datos en un determinado

momento

o

una

visión

particularizada.