BASES DE DATOS1Notas 02: HardwareJosé Andrés CuartasJOSÉ CUARTAS
2La GranFotoOptimizacion de consultas y ejecuciónOperadoresrelacionalesMetodos de acceso y archivosAdministración de bufferAdministración de espacio en discoDBJOSÉ CUARTASBASES DE DATOS
JOSÉ CUARTAS3Pequeñas, rapidasMemoria principal(RAM) usoconstante de datos.
Disco paralamacenamientopermanente (AlmacenamientoSecundario).
Cintas paraarchivarversionesViejas de datos (Almacenamientoterciario).Grandes, LentasBASES DE DATOS
Jim Gray Analogía al retardo en el alamcenamiento :  Como de lejosestán los datos?9Citas/CD-ROM102,000 añosAndromeda Robot6NeptunoDisco2 Años101.0 hrAmagáMemoria100Campo universitario1010 minCache en la board(tarjeta)Cache en el chip2El salon de claseregistros1La cabeza1 minJOSÉ CUARTASBASES DE DATOS
El disco y la persistencia de los datosHoy: 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ánicoLEER:  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!5JOSÉ CUARTASBASES DE DATOS
Las transacciones sobre las bases de datosTransacció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 transaccionCada 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.6JOSÉ CUARTASBASES DE DATOS
7HardwareDBMSALMACENAMIENTO DE DATOSJOSÉ CUARTASBASES DE DATOS
8PTipicoComputador......MCAlmacenamientosecundarioJOSÉ CUARTASBASES DE DATOS
9ProcesadorRapido, pequeño, reducidoconjunto de instruciones,concache, pipelined…Velocidad: 100   500    1000 MIPS       (millones de instrucciones por segundo)MemoriaRapido, pequeño, no-volatil, solo-lectura,…Tiempo de acceso: 10-6   10-9  sec.         1 s     1 nsJOSÉ CUARTASBASES DE DATOS
10AlmacenamientosecundarioMuchosSabores:- Discos: Floppy (hard, soft)Removibles				WinchesterDiscos RamOpticos, CD-ROM…Arreglos- Cintas: (http://en.wikipedia.org/wiki/Tape_drive)		    Reel, cartridgeRobots(http://en.wikipedia.org/wiki/Tape_libraryBASES DE DATOSJOSÉ CUARTAS
11Focalizar en: “Tipico disco”…Terminos: Plato, cabeza, actuatorcilindros, sector pistas            (fisicas),bloque(logico), GapBASES DE DATOSJOSÉ CUARTAS
12Grafico: BASES DE DATOSJOSÉ CUARTAS
13Grá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 DATOSJOSÉ CUARTAS
14Vista desdearribaBASES DE DATOSJOSÉ CUARTAS
15Números“Tipicos”Diámetro: 	1 inch  15 inchesCilindros:	100    2000Superficie:	1 (CDs) (Pista/cilindro) :  	2 (floppies)  30Tamaño sector:	512B   50KCapacidad:	360 KB (viejosfloppy) 400 GB (en uso)BASES DE DATOSJOSÉ CUARTAS
16ESPERATransferTransferRotaciónRotaciónBúsquedaTiempo de acceso a discoTiempo de acceso (lectura / escritura) a un bloque de disco:
Tiempo de búsqueda (para mover los brazos a la pista).
Retardo  rotacional (en espera de bloque para girar debajo de la cabeza)
Tiempo de transferencia (en realidad el movimiento de datos hacia y desde la superficie del disco)BúsquedaBASES DE DATOSJOSÉ CUARTAS
17Tiempo de acceso a discobloquexEn la memoriaSe desea un bloque X?BASES DE DATOSJOSÉ CUARTAS
18Tiempo=Tiempo de búsqueda+Retardorotacional+Tiempo de transferencia+OtrosBASES DE DATOSJOSÉ CUARTAS
19Tiempo de búsqueda3 or 5xTiempox1NCilindrosviajadosBASES DE DATOSJOSÉ CUARTAS
20Promedioaleatorio de tiempo de búsqueda N NTIEMPOBUSQUEDA(i j)S =         		N(N-1)j=1jii=1BASES DE DATOSJOSÉ CUARTAS
21Promedioaleatorio de tiempo de búsqueda N NTIEMPOBUSQUEDA (i  j)S =         		N(N-1)j=1jii=1“Típicos” S: 10 ms  40 msBASES DE DATOSJOSÉ CUARTAS
22RETARDO ROTACIONALUbicación de la cabezaBloqueque se deseaBASES DE DATOSJOSÉ CUARTAS
23PromedioretardorotacionalR = 1/2 revolución“típico” R = 8.33 ms (3600 RPM)BASES DE DATOSJOSÉ CUARTAS
24Rata de transferencia: t“Típico” t:  1    3  MB/secondTiempo de transferencia:  tamaño del bloque			tBASES DE DATOSJOSÉ CUARTAS
25OtrosretardosCPU tiempoparaemisión de I/ORetencióncausadopor el controladorRetencióncausadopor bus, MemoriaValor “Típico” : 0BASES DE DATOSJOSÉ CUARTAS
26Accesoaleatorio a discoComo: Leyendo el  “Siguiente” bloque?BASES DE DATOSJOSÉ CUARTAS
27Si se realizabien(e.j., Doble Buffer, 						    bloquesalternos…)Tiempobloque =  Block Size  + Mínimo    	    		          t- salto de bloque						- switch pista						-BASES DE DATOSJOSÉ CUARTAS
28Regla de oroAleatorio I/O: CostosoSecuencial I/O: menosEj:	       1 KB BlockAleatorio I/O:   20 ms.Secuencial I/O:  1 ms.BASES DE DATOSJOSÉ CUARTAS
29Costoparaescribirsimilar a Leer…. Si se nesecitaverificar!adicione(full) rotación+ TamañoBloquetBASES DE DATOSJOSÉ CUARTAS
30Modificar un bloque:	(a) Leer bloque	(b) Modificar en memoria	(c) Escribir el bloque	[(d) Verificar?]Modificar un bloque?BASES DE DATOSJOSÉ CUARTAS
31Bloque de direcciones:DispositivofísicoCilindro#Superficie#SectorBASES DE DATOSJOSÉ CUARTAS
32Disco Megatron747 (viejo)Un ejemplo3.5 en diametro3600 RPM1 superficie16 MB capacidadparausar(16 X 220)128 cilindrosTiempo de busqueda: promedio= 25 ms.Cilindroadjacente = 5 ms.BASES DE DATOSJOSÉ CUARTAS
331 KB bloques = sectores10% encabezado entre bloquescapacidad= 16 MB = (220)16 = 224# cilindros= 128 = 27bytes/cil = 224/27 = 217 = 128 KBBloques/cyl = 128 KB / 1 KB = 128BASES DE DATOSJOSÉ CUARTAS
343600 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 DATOSJOSÉ CUARTAS
35Ráfagaancho de banda1 KB en 0.117 ms.RB = 1/0.117 = 8.54 KB/ms.oRB =8.54KB/ms x 1000 ms/1sec x 1MB/1024KB      = 8540/1024 = 8.33 MB/secBASES DE DATOSJOSÉ CUARTAS
36Ancho de bandasostenido(mismapista)	128 KB in 16.66 ms.SB = 128/16.66 = 7.68 KB/msoSB = 7.68 x 1000/1024 = 7.50 MB/sec.BASES DE DATOSJOSÉ CUARTAS
37T1 = Tiempo de lecturabloquealeatorioT1 = busqueda+ retardorotacional + TT = 25 + (16.66/2) + .117 = 33.45 ms.BASES DE DATOSJOSÉ CUARTAS
38Suponerque OS ocupa  4 KB bloques...13421 blockT4 = 25 + (16.66/2) + (.117) x 1             + (.130) X 3 = 33.83 ms[compare a T1 = 33.45 ms]BASES DE DATOSJOSÉ CUARTAS
39TT = El tiempo de lectura de todaunapista		(empieza en cualquierbloque)TT = 25 + (0.130/2) + 16.66* = 41.73 msconsigue el primer bloque* En realidad, es un bit menos; no tieneque leer el ultimo gap.BASES DE DATOSJOSÉ CUARTAS
40El Nuevo Megatron 7478 superficie, 3.5 pulgada de diámetroUtilizaunapulgadaexterna213 = 8192 pistas/superficie256   Sectores/pista29  = 512 Bytes/sectorBASES DE DATOSJOSÉ CUARTAS
41 8 GB Disco
Si todaslaspistastienen256 sectors
Desidadperiférica: 100,000 bits/pulgada
Densidad interior: 250,000 bits/pulgada1.BASES DE DATOSJOSÉ CUARTAS
42Pistasexteriores: 320 sectorsPistas del secormedio: 256Pistas del interior: 192Densidad: 114,000     182,000 bits/pulgadaBASES DE DATOSJOSÉ CUARTAS
43Tiempopara el nuevoMegatron 747Tiempo de lectura de bloque 4096-byte:MIN: 0.5 msMAX: 33.5 msPromedio: 14.8 msBASES DE DATOSJOSÉ CUARTAS
44EsquemaHardware: DiscoTiempo de accesoEjemplo: Megatron 747OptimizaciónOtrostopicosCostosalmacenamientoUso del almacenamientosecundarioFallos de discoaquiBASES DE DATOSJOSÉ CUARTAS
45Optimizaciones(en controlador  o S.O.)Algoritmos de administración de discose.j., Algoritmo del elevadorPistas(or larger) BufferPre-búsquedaArreglosDiscos espejosEl disco en cacheBASES DE DATOSJOSÉ CUARTAS
46Double Buffering(http://es.wikipedia.org/wiki/Buffer)Problema: Se tiene un archivoSecuencia de bloques B1, B2		 Se tiene un programaProceso B1Proceso B2Proceso B3BASES DE DATOSJOSÉ CUARTAS
47Soluciónunico Buffer(1) Leer B1    Buffer(2) Procesadatosdentro del Buffer(3) Leer B2  Buffer(4) Procesadatosdentro del Buffer...BASES DE DATOSJOSÉ CUARTAS
48Dice	P = tiempoproceso/bloque		R = tiempolectura de un bloque		n = # bloquesTiempoúnicobuffer = n(P+R)BASES DE DATOSJOSÉ CUARTAS
49Doble bufferMemoria:Disco: ABCDGEFprocesoBASES DE DATOSJOSÉ CUARTAS
50Doble bufferMemoria:Disco: BABCDGEFHechoprocesoABASES DE DATOSJOSÉ CUARTAS
51Doble bufferMemoria:Disco: ABCDGEFprocesoBCAHechoBASES DE DATOSJOSÉ CUARTAS
52Doble bufferMemoria:Disco: procesoprocesoBBCAAABCDGEFHechoHechoBASES DE DATOSJOSÉ CUARTAS
53Dice P  R P = Tiempoprocesamiento/bloqueR = IO tiempo/bloquen = # bloquesQueestiempo de procesamiento?Tiempo de un doble buffer = R + nP
Tiempounico buffer 	 = n(R+P)BASES DE DATOSJOSÉ CUARTAS
54Arreglo de discoRAIDs (variossabores)Bloquesfraccionados o segmentados(stripping)EspejosLogicamente un discoBASES DE DATOSJOSÉ CUARTAS
55Cache de discoP......MCcachecacheBASES DE DATOSJOSÉ CUARTAS
56Desafortunadamente...Gran bloqueLecturas de cosasinútilesy tomamástiempopara leerSelección de tamaño en el bloque?Gran bloqueAmortiza el costo I/OBASES DE DATOSJOSÉ CUARTAS
57TrendTendenciasLa memoriacae de precio, bloquemasgrandes...BASES DE DATOSJOSÉ CUARTAS
58Costo de almacenamientoofflinetapenearlinetape &opticaldisks10151013magneticopticaldisks1011electronicsecondaryonlinetape109Capacidadtipica (bytes)electronicmain107from Gray & Reuter105cache10310310-910-610-310-0Tiempo de acceso(sec)BASES DE DATOSJOSÉ CUARTAS
59Costos de almacenamientosfrom Gray & Reuter104cacheelectronicmainonlinetape102electronicsecondarymagneticopticaldisksnearlinetape &opticaldisksdolares/MB10010-2offlinetape10-410310-910-610-310-0Tiempos de acceso(sec)BASES DE DATOSJOSÉ CUARTAS
60Uso del almacenamientosecundarioefectivamenteEjemplo: Ordenardatos en un discoConclusion: Domina el costo de I/ODiseñaralgoritmosparareducir I/OTambién: Como deben ser de grandes  los bloques?BASES DE DATOSJOSÉ CUARTAS
61Regla de los 5 minutosARTICULOSTHE  5  MINUTE  RULE  FOR  TRADING  MEMORY FOR  DISC  ACCESSESJim Gray & Franco PutzoluMay 1985The Five Minute Rule, Ten Years LaterGoetz Graefe & Jim GrayDecember 1997BASES DE DATOSJOSÉ CUARTAS
62Regla de los 5 minutosDice unapáginaesaccesadacada X segundosCD = costo de una página en el disco $D = costo de la unidad de discoI = númerode IOs que la unidadpuededesempeñarEn X segundos, la unidadpuedehacer XI IosAsíque CD = $D / XIBASES DE DATOSJOSÉ CUARTAS

Disco duro bases datos