• No se han encontrado resultados

Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento"

Copied!
22
0
0

Texto completo

(1)

Rendimiento de la Base de datos.

Procesamiento de consultas y

administración del rendimiento

(2)

Esquema de la clase

1.

Procesamiento de

consultas

2.

El optimizador del DBMS

(3)

Optimizador

Procesamiento de consultas

Heurística vs costo - Expresiones equivalentes - Primitivas de cada operación - Materialización o encauzamiento

- sintaxis en instrucciones

- nombres de tablas, atributos, etc. - resolver vistas

- traducción al algebra relacional extendido

Consulta y traductorAnalizador

Expresión del álgebra relacional Plan de Ejecución Ejecución Resultado de la Consulta Estadísticas Datos E/S disco

$

CPU Conectividad

(4)

Optimización de Sentencias SQL Equivalentes

SELECT REV.Codigo_Guia

FROM reserva_visita REV INNER JOIN reserva_visita_grado RVG ON REV.Codigo_Reserva = RVG.Codigo_Reserva WHERE RVG.GRADO=3 GROUP BY REV.Codigo_Guia SELECT REV.Codigo_Guia FROM reserva_visita REV

WHERE REV.Codigo_Reserva IN( SELECT RVG.Codigo_Reserva FROM reserva_visita_grado RVG WHERE RVG.GRADO=3)

GROUP BY REV.Codigo_Guia SELECT REV.Codigo_Guia

FROM reserva_visita REV, reserva_visita_grado RVG WHERE RVG.GRADO=3 AND REV.Codigo_Reserva =

RVG.Codigo_Reserva

GROUP BY REV.Codigo_Guia

FROM WHERE SUBCONSULTA

Condición de Unión de las Tablas

Optimizador

Mismo Plan de ejecución

Estadísticas

Niveles de Optimización (solo algunos motores) :

Tiempo de optimización versus Tiempo de ejecución

(5)

101050

accesos a disco

Optimizador – Evaluación de expresiones equivalentes

Optimizador

puesto=‘gerente’

Empleado)

Sucursal.Nro_Sucursal=Empleado.Nro_Sucursal

ciudad=‘Londres’

Sucursal)

Estadísticas SELECT *

FROM Empleado INNER JOIN Sucursal on Sucursal.Cod_Sucursal= Empleado.Cod_Sucursal WHERE Empleado.Puesto = ‘gerente’ AND Sucursal.Ciudad = ‘Londres

Sucursal (50 registros) 5 sucursales en Londres

Empleado (1000 registros) 50 empleados gerentes

1. σ

(puesto=‘gerente’)λ(ciudad=‘Londres’) (Sucursal.Nro_Sucursal=Empleado.Nro_Sucursal)

(Sucursal x

Emp

leado)

Histogramas

3050

accesos a disco

2. σ

(puesto=‘gerente’)λ(ciudad=‘Londres’)

(Empleado

Sucursal.Nro_Sucursal=Empleado.Nro_Sucursal

Sucursal)

1160

accesos a disco

3. (σ

puesto=‘gerente’ Empleado)

(6)

Primitivas

OPERACIÓN SELECCIÓN

BÚSQUEDA LINEAL

Para clave primaria = Para <> clave primaria =

BÚSQUEDA BINARIA Para clave primaria =

Para <> clave primaria =

Cantidad de bloques que ocupa la tabla

Cantidad de filas que cumplen la Seleccion Factor de bloque b/2 b Fb Log2 b + n Log2 b INDICE PRIMARIO

Para clave primaria = Para <> clave primaria =

N + 1

Niveles del indice

N + n Fb

INDICE SECUNDARIO Para clave primaria =

Para <> clave primaria = N + 1

N + n

SELECCIONES COMPLEJAS (AND, OR, NOT) Se aplican la misma operacion al resultadoAND (Indices compuestos o interseccion de punteros)

(7)
(8)
(9)

Primitivas

OPERACIÓN REUNION

BUCLE ANINADO

Cuando el atributo de busqueda es la clave primaria de la entidad interna, puede frenar la busqueda cuando la encuentra

Si RI cabe en memoria entonces = bI + bE

nE * bI + bE BUCLE ANINADO POR BLOQUE bE * bI + bE BUCLE ANINADO INDEXADO bE + nE * c Costo de la selección – ej N REUNION POR MEZCLA

bE + bI Las tablas deben estar ordenadas por el

atributo de reunión REUNION POR

ASOCIACION

(10)

Plan de Ejecución

SELECT ESC.Nombre_Escuela, ESC.Domicilio_Escuela,

TEL.Telefono_Escuela

FROM escuela ESC INNER JOIN telefono_escuela TEL ON

ESC.Codigo_Escuela = TEL.Codigo_Escuela

Estructura de árbol (se lee de

derecha a izquierda)

(11)
(12)
(13)
(14)

Estadísticas

Catálogo de estadísticas:

Muestreo

Histogramas

Actualización

(15)
(16)

Optimizador

Procesamiento de consultas

Consulta y traductorAnalizador

Expresión del álgebra relacional Plan de Ejecución Ejecución Resultado de la Consulta Estadísticas Datos E/S disco

$

CPU Conectividad Consultas y resultados en Memoria – Bind de Variables

(17)

SQL embebido estático

La sentencia SQL completa es indicada en el programa

anfitrión. La sentencia SQL se queda preparada para

ejecución (lista para ejecutarse).

SQL embebido dinámico

Parte de sentencia SQL es dejada para definirse

(completarse) al momento de ejecución. No queda

preparada y el DBMS debe compilarla (BIND) antes que

pueda ser ejecutada. -> hard & soft parse

(18)

Ajustes del Rendimiento

Hardware

Parámetros del DBMS

Hardware

Base de datos

almacenada

Diccionario de datos (Meta-datos)

SGBD (DBMS)

Software a Software b

Software n

DDL

DML

Servicios que permiten gestionar: Transacciones, concurrencia, accesos, restricciones, archivos, memoria intermadia, optimizar consultas, etc.

Sistema Operativo

Usuarios

Esquema y transacciones

(19)

Ajustes del Hardware

Procesamiento

Almacenamiento secundario:

Tipo, Cantidad y Velocidad de Discos,

Estructuras RAID (1 escritura rápida respecto

del 5).

Conectividad (bps)

Almacenamiento primario (RAM)

(20)

Ajustes del DBMS

Tamaño de memoria intermedia, de bloques, de

extensiones, particiones, etc.

Intervalos de puntos de revisión, de

actualización de estadísticas, de

reogranizaciones, etc.

Los DBMS

(21)

Ajustes del esquema y las transacciones

Diseño del esquema

Manejo de índices y

métodos de almacenamiento

• Dividir tablas mediante relaciones 1 a 1.

• Datos desnormalizados (redundantes). Uso de vistas materializadas. Datos calculados.

• Vistas materializadas: Actualización inmediata (total o incremental) vs actualización diferida (periódica o cuando se realiza una consulta). • Elección de tipos de datos.

• Manejo de Particiones.

• Agrupaciones: índices cluster, archivos agrupados

• Elección de atributos a indizar (optimización de consultas vs. actualizaciones). Tipos de índices. Análisis de tiempos de respuesta.

Transacciones

• Escritura de las consultas (Consultas anidadas complejas)• Uso de stored procedures. • Uso de cursores limitado.

(22)

Estrategias de Optimización

Tareas y Herramientas: Trace: como,

cuando? (afecta a la performance),

sentencias mas costosas o mas

habituales, etc. Herramientas

automáticas.

Estrategias de performance en

Inserciones y eliminaciones masivas

Referencias

Documento similar

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

Cualquier Estado ha nacido siempre en torno a un núcleo ori- ginario que a veces no es otra cosa que la Administración del Estado anterior, que en cierto modo supervive, y otras

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

•cero que suplo con arreglo á lo que dice el autor en el Prólogo de su obra impresa: «Ya estaba estendida esta Noticia, año de 1750; y pareció forzo- so detener su impresión

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Sanz (Universidad Carlos III-IUNE): &#34;El papel de las fuentes de datos en los ranking nacionales de universidades&#34;.. Reuniones científicas 75 Los días 12 y 13 de noviembre