BASES DE DATOS AVANZADAS - Universidad Veracruzana · PDF filePasos para procesar una consulta...
Transcript of BASES DE DATOS AVANZADAS - Universidad Veracruzana · PDF filePasos para procesar una consulta...
Facultad de Estadística e Informática
BASES DE DATOS AVANZADAS
Clase 26
Agenda
➢Repaso segundo parcial
Facultad de Estadística e Informática
Procesamiento y optimización de consultas.
Temas:
➢Traducción de consultas en SQL a álgebra relacional
➢Algoritmos básicos para ejecutar operaciones de consulta
➢Uso de heurísticas en la optimización de consultas
➢Estimaciones de costo en la optimización de consultas
Tema 2. Bases de Datos Distribuidas (BDD).
Pasos para procesar una consulta de alto nivel
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
ANÁLISIS LÉXICO, SINTÁCTICO Y VALIDACIÓN
OPTIMIZADOR DE CONSULTAS
GENERADOR DE CÓDIGO DE CONSULTAS
PROCESADOR DE BASE DE DATOS EN TIEMPO DE
EJECUCIÓN
RESULTADO DE LA CONSULTA
Consulta en un lenguaje de alto nivel
Forma intermedia de la consulta
Plan de ejecuciónCódigo para ejecutar
la consulta
El código puede:Ejecutarse directamente (modo interpretado)Almacenarse y ejecutarse después cuando se necesite (modo compilado)
Árbol de consulta
Facultad de Estadística e Informática
Procesamiento y optimización de consultas
➢Analizador léxico Identifica los símbolos del lenguaje
➢Analizador sintáctico Revisa la sintaxis de la consulta
➢Validación Comprueba atributos y relaciones válidas y tengan sentido
Tema 2. Bases de Datos Distribuidas (BDD).
Facultad de Estadística e Informática
Procesamiento y optimización de consultas
➢Una consulta tiene muchas posibles estrategias de ejecución, a la selección de la más adecuada se le denomina OPTIMIZACIÓN DE CONSULTA.
Tema 2. Bases de Datos Distribuidas (BDD).
Facultad de Estadística e Informática
Procesamiento y optimización de consultas
➢El término “OPTIMIZACIÓN” puede no ser el más adecuado, pues el plan de ejecución posiblemente no es el mejor, es solo UNA ESTRATEGIA RAZONABLEMENTE EFICIENTE.
Tema 2. Bases de Datos Distribuidas (BDD).
Facultad de Estadística e Informática
Procesamiento y optimización de consultas
➢Las técnicas para implementar la optimización de consultas son dos principalmente:
➢ Basada en reglas heurísticas
➢ Basada en estimación de costos
Tema 2. Bases de Datos Distribuidas (BDD).
Facultad de Estadística e Informática
➢ Basada en reglas heurísticas. Las reglas heurísticas reordenan las operaciones en una estrategia de ejecución, por lo general en un árbol de consulta.
➢ Basada en estimación de costos. Estima sistemáticamente el costo de diferentes estrategias de ejecución y elige el plan con el costo estimado más bajo.
➢En un optimizador suelen combinarse ambas técnicas.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢ Traducción de consultas en SQL a álgebra relacional.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Consulta SQL
Expresión equivalente en álgebra relacional extendida. Estructura de
datos de árbol de consulta
Consulta optimizada
Facultad de Estadística e Informática
➢ Las consultas se descomponen en bloques de consulta.
➢Cada bloque contiene una única expresión SELECT – FROM –WHERE. Por ejemplo:
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
SELECT MATRICULA, NOMBRE
FROM ALUMNOS
WHERE PROMEDIO > (SELECT MAX (PROMEDIO)
FROM ALUMNOS
WHERE ID=3);
Facultad de Estadística e Informática
➢ El ejemplo incluye una subconsulta anidada, por lo tanto se descompone en dos bloques:
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
(SELECT MAX (PROMEDIO)
FROM ALUMNOS
WHERE ID=3);
SELECT MATRICULA, NOMBRE
FROM ALUMNOS
WHERE PROMEDIO > c
Bloque interno Bloque externo
c representa el resultado devuelto por el bloque interno
Facultad de Estadística e Informática
➢ Traduciendo a álgebra relacional extendida:
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
§MAX SALARIO ( ID=5 (ALUMNOS))∏ MATRICULA, NOMBRE (
PROMEDIO > c (ALUMNOS))
Bloque interno Bloque externo
c representa el resultado devuelto por el bloque interno
➢ El optimizador de consultas elegirá el plan de ejecución para cada bloque.
Facultad de Estadística e Informática
➢Algoritmos básicos para ejecutar operaciones.
➢ Son algoritmos para implementar los distintos tipos de operaciones relacionales que pueden aparecer en una estrategia de ejecución de consulta.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Algoritmos básicos para ejecutar operaciones.
➢ Clasificación externa. Es uno de los principales en el procesamiento de consultas. Por ejemplo: Order by, Operaciones de Reunión, Unión e Intersección. También en Proyectar.
➢Implementación de la operación SELECCIONAR
➢Implementación de la operación REUNIÓN
➢Implementación de la operación REUNIÓN
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Algoritmos básicos para ejecutar operaciones.
➢Implementación de operaciones de AGREGACIÓN
➢ Implementación de operación de REUNIÓN EXTERNA
➢ Combinación de operaciones mediante SEGMENTACIÓN
➢Etcétera…
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Uso de heurísticas en la optimización de consultas.
➢ Uso de estimaciones de costo en la optimización de consultas.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Uso de heurísticas en la optimización de consultas.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Uso de heurísticas en la optimización de consultas.
➢ Un árbol de consulta es una estructura de árbol que corresponde a una expresión de álgebra relacional.
➢Relaciones de entrada de la consulta Nodos hoja del árbol
➢Operaciones de álgebra relacional Nodos internos
➢Cada nodo interno se va sustituyendo por la relación resultado de la operación.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
Ejemplo Consulta SQL: Para cada proyecto ubicado en Veracruz, obtener su número, número de departamento, etc.
SELECT P.NUMEROP, P.NUMD, E.APELLIDO, E.DIRECCION, E.FECHA_NCTO
FROM PROYECTO AS P, DEPARTAMENTO AS D, EMPLEADO AS E
WHERE P.NUMD = D.NUMEROD AND D.NSS_JEFE=E.NSS AND
P.LOCALIZACION=‘Veracruz’;
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
Ejemplo: Álgebra relacional
∏NUMEROP, NUMD,APELLIDO, DIRECCION,FECHA_NCTO
((( LOCALIZACION=‘Veracruz’ (PROYECTO))
NUMD = NUMEROD (DEPARTAMENTO) NSS_JEFE=NSS (EMPLEADO))
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
Ejemplo: Árbol de consulta equivalente
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
E
D
P
(3)
(2)
(1)
Facultad de Estadística e Informática
➢Uso de heurísticas en la optimización de consultas.
➢ Para transformar el árbol de consulta inicial en un árbol de consulta final, cuya ejecución sea eficiente, el optimizador incluye reglas de equivalencia.
➢Las reglas heurísticas emplean estas expresiones de equivalencia para realizar la trasformación del árbol.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Uso de heurísticas en la optimización de consultas.
➢ Ejemplo de transformación de una consulta:
➢Se considera una consulta C para buscar los apellidos de los empleados nacidos después de 1980 que trabajan en el proyecto llamado “FEI”:
C: SELECT APELLIDO
FROM EMPLEADO, TRABAJA_EN, PROYECTO
WHERE NOMBREP=‘FEI’ AND NUMEROP=NUMP AND NSSE=NSS
AND FECHA_NCTO > ’31-DIC-1980’
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
∏APELLIDO
NOMBREP=‘FEI’ Y NUMEROP=NUMP Y NSSE Y FECHA_NCTO>’31-DIC-1980’
X
PROYECTO
TRABAJA_ENEMPLEADO
X
Árbol de consulta inicial (canónico) para consulta en SQL
Ord
en d
eej
ecu
ció
n
Regla principal:– Primero ejecutar seleccionar (σ ) y proyectar (π)– Al final ejecutar reunir (|×|, *) y otras operaciones binarias
Facultad de Estadística e Informática
➢Uso de heurísticas en la optimización de consultas.
➢ 1. La ejecución directa del árbol inicial genera un resultado muy grande que contiene el producto cartesiano de EMPLEADO, TRABAJA_EN y PROYECTO.
Solo necesitamos un registro de PROYECTO (‘FEI’) y solo los registros EMPLEADO con fecha de nacimiento > ‘31-dic-1980’
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
∏APELLIDO
NUMEROP=NUMP
X
PROYECTO
TRABAJA_EN
EMPLEADO
X
NOMBREP=‘FEI’NSSE=NSS
FECHA_NCTO>’31-DIC-1980’
Desplazamiento de las operaciones SELECCIONAR hacia abajo en el árbol de consulta
Facultad de Estadística e Informática
➢Uso de heurísticas en la optimización de consultas.
➢ 2. Se genera un árbol mejorado aplicando primero las operaciones SELECCIONAR, reduciendo el número de tuplas que aparecen en el producto cartesiano.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
∏APELLIDO
NUMEROP=NUMP
X
PROYECTO
TRABAJA_EN
EMPLEADO
X
NOMBREP=‘FEI’
NSSE=NSS
FECHA_NCTO>’31-DIC-1980’
Aplicación de la operación SELECCIONAR más restrictiva primero
Facultad de Estadística e Informática
➢Uso de heurísticas en la optimización de consultas.
➢ 3. Se logra una mejora adicional intercambiando las posiciones de EMPLEADO y PROYECTO. Aprovechando que NUMEROP es un atributo clave de PROYECTO; obteniendo un solo registro en la operación SELECCIONAR sobre PROYECTO.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
∏APELLIDO
NUMEROP=NUMP
PROYECTO
TRABAJA_EN
EMPLEADO
NOMBREP=‘FEI’
NSSE=NSS
FECHA_NCTO>’31-DIC-1980’
Sustitución de PRODUCTO CARTESIANO y SELECCIONAR por operaciones de REUNIÓN
Facultad de Estadística e Informática
➢Uso de heurísticas en la optimización de consultas.
➢ 4. La consulta puede ser mejorada reemplazando el PRODUCTO CARTESIANO por operaciones de REUNIÓN.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
∏APELLIDO
NUMEROP=NUMP
PROYECTO
TRABAJA_EN
EMPLEADO
NOMBREP=‘FEI’
NSSE=NSS
FECHA_NCTO>’31-DIC-1980’
∏NSEE ∏NSS,APELLIDO
∏NUMEROP ∏NSSE, NUMP
Desplazamiento de las operaciones PROYECTAR hacia abajo en el árbol de consulta
Facultad de Estadística e Informática
➢Uso de heurísticas en la optimización de consultas.
➢ 5. Conservar en las relaciones intermedias temporales solo los atributos requeridos por operaciones posteriores, incluyendo proyectar, lo antes posible en el árbol de consulta.
➢Lo que reduce el número de columnas de las relaciones intermedias temporales, mientras que SELECCIONAR reduce el número de registros.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
∏APELLIDO
NOMBREP=‘FEI’ Y NUMEROP=NUMP Y NSSE Y FECHA_NCTO>’31-DIC-1980’
X
PROYECTO
TRABAJA_ENEMPLEADO
X
Árbol de consulta inicial (canónico) para consulta en SQL
Ord
en d
eej
ecu
ció
n
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
∏APELLIDO
NUMEROP=NUMP
X
PROYECTO
TRABAJA_EN
EMPLEADO
X
NOMBREP=‘FEI’NSSE=NSS
FECHA_NCTO>’31-DIC-1980’
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
∏APELLIDO
NUMEROP=NUMP
X
PROYECTO
TRABAJA_EN
EMPLEADO
X
NOMBREP=‘FEI’
NSSE=NSS
FECHA_NCTO>’31-DIC-1980’
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
∏APELLIDO
NUMEROP=NUMP
PROYECTO
TRABAJA_EN
EMPLEADO
NOMBREP=‘FEI’
NSSE=NSS
FECHA_NCTO>’31-DIC-1980’
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
∏APELLIDO
NUMEROP=NUMP
PROYECTO
TRABAJA_EN
EMPLEADO
NOMBREP=‘FEI’
NSSE=NSS
FECHA_NCTO>’31-DIC-1980’
∏NSEE ∏NSS,APELLIDO
∏NUMEROP ∏NSSE, NUMP
Facultad de Estadística e Informática
➢Uso de heurísticas en la optimización de consultas.
➢ El árbol optimizado debe conducir a una consulta equivalente del árbol inicial.
➢El optimizador debe saber exactamente qué reglas de transformación utilizar para preservar dicha equivalencia.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Reglas generales de transformación para operaciones del álgebra relacional.
➢ Cascada de : Una condición de selección conjuntiva, puede descomponerse en una cascada (secuencia) de operaciones individuales:
c1 y c2 …. Y cn(R) c1 c2(…( cn(R))…))
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Reglas generales de transformación para operaciones del álgebra relacional.
➢ Conmutatividad de : La operación es conmutativa:
c1( c2(R)) c2( c1(R))
➢ Conmutatividad de (o de x ): La operación es conmutativa, como lo es la operación x:
R S S R
R X S S X R
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Reglas generales de transformación para operaciones del álgebra relacional.
➢ Conmutatividad de operaciones de conjuntos: Las operaciones de conjuntos U y son conmutativas, pero – no lo es.
➢ Asociatividad de , x, U, : Estas cuatro operaciones son asociativas individualmente; es decir, si representa una cualquiera de estas cuatro operaciones (pero la misma en toda la expresión), tenemos:
(R S) T R (S T)…...
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
U
U
Etcétera
Facultad de Estadística e Informática
Conversión de los árboles de consulta en planes de ejecución de consulta
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Conversión de los árboles de consulta en planes de ejecución de consulta.
➢Un plan de ejecución incluye información sobre los métodos de acceso para cada relación.
➢Un plan de ejecución incluye información sobre los algoritmos empleados para calcular los operadores relacionales representados en el árbol.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Conversión de los árboles de consulta en planes de ejecución de consulta.
➢El método para ejecutar la consulta puede especificar una valoración materializada o segmentada.
➢Valoración materializada: El resultado de una operación se almacena como una relación temporal. Supone almacenar en disco la tabla resultante de realizar la operación
➢Valoración segmentada: Las tuplas resultantes de una operación se envían directamente a la siguiente operación en la secuencia de consulta. (Todo el proceso se realiza en memoria)
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Uso de estimaciones de costo en la optimización de consultas.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Uso de estimaciones de costo en la optimización de consultas.
➢ Elección de la estrategia con el costo estimado más bajo.
➢Estimaciones precisas, comparaciones justas y realistas.
➢Es más apropiado para consultas compiladas.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Uso de selectividad y estimaciones de costo en la optimización de consultas.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Optimización de consultas basada en el
costo
Optimización elaborada
Optimización parcial
Consultas compiladas
Consultas interpreta-
das
Facultad de Estadística e Informática
➢Uso de selectividad y estimaciones de costo en la optimización de consultas.
➢ Las funciones de costo empleadas en la optimización de consultas son estimaciones, por lo que la estrategia elegida puede no ser la óptima.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Componentes del costo de ejecución de una consulta.
➢Costo de acceso al almacenamiento secundario.
➢Costo de almacenamiento.
➢Costo de cómputo.
➢Costo de uso de memoria.
➢Costo de comunicación.
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Componentes del costo de ejecución de una consulta.– Bloques transferidos : depende de las estructuras de acceso y de la colocación de los bloques.
– Ficheros intermedios generados
– Cómputos en memoria sobre los ficheros intermedios: búsqueda, ordenación, fusión, cálculos
– Comunicación : envío de la consulta y recepción del resultado
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Componentes del costo de ejecución de una consulta.Costo principal para:
– BD grandes: bloques transferidos
– BD pequeñas (entran en memoria): cómputos
– BD distribuidas: comunicación
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Facultad de Estadística e Informática
➢Información del catálogo usada en las funciones de costo.
➢Por cada fichero de la BD se necesita guardar
1. Número de registros y número de bloques
2. Factor de bloques de fichero
3. Método y atributos de acceso primario. Además si está (o no) ordenado y por qué atributo(s).
4. Si tiene índice primario (IP), de agrupación (IA ), direccionamiento calculado (DC) o índices secundarios (IS), y sobre qué atributos
5. Número de valores distintos de un atributo
Tema 2. Bases de Datos Distribuidas (BDD). Procesamiento y optimización de consultas
Información de almacenamiento físico
Facultad de Estadística e Informática
Bases de datosmóviles
MAYO 2017
IntroducciónBASES DE DATOS MÓVILES
Facultad de Estadística e Informática
IntroducciónSiempre ha existido la necesidad de organizar la información en papel y sistemas manuales.
1960. Los sistemas comienzan a ser computarizados inciando con el IMS (Information Managemenr System) de IBM que permitía ver los datos en forma de un árbol jerárquico.
1970. El Dr. E. F. Codd propone el concepto de Base de Datos Relacional:◦ Manejo de tablas, filas y columnas con un conjunto de operaciones lógicas.
1979. Primer producto comercial Oracle Database.
1980s. Surgen otros productos de BD relacionales:◦ SQL Server (1989)
◦ PostgreSQL (1986 primera versión, 1997 liberación)
Facultad de Estadística e Informática
Introducción1990s. Bases de datos relacionales con soporte para objetos.◦ Oracle, PostgreSQL
2000s. Bases de datos totalmente orientadas a objetos.◦ Orion DB, Open OODB, Objectivity DB
2000s. Bases de datos móviles.◦ SQLite, Oracle Lite, IBM DB2 Everyplace, SQL Compact,
◦ Sybase SQL Anywhere.
Facultad de Estadística e Informática
Cómputo móvilCon el surgimiento de las redes inalámbricas, surge el concepto de cómputo móvil donde se reúnen en un mismo ambiente dispositivos móviles, que a través de una conexión inalámbrica acceden a una red para intercambiar información y compartir recursos
ofreciendo a los usuarios movilidad y
portabilidad.
Facultad de Estadística e Informática
Cómputo móvilY con el surgimiento de Internet, ya no es necesario estar físicamente frente a una computadora en la red local donde se encuentran los datos y el cómputo móvil cobra mayor relevancia.
Sin embargo, la computación móvil aún tiene grandes retos, principalmente que los dispositivos aún presentan ciertas deficiencias en rendimiento de energía, capacidad de procesamiento, memoria y conectividad respecto a su contraparte de escritorio.
Facultad de Estadística e Informática
Dispositivos móviles➢Entre los dispositivos móviles más populares se encuentran los teléfonos celulares, tabletas y laptops.
➢Generalmente se componen de: CPU, memoria interna, conexión a red, batería, GPS, cámara fotográfica, lector de huellas.
Facultad de Estadística e Informática
Dispositivos móvilesLos dispositivos móviles presentan las siguientes desventajas: ◦ Desconexiones frecuentes debido a que los clientes móviles no
permanecen conectados de manera continúa en una misma red, algunas veces porque el dispositivo es encendido y apagado, otras veces porque el cliente decide desconectarse para conectarse a otra red.
Facultad de Estadística e Informática
Dispositivos móvilesLos dispositivos móviles presentan las siguientes desventajas: ◦ Presentan limitaciones en los recursos de energía, teniendo
muchas veces una cantidad de carga limitada.
◦ El tamaño de la pantalla que tienen algunos de los dispositivos muchas veces es muy pequeña y la información no es desplegada de la mejor manera.
Facultad de Estadística e Informática
Bases de datos móvilesEs un sistema distribuido que soporta conectividad móvil, posee todas las capacidades de un sistema de base de datos y permiten a las unidades móviles, una completa movilidad espacial por medio de la tecnología inalámbrica.
Facultad de Estadística e Informática
Bases de datos móvilesVan dirigidas a sistemas informáticos portátiles como computadoras personales y dispositivos móviles que se conectan con las estaciones base (servidores) mediante redes de comunicación digitales inalámbricas.
Además deben funcionar mientras estén desconectadas de la red a diferencia de los sistemas de bases de datos fijos.
Facultad de Estadística e Informática
CaracterísticasConsultas dependiendo de la localización. Son consultas que involucran la localización física de la unidad móvil en combinación con otros datos como la localización de otras unidades móviles o estructuras físicas. ◦ Se debe tomar en cuenta:
◦ La unidad puede estar en movimiento mientas se realiza la consulta.
Facultad de Estadística e Informática
CaracterísticasManejo de transacciones. Se considera el manejo de transacciones cuando un dispositivo móvil inicia una transacción hacia la base de datos o hacia un servidor fijo.
La transacción puede ejecutarse en el servidor o en el dispositivo móvil.◦ Se debe tomar en cuenta:
◦ Desconexiones, movilidad, errores, fallas en el dispositivo móvil.
◦ Se debe mantener la autonomía y la consistencia local del SMBD.
Facultad de Estadística e Informática
CaracterísticasRedes Inalámbricas. Existen diferentes tipos de redes inalámbricas:◦ Celular: Costos elevados con poco ancho de banda, buena
cobertura.◦ LAN Inalámbrica: Bajo costo, poco rango de cobertura, buen ancho
de banda (54Mbps).◦ Satelital: Amplia cobertura, muy costosa, gran ancho de banda en
sentido descendente y poco ascendente.◦ Redes Ad Hoc: Comunicación entre dispositivos móviles de manera
directa. (Bluetooth).
Facultad de Estadística e Informática
SMBD MóvilesAlgunos SMBD comerciales son:◦ IBM: DB2 Everyplace◦ SYBASE, Adaptive Server Anywhere◦ MICROSOFT SQL Server Compact◦ SQLite
Facultad de Estadística e Informática
SQLiteo SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña biblioteca escrita en C.
o SQLite es el SGBD más utilizado en el mundo.
o SQLite es un proyecto de dominio público creado por D. Richard Hipp.
o A diferencia de los SGBD cliente-servidor, el motor de SQLite no es un proceso independiente. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo.
Facultad de Estadística e Informática
SQLiteo El programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y funciones.
o El conjunto de la base de datos (definiciones, tablas, índices, y los propios datos), son guardados como un sólo fichero estándar en la máquina host.
o Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción.
Facultad de Estadística e Informática
SQLite1. Debido a su pequeño tamaño, SQLite es muy adecuado para los
sistemas integrados, y también está incluido en:a. Todos los dispositivos Android
b. Todos los dispositivos iOS
c. Todos los dispositivos Mac
d. Todos los dispositivos Windows 10
e. Todos los navegadores Firefox, Chrome, and Safari
Facultad de Estadística e Informática
SQLiteg. Cada instancia de Skype
h. Cada instancia de iTunes
i. Cada cliente Dropbox
j. Se usan en PHP y Python
k. La mayoría de televisores y cajas de televisión por cable
l. La mayoría de sistemas multimedia de los automóviles
Facultad de Estadística e Informática
Ventajas de BD móvileso Permiten la movilidad de los usuarios, los datos pueden ser accedidos remotamente.
o El mercado potencial de este tipo de bases de datos es bastante amplio, ya que tienen una multitud de aplicaciones, es decir, poseen un gran ámbito de aplicación ya que en principio cualquier base de datos relacional puede ampliarse para ofrecer los servicios de las bases de datos móviles.
Facultad de Estadística e Informática
Desventajas de BD móviles❖Los enlaces de comunicaciones juegan un papel importante en el desarrollo de estos sistemas, por lo que su dependencia puede suponer un freno para ellos.
❖Los datos pueden estar replicados, por lo que la consistencia y coherencia de los mismos son fundamentales y puede generar conflictos importantes.
Facultad de Estadística e Informática
Desventajas de BD móviles❖El tratamiento de fallos es un aspecto delicado ya que al tratarse de un entorno distribuido, los fallos de transmisión de datos deben de solucionarse y detectarse de forma eficiente para que no produzcan errores en la información tratada.
❖La capacidad de procesado de los dispositivos móviles son también un inconveniente importante y también hay que tener en cuenta que dicha capacidad no es la misma para todos los dispositivos.
Aplicación para Android SQLiteEjemplo
Aplicación Android SQLite
• Se desarrollará una pequeña aplicación que validará la existencia y registrará un usuario.
• Sistema operativo cliente: Android.• Plataforma de desarrollo: Xamarin, implementación
libre de la plataforma de desarrollo .NET para dispositivos Android, iOS y GNU/Linux.
• Base de datos: SQLite
Aplicación Android SQLite
Aplicación Android SQLite
Puesto que no se instalará el emulador de Android, se depurará en un dispositivo móvil. Para ello se debe habilitar la “depuración por usb” en el aparato.
En Configuracion Acerca del teléfono Versión de compilación (Hacer clic varias veces)
Programador/Developer Depuracion por usb
Aplicación Android SQLite
• Paso 1. Crear el proyecto
Aplicación Android SQLite
• Paso 2. Agregar la vista para usuario nuevo.
• En la carpeta Resources
layout
Aplicación Android SQLite
Newuser
Aplicación Android SQLite
• Código para archivo Newuser.axml
<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/txtUserName"android:hint="Nombre de usuario" /><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/txtPassword"android:hint="Contraseña" /><Buttonandroid:text="Crear"android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/btnCrear" /></LinearLayout>
Aplicación Android SQLite
• Paso 3: Agregar la Actividad RegisterActivityen la raíz del proyecto
RegisterActivity
Aplicación Android SQLite
• Añadir el código correspondiente a RegisterActivity.cs
using System;using System.Collections.Generic;using System.Linq;using System.Text;
using Android.App;using Android.Content;using Android.OS;using Android.Runtime;using Android.Views;using Android.Widget;using System.IO;using SQLite;
namespace SQLite{[Activity(Label = "RegisterActivity")]public class RegisterActivity : Activity{EditText txtusername;EditText txtPassword;Button btncreate;protected override void OnCreate(Bundle savedInstanceState){base.OnCreate(savedInstanceState);// Set our view from the "main" layout resourceSetContentView(Resource.Layout.Newuser);
// Create your application herebtncreate = FindViewById<Button>(Resource.Id.btnCrear);txtusername = FindViewById<EditText>(Resource.Id.txtUserName);txtPassword = FindViewById<EditText>(Resource.Id.txtPassword);btncreate.Click += Btncreate_Click;}private void Btncreate_Click(object sender, EventArgs e){try{string dpPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "user.db3");var db = new SQLiteConnection(dpPath);db.CreateTable<LoginTable>();LoginTable tbl = new LoginTable();tbl.username = txtusername.Text;tbl.password = txtPassword.Text;db.Insert(tbl);Toast.MakeText(this, "Record Added Successfully...,", ToastLength.Short).Show();}catch (Exception ex){Toast.MakeText(this, ex.ToString(), ToastLength.Short).Show();}}}}
Aplicación Android SQLite
• Paso 4. Agregar la clase LoginTable.cs, en la raíz del proyecto
LoginTable
Aplicación Android SQLiteusing System;using System.Collections.Generic;using System.Linq;using System.Text;
using Android.App;using Android.Content;using Android.OS;using Android.Runtime;using Android.Views;using Android.Widget;
namespace SQLite{class LoginTable{[PrimaryKey, AutoIncrement, Column("_Id")]public int id { get; set; }
[MaxLength(25)]public string username { get; set; }
[MaxLength(15)]public string password { get; set; }
}}
• Añadir código a la clase LoginTable.cs
Aplicación Android SQLite
• Paso 5. Agregar la referencia SQLite
Aplicación Android SQLite
sqlite-net-pcl
Aplicación Android SQLite
• Paso 6. Agregar el código correspondiente a la clase MainActivity.cs
using Android.App;using Android.Widget;using Android.OS;using System;using System.IO;using SQLite;
namespace SQLite{[Activity(Label = "SQLite", MainLauncher = true, Icon = "@drawable/icon")]public class MainActivity : Activity{EditText txtusername;EditText txtPassword;Button btncreate;Button btnsign;protected override void OnCreate(Bundle bundle){base.OnCreate(bundle);
// Set our view from the "main" layout resourceSetContentView(Resource.Layout.Main);
// Get our button from the layout resource, // and attach an event to itbtnsign = FindViewById<Button>(Resource.Id.btnLogin);btncreate = FindViewById<Button>(Resource.Id.btnRegistrar);txtusername = FindViewById<EditText>(Resource.Id.txtUserName);txtPassword = FindViewById<EditText>(Resource.Id.txtPassword);btnsign.Click += Btnsign_Click;btncreate.Click += Btncreate_Click;CreateDB();}
private void Btncreate_Click(object sender, EventArgs e){StartActivity(typeof(RegisterActivity));}
private void Btnsign_Click(object sender, EventArgs e){try{string dpPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "user.db3"); //Call Databasevar db = new SQLiteConnection(dpPath);var data = db.Table<LoginTable>(); //Call Tablevar data1 = data.Where(x => x.username == txtusername.Text && x.password == txtPassword.Text).FirstOrDefault(); //Linq Queryif (data1 != null){Toast.MakeText(this, "Login Success", ToastLength.Short).Show();}else{Toast.MakeText(this, "Username or Password invalid", ToastLength.Short).Show();}}catch (Exception ex){Toast.MakeText(this, ex.ToString(), ToastLength.Short).Show();}}public string CreateDB(){var output = "";output += "Creating Databse if it doesnt exists";string dpPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "user.db3"); //Create New Databasevar db = new SQLiteConnection(dpPath);output += "\n Database Created....";return output;}}}
Aplicación Android SQLite
• Paso 7. Compila la aplicación y ejecútala.
Bases de datos en la nubeCÓMPUTO EN LA NUBE
Facultad de Estadística e Informática
IntroducciónGeneralmente las bases de datos empresariales siempre han sido la respuesta para almacenar los datos en las empresas.
Pero la demanda de mayores capacidades de almacenamiento y necesidad de mayor velocidad de implementación, así como los costos de mantenimiento, han ocasionado que las soluciones locales, ya no sean la mejor solución.
“Se necesitan semanas para configurar una nueva base de datos. ¡La necesito ahora!”
“¿Necesito comprar un servidor completo para nuestra pequeña base de datos?”
“Es muy costoso el mantenimiento (conectividad, respaldos, licencias) de nuestra base de datos”
Facultad de Estadística e Informática
Cómputo en la nubeLa computación en nube se refiere a una categoría de soluciones de tecnología que permite a los usuarios acceder a recursos informáticos (en este caso, a recursos de datos) on-demand, según sea necesario, así los recursos sean físicos o virtuales, dedicados o compartidos, y sin importar la forma en que se acceda a ellos (mediante conexión directa, red de área local [LAN], red de área amplia [WAN] o Internet).
Los usuarios no necesitan ni el conocimiento, ni el control de la tecnología, ni la infraestructura subyacente que dan soporte al conjunto de servicios.
Facultad de Estadística e Informática
Ventajas de Cómputo en la nube➢Escalabilidad.
➢Rapidez de implementación.
➢Costos variables.
➢Seguridad y fiabilidad.◦ P.ej. Microsoft garantiza un 99,99 % de tiempo de actividad para
los niveles Básico, Estándar y Premium de SQL Database.
Facultad de Estadística e Informática
Desventajas de Cómputo en la nube•Falta de control sobre los datos físicos.
•Confidencialidad en la transmisión de los datos.
•Falta de control físico sobre la arquitectura de software y hardware.
•Dependencia de terceros e incremento de posibles puntos críticos (fallo en las comunicaciones).
Bases de datos en la nubeBASES DE DATOS EN LA NUBE
Facultad de Estadística e Informática
Bases de datos en la nube (DaaS)Consiste en auto-solicitar un espacio de almacenamiento en Internet (la nube), con características (capacidad, velocidad, costo) de acuerdo a las necesidades. Todo esto de forma inmediata y listo para explotarse.
Es un intento por minimizar los costos y tiempos de implementación de servidores de bases de datos, las organizaciones se están moviendo hacia un modelo de Base de Datos Como Servicio (Database as a Service o DaaS).
Evita la compra/instalación de licencias de sistemas operativos de servidor y sistemas manejadores de bases de datos.
Simplemente se “renta” (normalmente a un bajo costo) el servicio de base de datos, se utiliza y si cuando ya no se necesite, se desecha.
Facultad de Estadística e Informática
Tipos de nubesPúblicas. Recursos proporcionados por un proveedor externo y que accedemos por medio de Internet.
Privadas. Recursos propios de la empresa. Algunos beneficios del cómputo en la nube eliminando algunos inconvenientes.
Híbridas. Uso combinado. ◦ Ofrece varias opciones.
◦ Contingencias
◦ Mayor control.
Facultad de Estadística e Informática
CaracterísticasParámetros preconfigurados:
◦ Las bases de datos en la nube suelen estar preconfigurados con un razonable conjunto de parámetros y valores adecuados para la clase de instancia que vaya a utilizar.
Supervisión y métricas:
◦ Las bases de datos en la nube poseen herramientas para ver métricas operativas clave de las instancias que se encuentran en ejecución, incluido el uso de la capacidad de CPU, memoria, almacenamiento, operaciones de entrada y salida, y conexiones.
Parches de software automáticos:
◦ Las bases de datos en la nube suelen garantizar que el software de la base de datos permanezca actualizado con los últimos parches disponibles en el mercado.
Facultad de Estadística e Informática
CaracterísticasCopia de seguridad automatizadas:◦ Las bases de datos en la nube tienen de forma predeterminada la función de
copia de base de datos y transacciones reteniéndolas según especifique el usuario, permitiéndole restaurar la instancia de base de datos en cualquier segundo de lo retenido.
Escalamiento automático:◦ Las bases de datos en la nube poseen la capacidad de escalar rápidamente en
minutos recursos como capacidad de proceso, memoria y almacenamiento.
Facultad de Estadística e Informática
CaracterísticasAislamiento y seguridad◦ Las bases de datos en la nube brindan el aislamiento de las
instancias de la base de datos mediante conexiones seguras, como IPsec (Internet Security Protocol que asegura las comunicaciones sobre el Protocolo de Internet) mediante la encriptación de las comunicaciones.
Facultad de Estadística e Informática
Bases de datos comercialesRelacionales NoSQL
Amazon Web Services2002
MySQLOracleMSSQL
SimpleDBDynamoDB
Windows Azure2009
SQL DatabaseMySQLPostgres
Azure BlobsAzure TablesAzure Files
Google API2006
Google Cloud SQL Persistent DiskCloud Bigtable
Facultad de Estadística e Informática
BD locales Vs BD en la nube
BD Locales BD en la nube
Recuperación de fallos manual Rápida recuperación de fallos
Configuraciones avanzadas Configuración sencilla, interfaz para cualquier usuario
Respaldo y restauración de manera manual Respaldos y restauración de forma automática mediante consola Web
Requiere de herramientas externas para comprobar disponibilidad
Monitoreo automático incluido
Requiere de conocimiento de sistemas operativos
No es necesario ningún conocimiento del sistema operativo
Escalado y reconfiguración manual Proceso automatizado de escalamiento definiendo las reglas de escalabilidad
Costo por el lugar físico, el hardware, licencias de software y especialistas en mantenimiento
Costo solo por el uso de la base de datos
EjemploCPANEL HOSTING
Facultad de Estadística e Informática
Obtener cuenta
Facultad de Estadística e Informática
Cpanel Host
Facultad de Estadística e Informática
Cpanel Host
Facultad de Estadística e Informática
Cpanel Host
Facultad de Estadística e Informática
Cpanel Host
EjemploAZURE SQL DATABASE
HTTPS://PORTAL.AZURE.COM/
Obteniendo una cuentaAZURE SQL DATABASE
HTTPS://AZURE.MICROSOFT.COM/ES-MX/
Facultad de Estadística e Informática
Obtener cuenta
Facultad de Estadística e Informática
Iniciar sesión https://portal.azure.com/
Facultad de Estadística e Informática
Iniciar sesión https://portal.azure.com/
Usuario: erikamricouvContraseña: Erika-0380
Facultad de Estadística e Informática
Crear un Grupo de recursos / por equipo
Facultad de Estadística e Informática
Crear un Grupo de recursos / por equipo
Facultad de Estadística e Informática
Crear SQLDatabase/ por equipo
Facultad de Estadística e Informática
Crear un Grupo de recursos / por equipo
Facultad de Estadística e Informática
Crear un Grupo de recursos / por equipo
Facultad de Estadística e Informática
Establecer las reglas del firewall
Facultad de Estadística e Informática
Copiar la cadena de conexión
Server Name: bdclase.database.windows.net
Authentication: SQL Server
User Name: clase
Password: BDavanzadas-2
Facultad de Estadística e Informática
Probar conectividad usando ventana de comandos
c:\ telnet bdclase.database.windows.net 1433
Facultad de Estadística e Informática
Probar la conexión desde Visual Studio
Nombre del servidor:
bdclase.database.windows.net
Autenticación: SQL Server
Nombre del usuario: clase
Contraseña: BDavanzadas-2
Nombre de la base de datos:
<predeterminado>
Facultad de Estadística e Informática
Probar la conexión desde Visual Studio
Integración de datosCÓMPUTO EN LA NUBE
Facultad de Estadística e Informática
¿Qué es?
“La integración de datos la podemos definir como el proceso de combinar datos que residen en diferentes fuentes y permitirle al usuario final tener una vista unificada de todos sus datos”
Facultad de Estadística e Informática
¿Qué es?
“La integración de datos la podemos definir como el proceso de combinar datos que residen en diferentes fuentes y permitirle al usuario final tener una vista unificada de todos sus datos”
Facultad de Estadística e Informática
¿Qué es?
➢ Brindan al usuario la percepción de consultar una única fuente de datos.
➢ El usuario no necesita preocuparse por:▪ Conocer las fuentes disponibles.▪ Localizar y acceder a las fuentes de datos.▪ Consultar cada fuente.▪ Integrar las respuestas de cada fuente.
Facultad de Estadística e Informática
¿Qué es?
Sistemas de
Integración
Heterogéneas
Autónomas
Poco estructuradas
Distribuidas
Facultad de Estadística e Informática
Heterogeneidad en cuanto a:
➢ Nivel de estructuración.➢ Modelo de datos.➢ Plataforma de software.➢ Convenciones de sintaxis.➢ Convenciones semánticas.➢ Diferencias de granularidad.
Facultad de Estadística e Informática
Clasificación
I. Virtuales: Los datos se mantienen en las fuentes y el sistema es un intermediario.
II. Materializados: Los datos se copian a un gran almacén central. Extract, Transform, Load (ETL)
Facultad de Estadística e Informática
Clasificación. Materializados
Extract, Transform, Load (ETL)Es un proceso en el que se extrae la información de las fuentes de datos, se transforman para que sean homogéneos y luego se cargan en una fuente destino. La idea es ofrecer una fuente de datos única que contiene toda la información contenida en las distintas fuentes de datos .
Facultad de Estadística e Informática
Clasificación. Materializados
Ventajas:•La información está físicamente en un repositorio único•Las consultas se resuelven de forma más rápidaDesventajas:•La información no suele estar actualizada: hay que ejecutar el proceso ETL para sincronizar los datos en caso de que las fuentes se actualicen
Facultad de Estadística e Informática
Clasificación. Virtuales
Definición: Ofrece una vista virtual que responde las consultas de los usuarios . La integración de los datos se hace en tiempo real, consultando cada una de las fuentes de datos cada vez que un usuario hace una consulta, es decir, ofrecer una vista en tiempo real de los datos.
Fuente de datos 1
Fuente de datos 2
Fuente de datos 3
Consulta 1
Consulta 1.1 Consulta 1.2 Consulta 1.3
Facultad de Estadística e Informática
Clasificación. Virtuales
Ventajas:•Ofrece una vista actualizada de los datos en tiempo real•Las fuentes trabajan de forma independiente (No hay que estar actualizando de forma continua)Desventajas:• Es más difícil resolver las consultas para dividirlas en las distintas fuentes y hacer el mapeo entre las fuentes y la vista de datos (Supone más tiempo para resolver las consultas)
Facultad de Estadística e Informática
Ejemplos
➢ Sistemas de mediación.➢ Sistemas de Data Warehousing.➢ Portales Web.➢ Etcétera.
Facultad de Estadística e Informática
Sistemas de Mediación
Mediador
VeracruzCiudad de
MéxicoYucatán Zacatecas
1
2 2 2 23 3 3 3
4
Alumnos con mejor promedio en el
sistema educativo nacional
…..
Integra la información virtualmente
Facultad de Estadística e Informática
Data Warehousing
“Un conjunto de datos orientado a temas, integrado, no volátil, variante en el tiempo, como soporte en la toma de decisiones de dirección” W.H. Inmon.
Facultad de Estadística e Informática
Data Warehousing
“Un conjunto de tecnologías de soporte a la toma de decisión, cuyo objeto es que quien trabaja con los conocimientos (ejecutivo, director, analista) pueda tomar decisiones de manera más rápida y eficaz.”
Facultad de Estadística e Informática
Data Warehousing. Características.
Están diseñados para realizar eficientemente la extracción, procesamiento y presentación para el análisis y la toma de decisiones.
No están diseñadas para soportar transacciones.
Facultad de Estadística e Informática
Data Warehousing. Características.
✓ Almacén de datos integrados provenientes de diversas fuentes, procesados para su almacenamiento en un modelo multidimensional.
✓ Suelen mantener series de tiempo y análisis de tendencia, necesitando datos históricos.
Facultad de Estadística e Informática
Data Warehousing. Características.
✓ Su contenido cambia con menos frecuencia que las bases de datos tradicionales. Su actualización es periódica.
✓ En las bases de datos la transacción es el agente de cambio, un almacén de datos se actualiza de acuerdo a una política de actualización analizada cuidadosamente.
Facultad de Estadística e Informática
Data Warehousing. Conceptos relacionados.
OLAP On-line analytical processing/Procesamiento analítico on-line.Describe el análisis de datos complejos del almacén de datos.Es lo más rápido para ejecutar sentencias SELECT.
Facultad de Estadística e Informática
Data Warehousing
DSS Decision support systems/Sistemas de soporte a la toma de decisiones o EIS Executive informationsystems/Sistemas de información ejecutiva.
Facultad de Estadística e Informática
Data Warehousing
OLTP On-line transaction processing/Procesamiento de transacciones on-line, son soportadas por las bases de datos tradicionales. Incluyen inserciones, actualizaciones, supresiones y consultas.
Facultad de Estadística e Informática
Data WarehousingProceso completo de almacenamiento utilizando almacenes de datos
DATOS
METADATOS
Otras entradas de datos
Bases de datosALMACÉN DE DATOS
Limpieza Reformateo
OLAP
DESSIEIS
MINERÍA DEDATOSActualizaciones / Nuevos datos
E T L
Facultad de Estadística e Informática
Usando este método, todos los datos de las diferentes bases de datos que tiene la intención de integrar son extraídos, transformados y cargados. Eso significa que el data warehouseprimero tira de todos los datos de las distintas fuentes de datos. Entonces, el data warehouse convierte todos los datos a un formato común para que un conjunto de datos sea compatible con otro. A continuación, carga estos nuevos datos en su propia base de datos. Cuando se envía la consulta, el data warehouse localiza los datos, los recupera y los presenta en una visión integrada.
Data WarehousingProceso completo de almacenamiento utilizando almacenes de datos
Facultad de Estadística e Informática
Data Warehousing. Ejemplos.
Ejemplos de Data Warehouse: MS SQL SERVER Business Inteligence es la solución para construir data warehouse del manejador de base de datos SQL SERVER. EXCEL Business Inteligence La hoja de cálculo EXCEL de Microsoft permite la construcción de cubos y almacenes de datos para realizar análisis de información por medio de escenarios. Oracle Data Warehousing es la solución de Oracle para la creación de data warehouse.
Facultad de Estadística e Informática
Data Warehousing. Modelado de datos
Modelos multidimensionales Cubos de datos (Hipercubos si tienen más de tres dimensiones).Considerando que una base de datos relacional puede ser pensada como de dos dimensiones, una base de datos multidimensional considera cada atributo de datos (tal como producto, región geográfica de ventas, y período de tiempo) como una “dimensión" separada.
Facultad de Estadística e Informática
Data Warehousing
Matriz de dos dimensiones
Facultad de Estadística e Informática
Data Warehousing
Matriz de tres dimensiones
El cubo puede ser rotado (cambiar su orientación dimensional) para mostrar una orientación diferente de los ejes, con la técnica llamada pivotaje.
Facultad de Estadística e Informática
Data Warehousing
Los modelos multidimensionales pueden crear vistas jerárquicas,
conocidas como visualización roll-up y
drill-down.
Facultad de Estadística e Informática
Data Warehousing
Visualización roll-up.Mueve hacia arriba la jerarquía, agrupando en unidades más grandes.
P. ej. La vista de productos individuales hasta una amplia lista de categorías de productos.
Facultad de Estadística e Informática
Data Warehousing
Visualización drill-down. Operación contraria a roll-up.
Proporcionando una vista más fina.
P. ej. La descomposición de ventas regionales en subregiones y los tipos de productos en detalle de productos.
Detalle
Detalle
Detalle
Facultad de Estadística e Informática
Data Warehousing
El modelo de almacenamiento multidimensional implica dos tipos de tablas:
La tabla de dimensión. Tuplas de atributos de la
dimensión.
La tabla de hechos. Agrupación de tuplas. Una tabla
por cada hecho registrado. Cada hecho contiene una(s) variable(s) que asocia con punteros a la tabla de dimensión.
Facultad de Estadística e Informática
Data Warehousing
Tabla de dimensiónTabla de hechos
Facultad de Estadística e Informática
Data Warehousing
Esquemas multidimensionales.
De estrella. Una tabla de hechos con una única tabla por cada dimensión.De copo de nieve. Variación de la anterior. Las tablas dimensionales están organizadas en una jerarquía para normalizarlas.
Facultad de Estadística e Informática
Data Warehousing
De estrella
Facultad de Estadística e Informática
Data Warehousing
De copo de nieve
Facultad de Estadística e Informática
Data Warehousing
Constelación de hechos. Conjunto de tablas de hechos que comparten algunas tablas de dimensión
Facultad de Estadística e Informática
Data Warehousing
Técnicas de indexación.Se emplean técnicas de indexación para obtener mayor rendimiento en el acceso.
Indexación bitmap. Construye un vector de bits por cada valor del dominio (columna) a indexar.
Facultad de Estadística e Informática
Data Warehousing
Técnicas de indexación. Indexación bitmapPor ejemplo:Inventario de 100,000 coches.Indexación bitmap para el tipo de coche.Existen cuatro tipos: económico, compacto, gama media, de lujo Cuatro vectores de bits.
Facultad de Estadística e Informática
Data Warehousing
Técnicas de indexación. Indexación de concatenación.Empleado en el esquema de estrella.Relaciona los valores de una dimensión con las filas de la tabla de hechos.
Es empleada frecuentemente para mantener las relaciones establecidas entre los valores de una clave principal y una clave externa.
Gracias por su atención