Diseño fisico bases datos 2

24
Almacenamiento de Datos: Discos y Archivos

Transcript of Diseño fisico bases datos 2

Page 1: Diseño fisico bases datos 2

Almacenamiento de Datos: Discos y Archivos

Page 2: Diseño fisico bases datos 2

Vista General

• Modelo Relacional - SQL– Lenguajes de query formales y comerciales

• Dependencias Funcionales• Normalización

• Diseño Físico• Indexar• Evaluación de Query• Optimización de Query• ….

Orientado a Aplicación

Orientado al sistema

Page 3: Diseño fisico bases datos 2

CPU

C M

ComputadoraTípica

AlmacenamientoSecundario

......

Page 4: Diseño fisico bases datos 2

Medios de Almacenamiento• Cache – forma más rápida y costosa de

almacenamiento; volátil; administrado por el hardware del sistema informático

• Memoria Principal:– acceso rápido (10s a 100s de nanosegundos, 1

nanosegundo = 10–9 segundos)– por lo general muy pequeña (o muy cara) para

almacenar la base de datos completa– Volátil - contenido de la memoria principal

usualmente se pierde si un corte de corriente o fallo del sistema se produce.

– Pero ... El CPU funciona solamente con datos en la memoria principal

Page 5: Diseño fisico bases datos 2

Medios de Almacenamiento

• Disco– Medio principal para el almacenamiento a largo plazo

de los datos, por lo general almacena bases de datos enteras.

– de acceso aleatorio - es posible leer los datos en el disco en cualquier orden, a diferencia de la cinta magnética

– No volátil: los datos sobreviven un fallo eléctrico o un fallo del sistema, error en el disco es menos probable que ellos

Page 6: Diseño fisico bases datos 2

Medios de Almacenamiento• Almacenamiento Óptico

– no volátil, los datos se leen ópticamente de un disco giratorio con un láser

– CD-ROM (640 MB) y DVD (4.7 a 17 GB) formas más populares

– Escribe uno, muchas lecturas (WORM) discos ópticos utilizados para el almacenamiento de archivos (CD-R y DVD-R)

– Versiones de escritura múltiples también están disponibles (CD-RW, DVD-RW, y DVD-RAM)

– Las lecturas y escrituras son más lentas que con el disco magnético

• Cintas– acceso secuencial(muy lento)– baratos, alta capacidad

Page 7: Diseño fisico bases datos 2

Jerarquía de Memoria

cache

Memoria Principal

Disco Magnético

Almacenamiento óptico

Cintas

Más

Velo

c idad

Menos

Pre

cio

Recorriendo la jerarquia:1. velocidad( mas alto=mas rapido)2. costo (mas bajo=mas barato)3. volatilidad (entre MP y Disco)4. Transferencia de datos(Memoria Principal el“hub”)5. Clases de Almacenamiento(P=primaria, S=secundaria, T=terciaria)

Volátil

No-volátil

Page 8: Diseño fisico bases datos 2

Jerarquía de Memoria

• Transferencias de Datos

– cache – mp : SO/controlado por el hardware

– mp – disco : <- lecturas, -> escrituras controlado por el DBMS

– disco – CD-Rom o DVD

– disco – Cintas Backups (off-line)

Page 9: Diseño fisico bases datos 2

Memoria Principal DiscoPreocupaciones:

1. Eficiencia (velocidad)se puede mejorar ...

a. mejorar la velocidad de transferencia de datos en bruto

      b. evitando la transferencia prematura de datos       c. evitando la transferencia de datos innecesarios

2. Seguridad (confiabilidad, disponibilidad)      se puede mejorar ...       a. almacenando datos redundantes

Page 10: Diseño fisico bases datos 2

Discos, Memoria, y Archivos

Query Optimizationand Execution

Relational Operators

Files and Access Methods

Buffer Management

Disk Space Management

DB

Page 11: Diseño fisico bases datos 2

Discos y Archivos• DBMS almacena la información en los discos.

– En un mundo electrónico, los discos son un anacronismo mecánico

– Esto tiene implicaciones importantes para el diseño de DBMS!

– LEER: transferir datos desde el disco a la memoria principal (RAM).

– ESCRIBIR: transferir datos desde la memoria RAM al disco.– Ambas son operaciones de alto costo, en relación con las

operaciones de memoria, por lo que debe ser planificada con cuidado!

Page 12: Diseño fisico bases datos 2

¿Por qué no almacenar todo en la memoria principal? • Cuesta demasiado. Por $ 1000, Dell le vende 2

GB de RAM o 180 GB de disco en la actualidad.• La memoria principal es volátil. Queremos que

los datos que se guardan entre ejecuciones. (¡Obviamente!)

• Jerarquía de almacenamiento típicas:– La memoria principal (RAM) para los datos que se

utilizan actualmente. – En disco para la base de datos principal

(almacenamiento secundario). – Cintas para el archivo de las versiones anteriores de

los datos (almacenamiento terciario)

Page 13: Diseño fisico bases datos 2

Discos

• La elección de dispositivos de almacenamiento secundario

• Principal ventaja con respecto a las cintas: acceso aleatorio 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 un bloque de disco varía dependiendo de la ubicación en el disco. – Por lo tanto, la ubicación relativa de los bloques en

el disco tiene un impacto importante sobre el rendimiento de un DBMS!

Page 14: Diseño fisico bases datos 2

Mecanismo de Disco Duro

Page 15: Diseño fisico bases datos 2

Components of a Disk

Platters

Los platillos dan vueltas(120 rps).

Spindle

El conjunto de la palanca se mueve dentro o fuera de la posición de una cabeza en la pista deseada. Pistas bajo las cabezas hacen un cilindro (imaginario!).

Disk head

Arm movement

Arm assembly

Sólo una cabeza lee / escribe en un momento dado.

Tracks

Sector

Tamaño de Bloque es un múltiplo of Tamaño de sector (el cual es fijo).

Page 16: Diseño fisico bases datos 2

La cabeza de lectura y escritura Situado muy cerca de la superficie de los platos (casi lo

toca) La superficie del plato dividido en pistas circulares (tracks) Cada pista se divide en sectores.

Un sector es la unidad más pequeña de datos que pueden ser leídos o escritos.

Para leer / escribir un sector El brazo del disco cambia la posición de la cabeza al

track correcto plato gira sin cesar, los datos se lee / escribe a medida

que pasa el sector debajo de la cabeza Bloque: una secuencia de sectores Cilindro i consiste en la pista i de todos los platos

Page 17: Diseño fisico bases datos 2

Valores “Tipicos”Diametro: 1 pulgada 15 pulgadasCilindros : 100 2000Superficies:1 or 2(Tracks/cilindro) 2 (floppies) 30Tamaño de sector : 512B 50KCapacidad: 360 KB (old floppy)

300 GB

Page 18: Diseño fisico bases datos 2

Acceso a una página de disco • Tiempo de acceso (lectura / escritura) un bloque de

disco:– Tiempo de búsqueda (mover los brazos para posicionar el cabezal

de disco en la pista)– Retraso de rotación (esperar que rote el bloque debajo de la cabeza)– Tiempo de transferencia (movimiento de datos hacia y desde la

superficie del disco)• Tiempo de búsqueda y el retraso de rotación dominan.

– El tiempo de búsqueda varía entre 0,3 y 10 mseg – retraso de rotación varía de 0 a 6 mseg– Tasa de transferencia alrededor de 0,008 ms por bloque de

8K • La clave para bajar costos de E / S: reducir retrasos de

búsqueda/rotación!

Page 19: Diseño fisico bases datos 2

Ejemplo

ST3120022A  : Barracuda 7200.7    Capacidad:120 GB  Interfaz:  Ultra ATA/100    RPM: 7200 RPM   Tiempo de Busqueda: 8.5 ms promedio Tiempo de Latencia rotacional?:

7200/60 = 120 rotaciones/sec

1 rotacion en 8.3 ms => Entonces, Latencia Promedio= 4.16 ms

Page 20: Diseño fisico bases datos 2

Organizar las páginas en el disco

• Concepto del `Siguiente’ bloque : – bloques en la misma pista, seguido por– bloques de un mismo cilindro, seguido por – bloques de cilindros adyacentes

• Bloques en un archivo deben ser arreglados de forma secuencial en el disco (por próximo), para minimizar retrasos de búsqueda y rotación.

• Para un scan de secuencial, pre-fetching varias paginas a la vez es una gran victoria!

Page 21: Diseño fisico bases datos 2

E/S Aleatorio vs Secuencial

• Ej: 1 KB Bloque• Aleatorio E/S: 15 ms.• Secuencial E/S: 1 ms.

E/S Aleatorio : CostosoE/S Aleatorio : Costoso E/S Secuencial : Menos costoso~10-20 veces E/S Secuencial : Menos costoso~10-20 veces

Page 22: Diseño fisico bases datos 2

Gestión del espacio de disco

• La capa más baja del software DBMS administra el espacio en el disco.

• Los niveles más altos llaman a esta capa para: – asignar / de-asignar una página – lectura / escritura de una página

• Mejor si una solicitud de una secuencia de páginas se satisface con las páginas almacenadas de forma secuencial en el disco! – Responsabilidad del administrador de espacio en disco. – Los niveles más altos no saben cómo se hace esto, o

cómo se gestiona el espacio libre. – A pesar de que puede suponer el acceso secuencial de

los archivos! • Por lo tanto administrador de espacio de disco debe hacer un

trabajo decente.

Page 23: Diseño fisico bases datos 2

Medidas de rendimiento • El tiempo medio hasta el fallo (MTTF)(Mean

time to failure ) - el tiempo promedio que se espera que el disco corra de manera continua, sin ningún tipo de dano. – Por lo general 5 a 10 años – Probabilidad de fallo de los discos nuevos es

bastante baja, lo que corresponde a un "MTTF teórico" de 30.000 a 1.200.000 horas para un nuevo disco.

• Por ejemplo, un MTTF de 1.200.000 horas para un nuevo disco significa que, dados 1.000 discos relativamente nuevos, en promedio uno va a fallar cada 1200 horas.

– MTTF disminuye a medida que el disco aumenta su edad

Page 24: Diseño fisico bases datos 2

Resumen

• Los discos proporcionan almacenamiento barato, no volátil.– Acceso aleatorio, pero el costo depende de la

ubicación de la página en el disco; es importante organizar los datos de forma secuencial para reducir al mínimo los retrasos de búsqueda y rotación.