Diseño fisico bases datos 2
Transcript of Diseño fisico bases datos 2
Almacenamiento de Datos: Discos y Archivos
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
CPU
C M
ComputadoraTípica
AlmacenamientoSecundario
......
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
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
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
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
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)
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
Discos, Memoria, y Archivos
Query Optimizationand Execution
Relational Operators
Files and Access Methods
Buffer Management
Disk Space Management
DB
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!
¿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)
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!
Mecanismo de Disco Duro
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).
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
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
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!
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
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!
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
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.
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
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.