Optimizaci - PowerPoint PPT Presentation

About This Presentation
Title:

Optimizaci

Description:

Optimizaci n E/S para Bases de Datos Enrique Repull s Sistemas de gesti n de Bases de Datos (SGBD) Software que controla i administra los datos de una ... – PowerPoint PPT presentation

Number of Views:49
Avg rating:3.0/5.0
Slides: 14
Provided by: Jose161
Category:
Tags: optimizaci | sgbd

less

Transcript and Presenter's Notes

Title: Optimizaci


1
Optimización E/S para Bases de Datos
  • Enrique Repullés

2
Sistemas de gestión de Bases de Datos (SGBD)
  • Software que controla i administra los datos de
    una organización
  • Proporciona un nivel de abstracción mas alto que
    el sistema de ficheros (jerarquias, grafos,
    conjuntos) , proporcionando ventajas tanto a
    usuarios finales como a programadores de
    aplicaciones.
  • Toda aplicación que quiera trabajar con datos de
    la organización debe solicitarlo al SGBD

3
Objetivos de un SGBD
  • Garantizar la integridad de los datos ninguna
    aplicación o usuario puede introducir datos
    contradictorios o inconsistentes, incluso en
    entornos concurrentes o caída del sistema
  • Optimización Utilizar el cocimiento que tiene el
    SGBD acerca del significado y uso de los datos
    para asegurar un rendimiento óptimo
  • Ofrecer la posibilidad de responder a consultas
    ad-hoc Las preguntas no planificadas
    previamente(improvisadas) proporcionan un alto
    valor añadido tanto para usuarios finales como a
    programadores

4
Recursos necesarios por parte del SO
  • Sistema de ficheros
  • Almacenamiento de datos
  • Ficheros índice (usados por el optimizador)
  • Ficheros propios del SGBD diarios (para
    recuperación en caso de caida), informacion sobre
    los propios datos almacenados (catálogo)
  • imprescindible alto rendimiento
  • CPU consumo considerable
  • Compilación de consultas ad-hoc
  • Proceso optimización (algoritmos complejos)
  • Red Atención a un gran número de clientes
    (volumen de peticiones similar al de un servidor
    Web)

5
Indices
  • Para mejorar el acceso a disco al responder a
    consultas por valor, los SGBD hacen uso
    extensivo de indices.
  • Indicehacen un mapping entre valores y
    direcciones fisicas de disco (para posterior
    acceso directo)
  • Varios tipos disponibles según volumen y tipo de
    datos (Arbol B, hash)
  • Es el optimizador quien decide que indices son
    mas adecuados y cuales se usaran en las
    consultas, aunque pueden indicarse tambien
    manualmente.

6
Sistema de Buffers
  • El SO proporciona un sistema de cache para
    reducir el volumen de E/S. La política de
    substitucion mas frecuente es LRU (least recently
    used)
  • El mecanismo de Buffers es un aspecto de vital
    importancia para el rendimiento del SGBD

7
Sistema de Buffers Problemas
  • El tipo de accesos que se hacen a una base de
    datos y la propia gestión del optimizador hace
    que LRU sea la peor politica posible
  • Los bloques de disco referenciados es muy dificil
    que se vuelvan a referenciar en breve.
  • Para solventar esto, el SGBD debe mantener su
    propio sistema de buffers.
  • Si no se soluciona, el mecanismo proporcionado
    por el SO representa un desperdicio de recursos,
    ya que aunque no se utilizan los buffes siguen
    estando.

8
Sistema de Buffers Soluciones
  • SO aconsejable
  • el optimizador, basandose en las estadisticas que
    almacena, puede indicar que politicas de
    substitución son mas beneficiosas, así como
    ajustar el tamaño del los buffers.
  • Exokernels / sistemas extensibles
  • substituir la parte del SO que se encarga de los
    buffers por código propio del SGBD
  • Raw Volumes
  • Los datos no estan almacenados en el sistema de
    ficheros, sino que el acceso a disco es
    gestionado totalmente por el SGBD

9
Sistema de Buffers recuperación
  • Para poder recuperar la BD en un estado
    consistente despues de una caída, el SGBD escribe
    en un fichero especial(log o diario) el momento
    en que se ha escrito una información a disco,
    para dar la transacción por cerrada.
  • El mecanismo de buffers del SO hace que no sea
    posible para el SGBD averiguar cuando se ha
    escrito fisicamente en disco.
  • Soluciones
  • forzar la escritura en momentos conocidos (sync
    daemon), fsync
  • el SO avisa al SGBD mediante un signal

10
Extensión de ficheros
  • Cuando un fichero crece, el SO le asigna nuevos
    bloques
  • Un SGBD hace gran cantidad de acceso secuencial
  • Interesa que los bloques estén fisicamente
    cercanos para reducir el movimiento del brazo
    del disco.
  • No se consigue si el SO no puede asignar los
    bloques de manera contigua.
  • Extents conjuntos de bloques fisicamente
    contiguos.
  • Cuando un fichero del SGBD necesita mas espacio,
    no se le asigna un solo bloque, sino un Extent,
    para que en las siguientes peticiones reciba
    bloques consecutivos.

11
Paralelismo en acceso a disco
  • Para atender una petición, el SGBD necesita
    acceder a los siguientes ficheros
  • Log marcar el inicio de la transaccion, y el
    final cuando acabe.
  • Catalogo características de los datos accedidas
    y validacion de la consulta. Búsqueda de
    estadísticas para el optimizador
  • Acceso a indices buscan la posicion de los datos
    en los ficheros para hacer acceso directo.
  • Ficheros de datos acceso para lectura o
    escritura
  • Estos accesos se realizan para todas las
    peticiones que el SGBD esta atendiendo
    simultaneamente.
  • Cada tipo de estos ficheros tiene un patron de
    acceso muy diferente
  • Interesa acceder en paralelo a estos ficheros.

12
Paralelismo en acceso a disco 2
  • Mejor solución tener estos 4 grupos de ficheros
    en discos diferentes.
  • Cada módulo del SGBD (compilador, optimizador,
    gestor transacciones) accede a un disco
    dedicado, de manera que puede atender a mas
    peticiones y pasarlas al siguiente módulo.
  • Configuración especifica de cada disco según el
    tipo de acceso que se hace.
  • Sistemas E/S paralelos (Passion, Vesta, VIPIOS)
    permiten dejar esto en manos del Sistema
    Operativo.

13
Bibliografía
  • Date, Introducción a los sistemas de Bases de
    Datos 7ªed.
  • Stonebraker, Operating System Support for
    Database Management, en Communications of the
    ACM, 24(7)
  • Jim Gray, Parallel Database Systems 101
  • Bitton et al , Parallel Algorithms for the
    execution of Relational Database Operations
Write a Comment
User Comments (0)
About PowerShow.com