lunes, 23 de mayo de 2011

Modelos Emergentes de Base de Datos

1.2 Bases de datos multidimensionales




1.2.1 Definición y concepto



1.2.2 Modelos conceptuales



1.2.3 Cubos



1.2.4 Estructuras jerárquicas y no jerárquicas







BASE DE DATOS MULTIDIMENSIONAL



Este tipo de base de datos se aplica sobre el sistema OLAP también llamado cubo multidimensional o hipervínculo. Se compone de hechos numéricos llamados medidas que se clasifican por dimensiones. El cubo de metadatos es creado típicamente apartar de un esquema en estrella o copo de nieve y utilizando tablas de una base de datos relacional.



Las medidas se obtienen de los registros de una tabla de hechos y las dimensiones de cuadros.







TIPOS DE OLAP



Tradicionalmente los sistemas OLAP se clasifican en las siguientes categorías:



ROLAP



La implementación OLAP almacena los datos en un botón relacional llamado ROLAP los datos son detallados evitando las agregaciones y las tablas que se encuentran normalizadas, los esquemas más comunes son de estrella y copo de nieve aunque es posible de trabajar sobre cualquier base de datos relacional. La arquitectura de esta se compone de un servidor de banco de datos relacional y el botón OLAP se encuentra en el servidor dedicado. La principal ventaja de esta arquitectura es que permite el análisis de una enorme cantidad de datos.



La arquitectura ROLAP excede a los datos relacionados para proporcionar los análisis OLAP. La primicia de los sistemas ROLAP es que las capacidades OLAP se ejecutan mejor contra las bases de datos relacionales.



Utiliza una arquitectura de tres niveles:



1 Nivel Base De Datos: Usa base de datos relacionales para el manejo, acceso y obtención de datos



2 Nivel de Aplicación: Ejecuta las consultas multidimensionales de los usuarios



3 Motor Rolap: Se integra con niveles de presentación atreves de los cuales los usuarios realizan un análisis OLAP















MOLAP



Esta almacena los datos de una base de datos multidimensional. Para utilizar los tiempos de respuesta, hacer resúmenes de información calculados por adelantado y un sinfín de operaciones utilizadas de forma multidimensional para proporcionar el análisis su principal premisa es que OLAP esta mejor implantado almacenando los datos multidimensionales.



El sistema MOLAP utiliza una arquitectura de 2 niveles, la base de datos multidimensional y el motor analítico.



MOLAP VS ROLAP



Cuando se comparan estas dos estructuras se pueden realizar las siguientes:



• ROLAP delega la negociación entre el tiempo de respuesta entre el tiempo de respuesta y procesa en Bach. Mientras que MOLAP requiere que sus bases de datos se compilen para conseguir un rendimiento aceptable.



• Los sistemas con alta volatilidad de datos requieren de una arquitectura que pueda realizar esta consideración.



• Los sistemas ROLAP soportan esta consolidación dinámica mientras que MOLAP están orientados a una consolidación Bach.



• Los ROLAP pueden crecer un gran número de dimensiones mientras que MOLAP generalmente son adecuados para 10 o menos dimensiones.



• Los ROLAP soportan análisis OLAP contra grandes volúmenes de datos mientras que los MOLAP se comportan relacionalmente en volúmenes más reducidos (-5gb).



• Existen otros modelos OLAP como son:



ü WOLAP (basado y orientado para web)



ü DOLAP (Basado en escritorio)



ü RTOLAP (o Real Time, basado en tiempo real)



ü SOLAP (o especial Solap, Basado en OLAP especiales)

OLAP

OLAP es el acrónimo en inglés de procesamiento analítico en línea (On-Line Analytical Processing). Es una solución utilizada en el campo de la llamada Inteligencia empresarial (o Business Intelligence) cuyo objetivo es agilizar la consulta de grandes cantidades de datos. Para ello utiliza estructuras multidimensionales (o Cubos OLAP) que contienen datos resumidos de grandes Bases de datos o Sistemas Transaccionales (OLTP). Se usa en informes de negocios de ventas, marketing, informes de dirección, minería de datos y áreas similares.


La razón de usar OLAP para las consultas es la velocidad de respuesta. Una base de datos relacional almacena entidades en tablas discretas si han sido normalizadas. Esta estructura es buena en un sistema OLTP pero para las complejas consultas multitabla es relativamente lenta. Un modelo mejor para búsquedas (aunque peor desde el punto de vista operativo) es una base de datos multidimensional.

La principal característica que potencia a OLAP, es que es lo más rápido a la hora de ejecutar sentencias SQL de tipo SELECT, en contraposición con OLTP que es la mejor opción para operaciones de tipo INSERT, UPDATE Y DELETE.

Funcionalidad

En la base de cualquier sistema OLAP se encuentra el concepto de cubo OLAP (también llamado cubo multidimensional o hipercubo). Se compone de hechos numéricos llamados medidas que se clasifican por dimensiones. El cubo de metadatos es típicamente creado a partir de un esquema en estrella o copo de nieve, esquema de las tablas en una base de datos relacional. Las medidas se obtienen de los registros de una tabla de hechos y las dimensiones se derivan de la dimensión de los cuadros.

Tradicionalmente, los sistemas OLAP se clasifican según las siguientes categorías:

Artículo principal: ROLAP

Implementación OLAP que almacena los datos en un motor relacional. Típicamente, los datos son detallados, evitando las agregaciones y las tablas se encuentran normalizadas. Los esquemas más comunes sobre los que se trabaja son estrella ó copo de nieve, aunque es posible trabajar sobre cualquier base de datos relacional. La arquitectura está compuesta por un servidor de banco de datos relacional y el motor OLAP se encuentra en un servidor dedicado. La principal ventaja de esta arquitectura es que permite el análisis de una enorme cantidad de datos.

Artículo principal: MOLAP

Esta implementación OLAP almacena los datos en una base de datos multidimensional. Para optimizar los tiempos de respuesta, el resumen de la información es usualmente calculado por adelantado. Estos valores precalculados o agregaciones son la base de las ganancias de desempeño de este sistema. Algunos sistemas utilizan técnicas de compresión de datos para disminuir el espacio de almacenamiento en disco debido a los valores precalculados.

Artículo principal: HOLAP

Almacena algunos datos en un motor relacional y otros en una base de datos multidimensional.

Cada sistema OLAP tiene ciertos beneficios (aunque existe desacuerdo acerca de las características específicas de los beneficios entre los proveedores).

Algunas implementaciones MOLAP son propensas a la "explosión" de la base de datos; este fenómeno provoca la necesidad de grandes cantidades de espacio de almacenamiento para el uso de una base de datos MOLAP cuando se dan ciertas condiciones: elevado número de dimensiones, resultados precalculados y escasos datos multidimensionales. Las técnicas habituales de atenuación de la explosión de la base de datos no son todo lo eficientes que sería deseable.

Por lo general MOLAP ofrece mejor rendimiento debido a la especializada indexación y a las optimizaciones de almacenamiento. MOLAP también necesita menos espacio de almacenamiento en comparación con los especializados ROLAP porque su almacenamiento especializado normalmente incluye técnicas de compresión.

ROLAP es generalmente más escalable. Sin embargo, el gran volumen de preprocesamiento es difícil de implementar eficientemente por lo que con frecuencia se omite; por tanto, el rendimiento de una consulta ROLAP puede verse afectado.

Desde la aparición de ROLAP van apareciendo nuevas versiones de bases de datos preparadas para realizar cálculos, las funciones especializadas que se pueden utilizar tienen más limitaciones.

HOLAP (OLAP Híbrido) engloba un conjunto de técnicas que tratan de combinar MOLAP y ROLAP de la mejor forma posible. Generalmente puede pre-procesar rápidamente, escala bien, y proporciona una buena función de apoyo.

Funciones Analiticas de SQL

Oracle ha mejorado las capacidades de procesamiento analítico introduciendo una nueva familia de funciones SQL analíticas. Estas funciones analíticas le permites a usted calcular:


• Funciones de Rangos y Percentíles

• Movimiento de ventanas de cálculos

• Análisis lag/lead

• Análisis Primero/Ultimo

• Estadísticas y Regresiones Lineales



FUNCIONES ANAL ÍTICAS Y USO :



Tipo Utilizada para

Rangos(Ranking) Cálculos de rangos, percentiles, y n-tiles de los valores en un conjunto de resultados.

Windowing Cálculos de acumulados y movimientos agregados. Trabajando con estas funciones : SUM, AVG, MIN, MAX, COUNT, VARIANCE, STDDEV, FIRST_VALUE, LAST_VALUE, y nuevas funciones estad ísticas.

Reporting Cálculos compartidos por ejemplo, mercados compartidos. Trabajando con estas funciones : SUM, AVG, MIN, MAX, COUNT (con o sin DISTINCT), VARIANCE, STDDEV, RATIO_TO_REPORT y nuevas funciones estad ísticas

Lag-Lead Encontrando un valor en una fila un número especifico de filas desde una fila actual.

First-Last Primer o Ultimo valor en un grupo ordenado

Regresión Lineal Calculando la regresión lineal y otras estadísticas (desviación, intercepción y otras)

Percentil Inverso El valor en un conjunto de datos que corresponde a un percentil especifico

Rango hipotético y distribución El rango o percentil que una fila debería tener si es insertada en un conjunto de datos específico.





ORDEN DE PROCESAMIENTO

El procesamiento de las consultas utilizando funciones anal íticas se lleva a cabo en tres partes :

• Todos los JOINS, WHERE, GROUP BY y HAVING son realizadas.

• El resultado es hecho disponible a las funciones analíticas y es donde todos los cálculos toman lugar.

• Si la consulta tiene una cláusula ORDER BY, el ordenamiento es ejecutado para permitir el ordenamiento de los resultados.

Tiggers



Pantallas de Practica Eclipse Java














Bases orientadas a objetos
Bases documentales
Base deductivas
·Almacenan su información en una estructura jerárquica

· En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos.

· El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.
· Su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).
· En modelo utilizado en su mayoría por programadores más que por usuarios finales.
· Éste es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente

· En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red).

· es más fácil de entender y de utilizar para un usuario esporádico de la base de datos.

· La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información.
· Trata de almacenar en la base de datos los objetos completos (estado y comportamiento).
· En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos.
· Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes. Tesaurus es un sistema de índices optimizado para este tipo de bases de datos.
· Permite hacer deducciones a través de inferencias

· Se basa principalmente en reglas y hechos que son almacenados en la base de datos.

· Son llamadas base de datos lógica, a raíz de que se basan en lógica matemática.


Mapa Multidimencional