Bases de Datos - Parte 7/10 Almacenamiento físico

7,011 views

Published on

Published in: Travel, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
7,011
On SlideShare
0
From Embeds
0
Number of Embeds
57
Actions
Shares
0
Downloads
330
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bases de Datos - Parte 7/10 Almacenamiento físico

  1. 1. Sistemas de Información II Tema 7. Almacenamiento físico Bibliografía: Elmasri y Navathe: “Fundamentos de Sistemas de Bases de Datos” 3ª edición, 2002 (Capítulo 5). Garcia-Molina, Ullman y Widom: “Database systems: the complete book”. Prentice-Hall (Capítulo 11). Carlos Castillo UPF – 2007 1
  2. 2. Almacenamiento físico Objetivo DBMS = almacenar datos Implementación Requiere conocer en detalle el almacenamiento de datos en un computador 2
  3. 3. Medios de almacenamiento Primario Registros de CPU Caché de CPU Memoria volátil Secundario Discos magnéticos Discos ópticos Terciario Cinta y bancos de cinta 3
  4. 4. Jerarquía de memoria Más barato (por byte) Más lento Cinta Persistente Disco óptico Disco magnético Memoria RAM Más costoso (por byte) Memoria caché Más rápido Volátil 4
  5. 5. En el caso de una BD Cinta Respaldos de los datos Disco óptico Log de transacciones Disco magnético Datos de las tablas Memoria RAM Optimización de consultas Copia del esquema Memoria caché 5
  6. 6. Disco y memoria Disco magnético Memoria virtual – Sistema de Archivos Memoria RAM 6
  7. 7. Buffers Tamaño de página = 4Kb Páginas de disco Buffers en memoria Desde memoria secundaria es imposible leer físicamente 1 bit 7
  8. 8. Discos magnéticos 8
  9. 9. Disco magnético (platter) Cara del disc Metal Plástico 9
  10. 10. Velocidad de rotación Velocidad rotacional es constante (7k- 10k rpm) La aguja va más rápido en el borde del disco La densidad de información es menor en el borde La tasa de transferencia es igual para todas las pistas 10
  11. 11. Paquete de discos (ej.: 5­10) Pista Track Cilindro= Pista en todos los discos Gira completo al mismo tiempo 11
  12. 12. Cabezal lectura/escritura 12
  13. 13. Sectores y clusters Sectores incluyen gaps, alrededor del 10% del disco que no está magnetizado y ayuda a encontrar los secto 13
  14. 14. Tiempo lectura Latencia 15-45 mseg Tiempo de búsqueda (mover cabezal) 10- 40ms Tiempo de rotación (esperar disco) 5ms Transferencia 1-2 mseg por bloque Tiempo escritura = Tiempo lectura Tiempo modificación = 2 x Tiempo lectura 14
  15. 15. Fragmentación Bloques definidos durante el formateo Se busca localizar contiguamente los bloques en disco Estrategia en memoria secundaria: evitar acceso aleatorio 15
  16. 16. Ejemplo: ordenar en disco Supuesto: registros en disco Fichero 'datos.dat' 10.000.000 de registros, cada registro de 1Kb, total 10 Gb de datos Tenemos solo 1Gb de memoria ¿Qué hacer? Usar quicksort => acceso aleatorio a disco 16
  17. 17. Ordenar fragmentos Idea: leer 1Gb de datos a la vez a memoria Leer 1.000.000 de registros a la vez Ordenarlos en memoria usando quicksort Generar archivos temporales independientes sort01.dat ... sort10.dat ¿Y ahora? No podemos leer sort01.dat y sort02.dat a la vez y mezclarlos ... cada uno pesa 1Gb 17
  18. 18. Mezclar fragmentos Memoria 01 02 03 04 10 Disco Los primeros 100Kb de cada fichero elegir mayor valor y grabar a disco 18
  19. 19. Costo en tiempo Leer cada bloque desde disco, secuencial = 1 Ordenar en memoria = 0 El tiempo que demora eso es mucho menor Grabar cada bloque a disco, secuencial = 1 Leer la parte superior de cada bloque = 1 No es exactamente secuencial Escribir a disco, secuencial = 1 Costo tiempo aprox. 4 veces lo que tarda leer el fichero original 19
  20. 20. Costo en espacio Espacio original: no se cuenta Espacio para archivos temporales 1 vez tamaño del original Espacio para archivo de salida 1 vez tamaño del original Costo espacio aprox. 2 veces el tamaño del fichero original ¡20Gb libres para ordenar 10Gb! Podríamos ahorrar (ej.: borrar el original una vez que tenemos los temporales) – aunque es un poco arriesgado 20
  21. 21. Resumen Leer y escribir en disco es lo más lento Evitar acceso aleatorio Usar acceso secuencial 21

×