Subido por danielf.mora

Modelo Físico DB

Anuncio
MODELO FÍSICO BB
Especificación de estructuras de almacenamiento internas y caminos de
acceso específicos para que las diversas aplicaciones que accedan a la BD
tengan un buen rendimiento
• El diseño físico es muy dependiente del SGBD comercial seleccionado.
• Una vez elegido el SGBD, el Diseño Físico consiste en la elección e
implementación de las estructuras más apropiadas para los archivos
de la BD, entre las opciones que ofrece el SGBD.
• Diseñar e implementar los mecanismos de seguridad : vistas de
usuario y reglas de acceso (privilegios/roles)
CRITERIOS PARA ELEGIR OPCIONES DE DISEÑO FÍSICO (OBJETIVOS)
• TIEMPO DE RESPUESTA (debe minimizarse)
– Tiempo entre la introducción de una transacción de BD y la obtención de respuesta
– Depende de...
• TIEMPO DE ACCESO A LA BASE DE DATOS (bajo el control del SGBD) para obtener los
datos que T necesita
• CARGA DEL SISTEMA, PLANIFICACIÓN DE TAREAS DEL SO, RETRASOS DE
COMUNICACIÓN (fuera del control del SGBD)
• APROVECHAMIENTO DEL ESPACIO (debe optimizarse)
– Cantidad de espacio ocupado por archivos de la BD y sus estructuras de acceso
• PRODUCTIVIDAD DE LAS TRANSACCIONES (debe maximizarse)
– Número promedio de transacciones que el SBD puede procesar por minuto
– Parámetro crítico de los sistemas de procesamiento masivo de transacciones
– Debe medirse en “condiciones pico” del sistema
• Especificar LÍMITES PROMEDIO y del PEOR DE LOS CASOS de cada parámetro como parte de
los REQUERIMIENTOS de RENDIMIENTO del Sistema.
• Utilizar técnicas analíticas o experimentales (prototipos, simulación)
para ESTIMAR valores promedio y del peor de los casos
suponiendo diferentes decisiones de diseño físico,
para ver si se satisfacen los requerimientos de rendimiento especificados
• El rendimiento depende del TAMAÑO y NÚMERO de REGISTROS en los ficheros  * estimar
estos parámetros para cada fichero
* estimar también “cómo y cuánto va a crecer”
(en tamaño de registro, o en número de registros)
• Estimar PATRONES DE ACTUALIZACIÓN y OBTENCIÓN de datos para cada fichero,
considerando TODAS las TRANSACCIONES
• Muchos sistemas incluyen UTILERÍAS DE SUPERVISIÓN que obtiene
ESTADÍSTICAS DE RENDIMIENTO
–
Nº de INVOCACIONES de TRANSACCIONES y/o CONSULTAS PREDEFINIDAS,
Actividades de Entrada/Salida para cada fichero, Nº de bloques (páginas) por
fichero, Nº de entradas por índice, Frecuencias de UTILIZACIÓN de índices, ...
• Cambios en Requerimientos del Sistema de BD (Nuevas Consultas o
Transacciones, ...)  Reorganizar la BD:
– Creación de nuevos índices, o Modificación de métodos de acceso, ...
• optimizador: decisión final sobre el camino de acceso. Pero es el diseñador
el que puede especificar los mecanismos de acceso que dispondrá el
optimizador.
– Para asegurar que el optimizador dispone de eficientes métodos de acceso:
a. Conocer los mecanismos de acceso soportados por el SGBD.
b. Evaluar las circunstancias bajo las que el DBMS utiliza el mecanismo de acceso.
c. Concentrarse sobre las solicitudes de procesamiento más críticas.
Factores que afectan al rendimiento de las aplicaciones
(transacciones y consultas)
• Objetivo del DISEÑO FÍSICO
ESTRUCTURACIÓN ADECUADA de datos en el ALMACENAMIENTO de tal forma que
GARANTICE un BUEN RENDIMIENTO de las aplicaciones
• Pero para un Esquema Conceptual podemos tener diversos Esquemas Físicos
posibles en un mismo SGBD: ¿Cuál es el más apropiado? ¿en base a qué
podemos decidirnos por uno u otro?
• Imposible analizar el RENDIMIENTO ni TOMAR DECISIONES DE DISEÑO sin
saber QUÉ USO SE LE VA A DAR A LA BASE DE DATOS
–
–
–
–
Consultas/Transacciones
Frecuencia (esperada) de Consultas y Transacciones
Restricciones de Tiempo (especiales) de Consultas y Transacciones
Frecuencia (esperada) de operaciones de Actualización de la BD
1. ANÁLISIS DE CONSULTAS Y TRANSACCIONES
Definir (alto nivel) transacciones y consultas que se espera ejecutar en la BD
• PARA CADA CONSULTA...
– TABLAS (FICHEROS) a los que accede
– CAMPOS sobre los que se especifica alguna CONDICIÓN DE SELECCIÓN 
– CAMPOS sobre los que se especifica alguna CONDICIÓN DE REUNIÓN o de ENLACE
de REGISTROS de diferente tipo 
– CAMPOS cuyos valores obtiene la consulta
• PARA CADA TRANSACCIÓN y operación de ACTUALIZACIÓN...
– TABLAS (FICHEROS) que actualiza
– Operación que realiza en cada fichero (INSERCIÓN, MODIFICACIÓN, ELIMINACIÓN)
– CAMPOS sobre los que se especifica alguna CONDICIÓN DE SELECCIÓN para las
modificaciones y borrados 
– CAMPOS actualizados (por una operación de modificación) 
() Candidatos para definir ESTRUCTURAS DE ACCESO sobre ellos
() Candidatos para EVITAR definir ESTRUCTURAS DE ACCESO sobre ellos
2. ANÁLISIS DE FRECUENCIA ESPERADA DE INVOCACIÓN DE
CONSULTAS Y TRANSACCIONES (tasas o velocidades de invocación)
Datos de
FRECUENCIAS de cada
CONSULTA y TRANSACCIÓN
Información sobre los CAMPOS
(de selección y reunión) en cada
CONSULTA y TRANSACCIÓN
FRECUENCIA ESPERADA DE USO DE CADA
CAMPO (de selección y reunión)
--considerando TODAS las CONSULTAS y
TRANSACCIONES--
Si el volumen de procesamiento es elevado, aplicar la regla informal del 80-20
 NO es necesario SUPERVISAR TODAS las Consultas y Transacciones para
recoger Estadísticas y Tasas de Invocación, sino que BASTA con hacerlo con un
20% de ellas (las que realizan el 80% del procesamiento)
ANÁLISIS DE TRANSACCIONES
Y CONSULTAS SOBRE LOS DATOS
ESTUDIO DE ALTERNATIVAS
OFRECIDAS POR EL SGBD
DECISIONES DE
DISEÑO FÍSICO
ESTRUCTURAS DE
ALMACENAMIENTO
Y CAMINOS DE
ACCESO
IMPLEMENTACIÓN
PAUTAS DE DISEÑO FÍSICO
AFINAMIENTO (TUNING)
* BAJO RENDIMIENTO
NUEVAS CONSULTAS Y
TRANSACCIONES
BD
* NO CUMPLIMIENTO DE
REQUERIMIENTOS DEL
SISTEMA
SUPERVISIÓN DEL
RENDIMIENTO
Indices
• Un índice es una estructura de datos definida sobre
una columna de tabla (o varias) y que permite
localizar de forma rápida las filas de la tabla en
base a su contenido en la columna indexada
además de permitir recuperar las filas de la tabla
ordenadas por esa misma columna.
https://www.youtube.com/watch?v=XWX1YvS5Kec
Vistas
• Una VISTA es una tabla virtual derivada de otras
tablas (que pueden ser tablas base o también otras
vistas).
• Sus tuplas no se almacenan sino que se generan a
partir de las tablas de las que depende (no
necesariamente existen en forma física, por ello se
las Vistas: conceptos considera tablas virtuales).
• Son útiles para usar, como si fueran tablas, consultas
que se efectúan frecuentemente, y también para
cuestiones de seguridad.
Descargar