Você está na página 1de 167

BASES DE DATOS

AVANZADAS

Facultad de Estadística e Informática


Clase 26
Agenda
➢Repaso segundo parcial
Tema 2. Bases de Datos Distribuidas
(BDD).
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
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
Pasos para procesar una consulta de alto nivel
Árbol de
consulta

Consulta en un Forma intermedia de Código para ejecutar


Plan de ejecución
lenguaje de alto nivel la consulta la consulta

PROCESADOR DE
ANÁLISIS LÉXICO, GENERADOR DE
OPTIMIZADOR DE BASE DE DATOS RESULTADO DE
SINTÁCTICO Y CÓDIGO DE
CONSULTAS EN TIEMPO DE LA CONSULTA
VALIDACIÓN CONSULTAS
EJECUCIÓN

El código puede:
Ejecutarse directamente (modo interpretado)
Almacenarse y ejecutarse después cuando se
necesite (modo compilado)
Tema 2. Bases de Datos Distribuidas
(BDD).
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

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas
(BDD).
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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas
(BDD).
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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas
(BDD).
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

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢ 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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢ Traducción de consultas en SQL a álgebra relacional.

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


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢ Las consultas se descomponen en bloques de consulta.
➢Cada bloque contiene una única expresión SELECT – FROM –WHERE. Por ejemplo:
SELECT MATRICULA, NOMBRE
FROM ALUMNOS
WHERE PROMEDIO > (SELECT MAX (PROMEDIO)
FROM ALUMNOS
WHERE ID=3);

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢ El ejemplo incluye una subconsulta anidada, por lo tanto se descompone en
dos bloques:
Bloque interno Bloque externo

(SELECT MAX (PROMEDIO) SELECT MATRICULA, NOMBRE


FROM ALUMNOS FROM ALUMNOS
WHERE ID=3); WHERE PROMEDIO > c

c representa el resultado devuelto por el bloque interno

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢ Traduciendo a álgebra relacional extendida:
Bloque interno Bloque externo

§MAX SALARIO ( ID=5 (ALUMNOS))


∏ MATRICULA, NOMBRE (
PROMEDIO > c (ALUMNOS))
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
Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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…

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas

➢Uso de heurísticas en la optimización de


consultas.
➢ Uso de estimaciones de costo en la optimización
de consultas.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas

➢Uso de heurísticas en la optimización de


consultas.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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.
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
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’;

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
Ejemplo: Álgebra relacional
∏NUMEROP, NUMD,APELLIDO, DIRECCION,FECHA_NCTO
((( LOCALIZACION=‘Veracruz’ (PROYECTO))
NUMD = NUMEROD (DEPARTAMENTO) NSS_JEFE=NSS (EMPLEADO)
)

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
Ejemplo: Árbol de consulta equivalente

(3)

(2)
E
(1)

P
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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’

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
Árbol de consulta inicial (canónico) para consulta en SQL
Regla principal:
– Primero ejecutar seleccionar ( ∏APELLIDO
σ ) y proyectar (π)
– Al final ejecutar reunir (|×|, *) NOMBREP=‘FEI’ Y NUMEROP=NUMP Y NSSE Y FECHA_NCTO>’31-DIC-
y otras operaciones binarias 1980’

Orden de ejecución
X

X PROYECTO

TRABAJA_E
EMPLEADO N

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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’

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
Desplazamiento de las operaciones SELECCIONAR hacia abajo en el árbol
de consulta ∏APELLIDO

NUMEROP=NUMP

NSSE=NSS NOMBREP=‘FEI’
X
PROYECTO
FECHA_NCTO>’31-DIC-1980’ TRABAJA_EN

EMPLEADO
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
Aplicación de la operación SELECCIONAR más restrictiva primero
∏APELLIDO

NSSE=NSS

NUMEROP=NUMP FECHA_NCTO>’31-DIC-1980’
X
EMPLEADO
NOMBREP=‘FEI’ TRABAJA_EN

PROYECTO

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
Sustitución de PRODUCTO CARTESIANO y SELECCIONAR por operaciones
de REUNIÓN ∏APELLIDO

NSSE=NSS

NUMEROP=NUMP FECHA_NCTO>’31-DIC-1980’

EMPLEADO
NOMBREP=‘FEI’ TRABAJA_EN

PROYECTO

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
∏APELLIDO

NSSE=NSS
Desplazamiento de las
operaciones PROYECTAR hacia
abajo en el árbol de consulta ∏NSEE ∏NSS,APELLIDO

NUMEROP=NUMP FECHA_NCTO>’31-DIC-1980’

∏NUMEROP ∏NSSE, NUMP


EMPLEADO

NOMBREP=‘FEI’ TRABAJA_EN

PROYECTO

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
Árbol de consulta inicial (canónico) para consulta en SQL

∏APELLIDO

NOMBREP=‘FEI’ Y NUMEROP=NUMP Y NSSE Y FECHA_NCTO>’31-DIC-


1980’

Orden de ejecución
X

X PROYECTO

TRABAJA_E
EMPLEADO N

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
∏APELLIDO

NUMEROP=NUMP

NSSE=NSS NOMBREP=‘FEI’
X
PROYECTO
FECHA_NCTO>’31-DIC-1980’ TRABAJA_EN

EMPLEADO

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
∏APELLIDO

NSSE=NSS

NUMEROP=NUMP FECHA_NCTO>’31-DIC-1980’
X
EMPLEADO
NOMBREP=‘FEI’ TRABAJA_EN

PROYECTO

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
∏APELLIDO

NSSE=NSS

NUMEROP=NUMP FECHA_NCTO>’31-DIC-1980’

EMPLEADO
NOMBREP=‘FEI’ TRABAJA_EN

PROYECTO

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
∏APELLIDO

NSSE=NSS

∏NSEE ∏NSS,APELLIDO

NUMEROP=NUMP FECHA_NCTO>’31-DIC-1980’

∏NUMEROP ∏NSSE, NUMP


EMPLEADO

NOMBREP=‘FEI’ TRABAJA_EN

PROYECTO

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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))…))

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢Reglas generales de transformación para operaciones del
álgebra relacional.
➢ Conmutatividad de operaciones de conjuntos: Las operaciones de
U
conjuntos U y son conmutativas, pero – no lo es.
U
➢ 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)…...
Etcétera

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas

Conversión de los árboles de consulta en


planes de ejecución de consulta

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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)

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas

➢Uso de estimaciones de costo en la optimización


de consultas.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas

➢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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢Uso de selectividad y estimaciones de costo en la optimización
de consultas.
Optimización Consultas
Optimización elaborada compiladas
de consultas
basada en el
Consultas
costo Optimización
interpreta-
parcial
das

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas

➢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.

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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.
Facultad de Estadística e Informática
Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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

Facultad de Estadística e Informática


Tema 2. Bases de Datos Distribuidas (BDD).
Procesamiento y optimización de consultas
➢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
Información de almacenamiento físico
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
Facultad de Estadística e Informática
Bases de datos
móviles
MAYO 2017

Facultad de Estadística e Informática


Introducción
BASES DE DATOS MÓVILES
Introducción
Siempre 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ón
1990s. 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óvil
Con 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óvil
Y 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óviles
Los 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óviles
Los 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óviles
Es 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óviles
Van 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ísticas
Consultas 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ísticas
Manejo 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ísticas
Redes 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óviles
Algunos SMBD comerciales son:
◦ IBM: DB2 Everyplace
◦ SYBASE, Adaptive Server Anywhere
◦ MICROSOFT SQL Server Compact
◦ SQLite

Facultad de Estadística e Informática


SQLite
o 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


SQLite
o 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


SQLite
1. 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


SQLite
g. 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óviles
o 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.

Facultad de Estadística e Informática


Aplicación para Android
SQLite
Ejemplo
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/r
Aplicación Android SQLite es/android"
android:orientation="vertical"
android:layout_width="match_parent"
• Código para android:layout_height="match_parent">
<EditText
android:layout_width="match_parent"
archivo android:layout_height="wrap_content"
android:id="@+id/txtUserName"
Newuser.axml android:hint="Nombre de usuario" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txtPassword"
android:hint="Contraseña" />
<Button
android: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
RegisterActivity
en la raíz del
proyecto
RegisterActivity
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;

Aplicación Android SQLite using


using
using
Android.Widget;
System.IO;
SQLite;

namespace SQLite
{

• Añadir el código
[Activity(Label = "RegisterActivity")]
public class RegisterActivity : Activity
{
EditText txtusername;
EditText txtPassword;

correspondiente a
Button btncreate;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Set our view from the "main" layout resource

RegisterActivity.cs
SetContentView(Resource.Layout.Newuser);

// Create your application here


btncreate = 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 SQLite
using System;
using System.Collections.Generic;

• Añadir código using


using
System.Linq;
System.Text;

a la clase using
using
using
Android.App;
Android.Content;
Android.OS;
using Android.Runtime;
LoginTable.cs using
using
Android.Views;
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; }

}
}
Aplicación Android SQLite

• Paso 5. Agregar
la referencia
SQLite
Aplicación Android SQLite
sqlite-net-pcl
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
{

Aplicación Android SQLite


EditText txtusername;
EditText txtPassword;
Button btncreate;
Button btnsign;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);

// Set our view from the "main" layout resource


SetContentView(Resource.Layout.Main);

• Paso 6. Agregar // Get our button from the layout resource,


// and attach an event to it
btnsign = FindViewById<Button>(Resource.Id.btnLogin);
btncreate = FindViewById<Button>(Resource.Id.btnRegistrar);
txtusername = FindViewById<EditText>(Resource.Id.txtUserName);
txtPassword = FindViewById<EditText>(Resource.Id.txtPassword);

el código
btnsign.Click += Btnsign_Click;
btncreate.Click += Btncreate_Click;
CreateDB();
}

private void Btncreate_Click(object sender, EventArgs e)


{

correspondient
StartActivity(typeof(RegisterActivity));
}

private void Btnsign_Click(object sender, EventArgs e)


{
try

e a la clase
{
string dpPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "user.db3"); //Call Database
var db = new SQLiteConnection(dpPath);
var data = db.Table<LoginTable>(); //Call Table
var data1 = data.Where(x => x.username == txtusername.Text && x.password == txtPassword.Text).FirstOrDefault(); //Linq Query
if (data1 != null)
{

MainActivity.cs
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 Database
var 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
nube
CÓMPUTO EN LA NUBE
Introducción
Generalmente 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 nube
La 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).

Facultad de Estadística e Informática


Bases de datos en la
nube
BASES DE DATOS EN LA NUBE
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 nubes
Pú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ísticas
Pará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ísticas
Copia 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ísticas
Aislamiento 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 comerciales
Amazon Web Services
Relacionales
MySQL
NoSQL
SimpleDB
2002 Oracle DynamoDB
MSSQL
Windows Azure SQL Database Azure Blobs
2009 MySQL Azure Tables
Postgres Azure Files
Google API Google Cloud SQL Persistent Disk
2006 Cloud Bigtable

Facultad de Estadística e Informática


BD Locales BD en la nube
Recuperación de fallos manual Rápida recuperación de fallos
BD locales Vs BD en laConfiguración
Configuraciones avanzadas nubesencilla, 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 Monitoreo automático incluido


comprobar disponibilidad

Requiere de conocimiento de sistemas No es necesario ningún conocimiento del


operativos 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 Costo solo por el uso de la base de datos
software y especialistas en mantenimiento

Facultad de Estadística e Informática


Ejemplo
CPANEL HOSTING
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

Facultad de Estadística e Informática


Ejemplo
AZURE SQL DATABASE
HTTPS://PORTAL.AZURE.COM/
Obteniendo una cuenta
AZURE SQL DATABASE

HTTPS://AZURE.MICROSOFT.COM/ES-MX/
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: erikamricouv
Contraseñ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 bdclase.database.windows.net


servidor:
Autenticación: SQL Server
Nombre del usuario: clase
Contraseña: BDavanzadas-2
Nombre de la base <predeterminado>
de datos:

Facultad de Estadística e Informática


Probar la conexión desde Visual Studio

Facultad de Estadística e Informática


Integración de datos
CÓMPUTO EN LA NUBE
¿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
Heterogéneas

¿Qué es?

Sistemas
Distribuidas de Autónomas

Integración

Poco
estructuradas

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ápida
Desventajas:
•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 Consulta 1

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 Consulta 1.1 Consulta 1.2 Consulta 1.3

de datos cada vez que un usuario hace una


consulta, es decir, ofrecer una vista en
tiempo real de los datos.
Fuente de Fuente de Fuente de
datos 1 datos 2 datos 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 Alumnos con mejor
promedio en el
sistema educativo
nacional

Integra la 4 1
información
virtualmente
Mediador

3 2 3 2 3 2 3 2

…..
Ciudad de
Veracruz México
Yucatán Zacatecas

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 information
systems/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 Warehousing
Proceso completo de almacenamiento utilizando almacenes de datos
ETL

Bases de datos
ALMACÉN DE DATOS
OLAP

Limpieza Reformateo DESSI


DATOS EIS

METADATOS MINERÍA DE
Actualizaciones / Nuevos datos DATOS

Otras entradas de datos

Facultad de Estadística e Informática


Data Warehousing
Proceso completo de almacenamiento utilizando almacenes de datos

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 warehouse
primero 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.

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 Detalle


regionales en subregiones y los tipos
de productos en detalle de productos. 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ón
Tabla 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 bitmap
Por 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.
Facultad de Estadística e Informática
Gracias por su atención

Você também pode gostar