Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
10/07/2012 1 Clase 9 Introducción a las Bases de Datos Curso especial - Recursantes 1 IBD - CLASE 15 2 Optimización de consultas “Costo” de una consulta: Acceso a disco tiempo Interpretación de consultas Dada una consulta hay varios métodos para llegar a la respuesta. Fórmula de cálculo sistema Usuario Consulta consulta depurada Más eficiente 10/07/2012 2 IBD - CLASE 15 3 Optimización de consultas Consulta forma interna proceso de optimización parser más eficiente elección de índices # de acceso a disco orden en el uso de tupas Expresiones equivalentes: Algebra relacional: procedural, existe una secuencia de resolución se puede encontrar una expresión más eficiente que otra. IBD - CLASE 15 4 Optimización de consultas Operaciones Selección: hacerlas lo antes posible Cambiar p1^p2(e) p1(p2(e)) Ejemplo Proyección Resolver la proyección lo antes posible Producto natural (r1 |x| r2 |x| r3) = r1 |x| (r2 |x| r3) 10/07/2012 3 IBD - CLASE 15 5 Optimización de consultas Otras operaciones p(r1 r2) = p(r1) p(r2) p(r1 - r2) = p(r1) p(r2) (r1 r2) r3 = r1 (r2 r3) r1 |x| r2 = r2 |x| r1 IBD - CLASE 15 6 Optimización de consultas Estimación del costo de las consultas Elección de estrategia estadísticas # tuplas en la relación (nr) Tamaño en bytes de la tupla (sr) # valores distintos en la relación r para un atributo V(a,r) Costos de las consultas Producto cartesiano: r x t # tuplas nr * nt # bytes en cada tupla sr + st 10/07/2012 4 IBD - CLASE 15 7 Optimización de consultas Selección: p (r) # tuplas nr se supone distribución uniforme V(A,r) # bytes de la tupla sr Producto natural: r |x| t Tres casos: r1(R1), r2(R2) R1 R2 = r1 |x| r2 = r1 x r2 R1 R2 clave en R1 o R2, C/tupla de r2 une una tupla de r1 (o viceversa) r1 |x| r2 = r2 R1 R2 no es clave R1 R2 = { A } cada t r1 produce nr2 tuplas r1 |x| r2 V(A,r2) IBD - CLASE 15 8 Optimización de consultas # tuplas nr1 * nr2 V(A, r2) Ídem con t r2 nr2 * nr1 V(A, r1) Tomo el menor Estadísticas costo de mantenimiento Actualizaciones On line: agregan alto costo de mantenimiento, no es imprescindible Batch: períodos entre actualizaciones. 10/07/2012 5 IBD - CLASE 15 9 Optimización de consultas Costo de acceso por índices Índice más rápido, existe ordenamiento Costo adicional acceso al índice Cálculo de tiempo Depende del la organización y características del índice. Estudiaremos más adelante. Procesadores paralelos Hasta ahora, único procesador Otros casos Redes: separar el trabajo entre distintas computadoras Procesadores que comparten Memoria disco IBD - CLASE 15 10 Seguridad e Integridad Integridad: protección ante pérdidas accidentales de consistencia Problemas durante el procesamiento de transacciones. Control de concurrencia Anomalías causadas por la distribución de datos sobre varias computadoras Error lógico en una transacción que viola protecciones de inconsistencia Seguridad: protección contra intentos mal intencionados para modificar datos Nivel físico Nivel humano Nivel SO Red DBMS 10/07/2012 6 IBD - CLASE 15 11 Seguridad e Integridad Nivel de seguridad físico Protección del equipo ante problemas naturales, fallo de energía, etc. Protección del DR contra robos, borrados, daños físicos Protección de la red contra daños físicos Soluciones Replicar el hardware (discos espejos, múltiples accesos a la red (varios cables)) Seguridad física Técnicas de software que aseguren posibles brechas de seguridad IBD - CLASE 15 12 Seguridad e Integridad Nivel de seguridad Humano Protegerse ante robo de password. Distintas políticas Nivel de seguridad de SO Protección contra logins inválidos Protección de acceso a nivel de archivos Nivel de seguridad de Red Cada sitio debe asegurar que se comunica con sitios autorizados Los links deben protegerse contra robos y modificación de mensajes Mecanismos de identificación y cifrado de mensajes. 10/07/2012 7 IBD - CLASE 15 13 Seguridad e Integridad Nivel de BD Asumir la seguridad en todos los niveles anteriores Usos específicos de la BD Las autorizaciones de usuarios pueden ser sobre archivos, relaciones, o parte de estos. Cada usuario debe tener su autorización para leer y/o escribir solo parte de los datos Se debe asegurar autonomía local en BDD. Control global sugiere control centralizado Seguridad tema del DBA a nivel BD Autorizaciones a usuarios Vistas IBD - CLASE 15 14 Cifrado Cifrado de datos “ocultar” datos para que no sean visibles Protocolos Clave pública Clave privada
Compartir