Este documento resume conceptos clave sobre bases de datos y almacenamiento de datos. Explica que los datos se almacenan en memoria principal para su uso constante y en disco para almacenamiento permanente. Describe el tiempo de acceso a disco, incluyendo búsqueda, retardo rotacional y transferencia. También cubre optimizaciones como doble buffering para mejorar el rendimiento de E/S.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
Optimización de discos y técnicas de doble buffering
1. BASES DE DATOS 1 Notas 02: Hardware José Andrés Cuartas JOSÉ CUARTAS
2. 2 La GranFoto Optimizacion de consultas y ejecución Operadoresrelacionales Metodos de acceso y archivos Administración de buffer Administración de espacio en disco DB JOSÉ CUARTAS BASES DE DATOS
6. Jim Gray Analogía al retardo en el alamcenamiento : Como de lejosestán los datos? 9 Citas/CD-ROM 10 2,000 años Andromeda Robot 6 Neptuno Disco 2 Años 10 1.0 hr Amagá Memoria 100 Campo universitario 10 10 min Cache en la board(tarjeta) Cache en el chip 2 El salon de clase registros 1 La cabeza 1 min JOSÉ CUARTAS BASES DE DATOS
7. El disco y la persistencia de los datos Hoy: Los discos son el dispositivo de almacenamiento secundario de mayor elección, para el almacenamiento persistente. Principal ventajasobrelascintas: accesoaleatorio vs.secuencial. Los datos se almacenan y se recuperan en unidades llamadas bloques de disco o páginas. A diferencia de la RAM, el tiempo para recuperar una página de disco varía dependiendo de la ubicación en el disco. En un mundo electrónico, los discos son un anacronismo mecánico LEER: transferencia de datos desde el disco a la memoria principal (RAM). ESCRIBIR: transferencia de datos desde la memoria RAM en el disco. Ambas son operaciones de alto costo, en relación con las operaciones de memoria, por lo que debe ser planificada con cuidado! 5 JOSÉ CUARTAS BASES DE DATOS
8. Las transacciones sobre las bases de datos Transacción: unasecuencia de acciones de base de datos (lecturas/escrituras). Para las transacciones, DBMS asegura:Atomicidad (la propiedad del todo o nada), aunque ocurran fallos del sistema en medio de una transaccion Cada transacción, es ejecutada por completo, generando un estado consistente de la bases de datos o no se realiza en lo absoluto. Transacciones concurrentes funcionan de forma aislada. La Durabilidad de cada transacción ejecutada, se presenta incluso si hay fallos del sistema, las transacciones deben perdurar en el tiempo. 6 JOSÉ CUARTAS BASES DE DATOS
9. 7 Hardware DBMS ALMACENAMIENTO DE DATOS JOSÉ CUARTAS BASES DE DATOS
10. 8 P Tipico Computador ... ... M C Almacenamiento secundario JOSÉ CUARTAS BASES DE DATOS
11. 9 Procesador Rapido, pequeño, reducidoconjunto de instruciones,concache, pipelined… Velocidad: 100 500 1000 MIPS (millones de instrucciones por segundo) Memoria Rapido, pequeño, no-volatil, solo-lectura,… Tiempo de acceso: 10-6 10-9 sec. 1 s 1 ns JOSÉ CUARTAS BASES DE DATOS
12. 10 Almacenamientosecundario MuchosSabores: - Discos: Floppy (hard, soft) Removibles Winchester Discos Ram Opticos, CD-ROM… Arreglos - Cintas: (http://en.wikipedia.org/wiki/Tape_drive) Reel, cartridgeRobots(http://en.wikipedia.org/wiki/Tape_library BASES DE DATOS JOSÉ CUARTAS
13. 11 Focalizar en: “Tipico disco” … Terminos: Plato, cabeza, actuator cilindros, sector pistas (fisicas), bloque(logico), Gap BASES DE DATOS JOSÉ CUARTAS
15. 13 Gráfico: El brazo se mueve dentro o fuera de la posición de una cabeza en la pista deseada. Las pistas bajo las cabezas hacer un cilindro (imaginario!).Sólo una cabeza lee / escribe en un momento dado.El tamaño de bloque es un múltiplo del tamaño del sector (que es fijo) BASES DE DATOS JOSÉ CUARTAS
22. 17 Tiempo de acceso a disco bloquex En la memoria Se desea un bloque X ? BASES DE DATOS JOSÉ CUARTAS
23. 18 Tiempo=Tiempo de búsqueda+ Retardorotacional+ Tiempo de transferencia+ Otros BASES DE DATOS JOSÉ CUARTAS
24. 19 Tiempo de búsqueda 3 or 5x Tiempo x 1 N Cilindrosviajados BASES DE DATOS JOSÉ CUARTAS
25. 20 Promedioaleatorio de tiempo de búsqueda N N TIEMPOBUSQUEDA(i j) S = N(N-1) j=1 ji i=1 BASES DE DATOS JOSÉ CUARTAS
26. 21 Promedioaleatorio de tiempo de búsqueda N N TIEMPOBUSQUEDA (i j) S = N(N-1) j=1 ji i=1 “Típicos” S: 10 ms 40 ms BASES DE DATOS JOSÉ CUARTAS
27. 22 RETARDO ROTACIONAL Ubicación de la cabeza Bloqueque se desea BASES DE DATOS JOSÉ CUARTAS
29. 24 Rata de transferencia: t “Típico” t: 1 3 MB/second Tiempo de transferencia: tamaño del bloque t BASES DE DATOS JOSÉ CUARTAS
30. 25 Otrosretardos CPU tiempoparaemisión de I/O Retencióncausadopor el controlador Retencióncausadopor bus, Memoria Valor “Típico” : 0 BASES DE DATOS JOSÉ CUARTAS
31. 26 Accesoaleatorio a disco Como: Leyendo el “Siguiente” bloque? BASES DE DATOS JOSÉ CUARTAS
32. 27 Si se realizabien(e.j., Doble Buffer, bloquesalternos…) Tiempobloque = Block Size + Mínimo t - salto de bloque - switch pista - BASES DE DATOS JOSÉ CUARTAS
33. 28 Regla de oroAleatorio I/O: CostosoSecuencial I/O: menos Ej: 1 KB Block Aleatorio I/O: 20 ms. Secuencial I/O: 1 ms. BASES DE DATOS JOSÉ CUARTAS
34. 29 Costoparaescribirsimilar a Leer …. Si se nesecitaverificar! adicione(full) rotación+ TamañoBloque t BASES DE DATOS JOSÉ CUARTAS
35.
36. 31 Bloque de direcciones: Dispositivofísico Cilindro# Superficie# Sector BASES DE DATOS JOSÉ CUARTAS
37. 32 Disco Megatron747 (viejo) Un ejemplo 3.5 en diametro 3600 RPM 1 superficie 16 MB capacidadparausar(16 X 220) 128 cilindros Tiempo de busqueda: promedio= 25 ms. Cilindroadjacente = 5 ms. BASES DE DATOS JOSÉ CUARTAS
39. 34 3600 RPM 60 revoluciones/ sec 1 rev. = 16.66 msec. unapista: ... Tiemposobredatos:(16.66)(0.9)=14.99 ms. Tiemposobre gaps: (16.66)(0.1) = 1.66 ms. Tiempo de transferencia de 1 bloque= 14.99/128=0.117 ms. Trans. time 1 block+gap=16.66/128=0.13ms. BASES DE DATOS JOSÉ CUARTAS
40. 35 Ráfagaancho de banda 1 KB en 0.117 ms. RB = 1/0.117 = 8.54 KB/ms. o RB =8.54KB/ms x 1000 ms/1sec x 1MB/1024KB = 8540/1024 = 8.33 MB/sec BASES DE DATOS JOSÉ CUARTAS
41. 36 Ancho de bandasostenido(mismapista) 128 KB in 16.66 ms. SB = 128/16.66 = 7.68 KB/ms o SB = 7.68 x 1000/1024 = 7.50 MB/sec. BASES DE DATOS JOSÉ CUARTAS
42. 37 T1 = Tiempo de lecturabloquealeatorio T1 = busqueda+ retardorotacional + TT = 25 + (16.66/2) + .117 = 33.45 ms. BASES DE DATOS JOSÉ CUARTAS
43. 38 Suponerque OS ocupa 4 KB bloques ... 1 3 4 2 1 block T4 = 25 + (16.66/2) + (.117) x 1 + (.130) X 3 = 33.83 ms [compare a T1 = 33.45 ms] BASES DE DATOS JOSÉ CUARTAS
44. 39 TT = El tiempo de lectura de todaunapista (empieza en cualquierbloque) TT = 25 + (0.130/2) + 16.66* = 41.73 ms consigue el primer bloque * En realidad, es un bit menos; no tieneque leer el ultimo gap. BASES DE DATOS JOSÉ CUARTAS
45. 40 El Nuevo Megatron 747 8 superficie, 3.5 pulgada de diámetro Utilizaunapulgadaexterna 213 = 8192 pistas/superficie 256 Sectores/pista 29 = 512 Bytes/sector BASES DE DATOS JOSÉ CUARTAS
50. 42 Pistasexteriores: 320 sectors Pistas del secormedio: 256 Pistas del interior: 192 Densidad: 114,000 182,000 bits/pulgada BASES DE DATOS JOSÉ CUARTAS
51. 43 Tiempopara el nuevoMegatron 747 Tiempo de lectura de bloque 4096-byte: MIN: 0.5 ms MAX: 33.5 ms Promedio: 14.8 ms BASES DE DATOS JOSÉ CUARTAS
52. 44 Esquema Hardware: Disco Tiempo de acceso Ejemplo: Megatron 747 Optimización Otrostopicos Costosalmacenamiento Uso del almacenamientosecundario Fallos de disco aqui BASES DE DATOS JOSÉ CUARTAS
53. 45 Optimizaciones(en controlador o S.O.) Algoritmos de administración de discos e.j., Algoritmo del elevador Pistas(or larger) Buffer Pre-búsqueda Arreglos Discos espejos El disco en cache BASES DE DATOS JOSÉ CUARTAS
63. 54 Arreglo de disco RAIDs (variossabores) Bloquesfraccionados o segmentados(stripping) Espejos Logicamente un disco BASES DE DATOS JOSÉ CUARTAS
64. 55 Cache de disco P ... ... M C cache cache BASES DE DATOS JOSÉ CUARTAS
65.
66. 57 Trend Tendencias La memoriacae de precio, bloquemasgrandes... BASES DE DATOS JOSÉ CUARTAS
67. 58 Costo de almacenamiento offline tape nearline tape & optical disks 1015 1013 magnetic optical disks 1011 electronic secondary online tape 109 Capacidadtipica (bytes) electronic main 107 from Gray & Reuter 105 cache 103 103 10-9 10-6 10-3 10-0 Tiempo de acceso(sec) BASES DE DATOS JOSÉ CUARTAS
68. 59 Costos de almacenamientos from Gray & Reuter 104 cache electronic main online tape 102 electronic secondary magnetic optical disks nearline tape & optical disks dolares/MB 100 10-2 offline tape 10-4 103 10-9 10-6 10-3 10-0 Tiempos de acceso(sec) BASES DE DATOS JOSÉ CUARTAS
69. 60 Uso del almacenamientosecundarioefectivamente Ejemplo: Ordenardatos en un disco Conclusion: Domina el costo de I/O Diseñaralgoritmosparareducir I/O También: Como deben ser de grandes los bloques? BASES DE DATOS JOSÉ CUARTAS
70. 61 Regla de los 5 minutos ARTICULOS THE 5 MINUTE RULE FOR TRADING MEMORY FOR DISC ACCESSESJim Gray & Franco PutzoluMay 1985 The Five Minute Rule, Ten Years LaterGoetz Graefe & Jim GrayDecember 1997 BASES DE DATOS JOSÉ CUARTAS
71. 62 Regla de los 5 minutos Dice unapáginaesaccesadacada X segundos CD = costo de una página en el disco $D = costo de la unidad de disco I = númerode IOs que la unidadpuededesempeñar En X segundos, la unidadpuedehacer XI Ios Asíque CD = $D / XI BASES DE DATOS JOSÉ CUARTAS
72. 63 Regla de los 5 minutos Dice unapáginaesaccesadacada X segundos CM = costo de unapáginaen RAM $M = costo de 1 MB de RAM P = numero de paginaspor 1 MB RAM Asique CM = $M / P BASES DE DATOS JOSÉ CUARTAS
73. 64 Regla de los 5 minutos Dice unapáginaesaccesadacada X segundos Si CD esmenorque CM, Se mantiene la páginaen disco si no continua en memoria Punto de equilibrio, cuando CD = CM, o $D P I $M X = BASES DE DATOS JOSÉ CUARTAS
74. 65 Usandonúmerospara el articulo de 97 P = 128 páginas/MB (8KB páginas) I = 64 acceso/sec/disco $D = 2000 dólares/disco (9GB + controlador) $M = 15 dólares/MB of DRAM X = 266 segundos (promedio 5 minutos)(No hay mucho cambio del 85 al 97) BASES DE DATOS JOSÉ CUARTAS
75. 66 Fallos de disco Parcial Total Intermitente Permanente BASES DE DATOS JOSÉ CUARTAS
76. 67 Copiando con un disco defectuoso Detección E.j. Checksum Correción Redundancia BASES DE DATOS JOSÉ CUARTAS
77. 68 Como resolver los defectos de disco ? Un solo disco E.j., Codigo de correción de errores Arreglo de discos Logico Fisico BASES DE DATOS JOSÉ CUARTAS
78. 69 Sistemaoperativoe.j., Almacenamientoestable BloquelogicoCopia A Copia B BASES DE DATOS JOSÉ CUARTAS
79. 70 Sistemas de bases de datos e.j., Log Estado DB ActualDB semana anterior BASES DE DATOS JOSÉ CUARTAS
80. 71 Summary Almacenamientosecundario, principalmente disco Tiempo de I/O I/Osse debenevitar, especialmentecuandoesaleatorio….. Resumen BASES DE DATOS JOSÉ CUARTAS