bases de datos - parte 7/10 almacenamiento físico
DESCRIPTION
TRANSCRIPT
![Page 1: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/1.jpg)
1
Sistemas de Información II
Tema 7. Almacenamiento físico
Carlos Castillo
UPF – 2007
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).
![Page 2: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/2.jpg)
2
Almacenamiento físico
Objetivo DBMS = almacenar datosImplementación
Requiere conocer en detalle el almacenamiento de datos en un computador
![Page 3: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/3.jpg)
3
Medios de almacenamiento
PrimarioRegistros de CPUCaché de CPUMemoria volátil
SecundarioDiscos magnéticosDiscos ópticos
TerciarioCinta y bancos de cinta
![Page 4: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/4.jpg)
4
Jerarquía de memoria
Memoria caché
Memoria RAM
Disco magnético
Disco óptico
Cinta
Más barato (por byte)Más lentoPersistente
Más costoso (por byte)Más rápidoVolátil
![Page 5: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/5.jpg)
5
En el caso de una BD
Memoria caché
Memoria RAM
Disco magnético
Disco óptico
Cinta
Optimización de consultasCopia del esquema
Log de transaccionesDatos de las tablas
Respaldos de los datos
![Page 6: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/6.jpg)
6
Disco y memoria
Memoria RAM
Disco magnéticoMemoria virtual – Sistema de Archivos
![Page 7: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/7.jpg)
7
BuffersTamaño de página = 4Kb
Páginas de disco
Buffers en memoria
Desde memoria secundaria es imposible leer físicamente 1 bit
![Page 8: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/8.jpg)
8
Discos magnéticos
![Page 9: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/9.jpg)
9
Disco magnético(platter)
Cara del disco
PlásticoMetal
![Page 10: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/10.jpg)
10
Velocidad de rotación
Velocidad rotacional es constante (7k-10k rpm)
La aguja va más rápido en el borde del discoLa densidad de información es menor en el bordeLa tasa de transferencia es igual para todas las pistas
![Page 11: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/11.jpg)
11
Paquete de discos (ej.: 510)
Gira completo al mismo tiempo
Cilindro=Pista entodos losdiscos
PistaTrack
![Page 12: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/12.jpg)
12
Cabezal lectura/escritura
![Page 13: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/13.jpg)
13
Sectores y clusters
Sectores incluyen gaps, alrededor del 10% del discoque no está magnetizado y ayuda a encontrar los sectores.
![Page 14: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/14.jpg)
14
Tiempo lectura
Latencia15-45 msegTiempo de búsqueda (mover cabezal) 10-40msTiempo de rotación (esperar disco) 5ms
Transferencia1-2 mseg por bloque
Tiempo escritura = Tiempo lectura
Tiempo modificación = 2 x Tiempo lectura
![Page 15: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/15.jpg)
15
Fragmentación
Bloques definidos durante el formateoSe busca localizar contiguamente los bloques en disco
Estrategia en memoria secundaria: evitar acceso aleatorio
![Page 16: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/16.jpg)
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
![Page 17: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/17.jpg)
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
![Page 18: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/18.jpg)
18
Mezclar fragmentos
01 02 03 04 10Disco
Memoria
Los primeros 100Kb de cada ficheroelegir mayor valor y grabar a disco
![Page 19: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/19.jpg)
19
Costo en tiempoLeer 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
![Page 20: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/20.jpg)
20
Costo en espacioEspacio 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
![Page 21: Bases de Datos - Parte 7/10 Almacenamiento físico](https://reader034.vdocuments.site/reader034/viewer/2022051411/54582554af79594f558b525a/html5/thumbnails/21.jpg)
21
Resumen
Leer y escribir en disco es lo más lento
Evitar acceso aleatorio
Usar acceso secuencial