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.