• No se han encontrado resultados

Organización y acceso a los datos

N/A
N/A
Protected

Academic year: 2022

Share "Organización y acceso a los datos"

Copied!
40
0
0

Texto completo

(1)

Organización y acceso a los datos

Bases de Datos 2 - Tecnologo de Informatica

(2)

Outline

1 Almacenamiento en disco Medios de almacenamiento

Dispositivos de almacenamiento secundario

2 Estructuras básicas de archivo Organización de Archivos

Organización de Registros en Archivos

(3)

Outline

1 Almacenamiento en disco Medios de almacenamiento

Dispositivos de almacenamiento secundario

2 Estructuras básicas de archivo Organización de Archivos

Organización de Registros en Archivos

(4)

Outline

1 Almacenamiento en disco Medios de almacenamiento

Dispositivos de almacenamiento secundario

2 Estructuras básicas de archivo Organización de Archivos

Organización de Registros en Archivos

(5)

Jerarquía de almacenamento

La colección de datos que constituye una BD debe almacenarse físicamente en unmedio de

almacenamiento.

Luego el DBMS puede recuperar, actualizar y procesar estos datos.

Los medios de almacenamiento forman una jerarquía de almacenamento.

1 Almacenamiento principal o primario

2 Almacenamiento secundario

3 Almacenamiento terciario

(6)

Almacenamiento principal o primario

Medios utilizados directamente por el CPU.

El principal es la memoria que es subdividida en una jerarquía.

Memoria caché, es una RAM estática. La utiliza el CPU para acelerar la ejecución de los programas. Es muy cara.

Memoria principal, es una DRAM (RAM dinámica). Área de trabajo de la CPU para almacenar programas y datos.

Tiene menor costo y es más lenta que la RAM estática.

En algunos casos, una BD pueden mantenerse totalmente en la memoria principal. Son útiles en aplicaciones de tiempo real.

(7)

Almacenamiento secundario y terciario

La principal opción para almacenamiento de BD online son losdiscos magnéticos.

Otra opción para almacenar información persistente son lasmemorias flash.

SSD (solid-state-drive).

Losdiscos ópticos y las cintas son utilizados en sistemas de almacenamiento offline. Son categorizados como almacenamiento tercieario.

Estos dispositivos tienen gran capacidad, cuestan poco y proporcionan un acceso más lento que los dispositivos de almacenamiento primarios.

Los datos no pueden ser procesados directamente por el CPU; primero deben copiarse en el almacenamiento principal.

(8)

Almacenamiento de bases de datos

Las BD normalmente almacenan grandes cantidades de datos.

La mayoría se almacenan de forma permanente (o persistentemente) en almacenamiento secundario de disco magnético debido a:

Son demasiado grandes para entrar en memoria.

Perdida de datos almacenados y almacenamiento no volátil.

Costo de almacenamiento.

Son dispositivos online.

(9)

Outline

1 Almacenamiento en disco Medios de almacenamiento

Dispositivos de almacenamiento secundario

2 Estructuras básicas de archivo Organización de Archivos

Organización de Registros en Archivos

(10)

Dispostivos de disco

Discos magnéticos

Disco Duro (HDD por hard disk drive) es un dispositivo que contiene discos magnéticos.

Su unidad básica es el bit. La información es codificada en bytes, comunmente de a 8 bits c/byte.

La información se almacena enbloques de disco (o páginas). Un bloque es una secuencia de sectores de una misma pista/track del disco. Las pistas de varios discos forman un cilindro (ver imagen).

La dirección de hardware de un bloque es una

combinación de número de cilindro, número de pista y número de bloque.

(11)

Dispostivos de disco

Figura :Elmasri edición 7, fig. 16.1

(12)

Bloques de disco

La transferencia de datos entre la memoria principal y el disco tiene lugar en unidades de bloques de disco.

El rango de tamaños varia de 512 bytes a varios kilobytes por bloque.

Se puede indicar la cantidad de bloques por pista al formatear el disco.

Bloques pequeños: más transferencias desde el disco.

Bloques más grandes: más espacio desperdiciado.

Tamaño típico oscila entre 4 y 16 KB.

(13)

Buffer y Buffer Manager

Los sistemas de BD buscan minimizar el número de bloques o páginas tranferidos entre el disco y la memoria.

Podemos reducir el número de accesos a disco

manteniendo en memoria principal tantos bloques como sea posible.

Buffer es una porción de la memoria principal disponible para almacenar copias de bloques de disco.

Se llamaBuffer manager al subsistema del DBMS responsable de la asignación de espacio del buffer.

El buffer manager ve la memoria principal disponible como un buffer pool. El tamaño del buffer pool es tipicamente un parámetro del DBMS controlado por el DBA.

(14)

Buffer Manager

Los programas llaman al buffer manager cuando necesitan un bloque de disco.

1 Si el bloque está en el buffer, el buffer manager retorna la dirección en memoria principal del bloque.

2 Si el bloque no está en el buffer, el buffer manager:

1 Asigna espacio en el buffer para el bloque.

1 Reemplaza algún otro bloque, de ser necesario, para hacer lugar al nuevo bloque utilizando una política de reemplazo.

2 Un bloque reemplazado es escrito a disco si fue modificado desde la última vez que fue escrito o recuperado del disco (dirty bit on).

2 Lee el bloque del disco al buffer y retorna la dirección en memoria principal del bloque a quien lo solicitó.

(15)

Buffer Manager

Políticas de reemplazo

Least recently used (LRU). Se elige para reemplazo la página que no ha sido utilizada por el período más largo.

Clock policy. Se marca cada buffer con un 0 o 1

dependiendo de su uso. Se busca en recorrida round-robin el primer buffer que tenga valor 0 para su reemplazo.

First-in-first-out (FIFO). Se elige el buffer que ha estado ocupado más tiempo por una página. Requiere menos mantenimiento que LRU.

Pinned block. Bloques de memoria que no está permitido bajarlos a disco.

(16)

Buffer Manager

Políticas de reemplazo

Las políticas LRU y Clock no son las mejores para

aplicaciones de BD que requieren recorridas secuenciales de datos y el archivo no entra completamente en el buffer.

Políticas como FIFO pueden modificarse para asegurar que bloques marcados/pinned, como bloques raiz de un índice, permanezcan en el buffer.

En algunas situaciones puede forzarse la escritura a disco incluso cuando no es necesario el espacio ocupado. Ej.

registros de log.

Hay mas estrategías de reemplazo. EjMRU (most recently used).

(17)

Subsistema de disco

Interfacing Disk Drives to Computer Systems

Múltiples discos están conectados al sistema computador a través delcontrolador de disco.

Familias de estandar de interfaces de disco:

SATA (Serial ATA); dtr 150 MB/s.

SCSI (Small Computer System Interconnect) SAS (Serial Attached SCSI); dtr 3 a 6 Gb/s.

Otras variantes de cada standard.

(18)

Subsistema de disco

Comunmente el controlador está incluido en el disco (DAS, Direct Attached Storage).

En unStorage Area Networks (SAN), un gran número de discos (LUN, Logical Unit Number) están conectados por una red de alta velocidad a un números de servidores.

En unNetwork Attached Storage (NAS) el storage conectado en red provee una interfaz de sistema de archivos (file system) utilizando un protocolo de red de sistema de archivos (NFS), en lugar de proveer un sistema de interfaz de disco.

(19)

Dispositivos de cinta magnética

Acceso a los bloques de datos enorden secuencial.

Los discos son almacenamiento deacceso aleatorio porque cualquier bloque puede ser accedido de forma aleatoria conocida su dirección.

En una cinta para acceder al n-ésimo bloque deben recorrerse los n-1 bloques anteriores.

Utilizados principalmente para la copia de seguridad de la base de datos, para archivar información y como medio para transferencia de informacón de un sistema a otro.

Tape jukeboxes son sistemas que almacenan de cientos de terabytes hasta varios petabytes.

Ejemplos:

LTO-6, 2.5-TB , dtr 160 MB/s. 80 segundos de promedio de busqueda.

T10000D de Oracle/StorageTek, 8.5 TB, dtr 252 MB/s.

(20)

Outline

1 Almacenamiento en disco Medios de almacenamiento

Dispositivos de almacenamiento secundario

2 Estructuras básicas de archivo Organización de Archivos

Organización de Registros en Archivos

(21)

Outline

1 Almacenamiento en disco Medios de almacenamiento

Dispositivos de almacenamiento secundario

2 Estructuras básicas de archivo Organización de Archivos

Organización de Registros en Archivos

(22)

Organización de Archivos

La base de datos es almacenada como una colección de archivos. Cada archivo es una secuencia de registros. Un registro es una secuencia de campos.

Un enfoque:

Asumir que el tamaño/largo del registro es fijo.

Cada archivo tiene registros solo de un tipo.

Diferentes archivos son utilizados para diferentes relaciones.

Este caso es fácil de implementar. Luego vemos otros casos.

(23)

Registros de largo fijo

Enfoque simple:

El registro almacenado i empieza en el byte n*(n-1), donde n es el tamaño de cada registro.

Acceder al registro es simple pero los registros pueden cruzar bloques.

Hay varias alternativas al borrar un registro i:

Mover los registros i+1,...,n a i,...,n-1.

Mover el registro n a i.

No mover registros pero mantener links a todos los registros libres (free list).

(24)

Registros de largo fijo

Borro registro 3 y compacto

(25)

Registros de tamaño fijo

Borro registro 3 y muevo el último

(26)

Registros de largo fijo

Free List

Almaceno la dirección del primer registro borrado en el cabezal del archivo.

Uso el dicho registro para almacenar la dirección del seegundo registro borrado y así sucesivamente.

(27)

Registros de largo variable

Un sistema de BD puede utilizarregistros de largo variable por varias razones:

Alamacena varios tipos de registro en un archivo.

Los tipos de registro permiten largos variables para uno o más campos (ej. varchar).

Los registros de un archivo son del mismo tipo, pero uno o más campos son opcionales; es decir, pueden incluir valores para algunos registros pero no todos (campos opcionales).

Los atributos son almacenados en orden.

Cada registro tiene un valor para cada campo.

Valores Null son representados con null-value bitmap.

Pueden utilizarse caracteres separadores especiales para finalizar los campos de largo variable o podemos

almacenar el largo del campo (offset y largo).

(28)

Registros de largo variable

Formatos de registros

(29)

Outline

1 Almacenamiento en disco Medios de almacenamiento

Dispositivos de almacenamiento secundario

2 Estructuras básicas de archivo Organización de Archivos

Organización de Registros en Archivos

(30)

Organización de Registros en Archivos

Organizaciones principales de ficheros que determinan la colocación física (organización) de los registros del fichero en el disco y cómo se puede acceder a ellos (métodos de acceso).

Típicas operaciones sobre archivos: open, reset, find (locate), read (get), findnext, delete, modify, insert, close.

Una organización de archivos exitosa debe llevar a cabo las operaciones que esperan aplicarse frecuentemente sobre le archivo de la manera más eficiente posible.

Un archivo puede almacenarse una sola vez utilizando una organización particular. El DBA puede tomar decisiones de diseño

(31)

Organización de Registros en Archivos

Fichero Heap (fichero desordenado). Un registro puede ubicarse en el archivo en donde haya espacio. Sin orden particular.

Fichero Secuencial (fichero ordenado). Registros almacenados en orden secuencial basado en el valor de un campo particular de cada registro.

Fichero Disperso (Hashing). Una función de hash aplicada sobre algún atriuto de cada registro; el resultado especifica en cual bloque del archivo debe ubicarse el registro.

Registros de cada relación pueden almacenarse en archivos separados. En unamultitable clustering file organization registros de diferentes relaciones pueden almacenarse en el mismo archivo.

Motivación: almacenar registros relacionados en el mismo bloque para minimizar I/O.

(32)

Organización de Registros en Archivos

Blocking factor

Los tamaños de un registro puede ser más grande o pequeño que el tamaño del bloque. Para registros de largo fijo con tamaño R bytes y siendo B el tamaño del bloque, con B>=R, pueden entrar bfr = [B/R]) registros.

bfr es llamado elblockin factor para un archivo.

Notar que la división de los bloques en registros no es exacta.

(33)

Organización Expandidad y No expandida

Para aprovechar el espacio no utilizado podemos

almacenar parte de un registro en un bloque y el resto en otro.

Un puntero en el final del primer bloque apunta al bloque que contiene el resto del registro.

Esta organización es dice que esexpandida (spanned).

Cuando R>B, debemos utilizar una organización expandida.

Si no está permitido que los registro crucen bloques, la organización se dice que esno expandida (unspanned).

(34)

Organización Expandidad y No expandida

Figura :Elmasri edición 7, fig. 16.6

(35)

Fichero Heap

Fichero desordenado

Es el tipo de organización más simple y básico.

Los registros son ubicados en el archivo en el orden en que son insertados. Nuevos registros son insertados al final del archivo.

También es conocido como fichero de pila.

Insertar un nuevo registro es muy eficiente. El último bloque de disco del archivo es copiado en el buffer, se agrega el registro y el bloque es reescrito en disco.

Labúsqueda por condición requiere llevar a cabo una búsqueda lineal del archivo bloque por bloque.

(36)

Fichero Heap

Fichero desordenado

Paraborrar un registro se debe encontrar el bloque, copiarlo en el buffer, borrar el registro del buffer y reescribir el bloque en disco.

Esto deja espacio no utilizado en los bloques de disco.

Borrar muchos registros resulta en un desperdicio de espacio almacenamiento.

Se requiere un reorganización periodica del archivo para reclamar el espacio no utilizado.

Otra posibilidad es utilizar el espacio de registros borrados para almacenar nuevos registros.

(37)

Fichero Secuencial

Organización Secuencial

Es útil para aplicaciones que requieren procesamiento secuencial de los archivos completos.

Los registros en el archivo son ordenados por la clave de ordenación/búsqueda (campo particular).

Los ficheros secuenciales se pueden agrupar y almacenar en cilindros continuos para minizar tiempos de búsqueda en disco.

(38)

Fichero Secuencial

Insertar y borrar registros son operaciones costosas porque el archivo debe permanecer ordenado.

Borrado. Utiliza cadenas de punteros.

Inserción. Ubica la posición donde debe insertarse el registro.

Si hay espacio libre es insertado ahí.

Si no hay espacio libre, es insertado en unbloque overflow.

En cualquier caso, la cadena de puntero debe ser actualizada.

Se requiere reorganizar el archivo de vez en cuando para restaurar el orden secuencial.

(39)

Multitable Clustering File Organization

Almacena varias relaciones en un mismo archivo utilizando multitable clustering File organization Departamento

Instructor

Multitable clustering de Departamento y Instructor

(40)

Multitable Clustering File Organization

Es una buena organización para consultas que involucren operaciones Join entre departamento e instructor, y para consultas que involucren un departamento y sus

instructores.

Es mala para consultas que involucren solo departamentos

Se puede argegar cadenas de punteros para linkear registros de una relación particular.

Referencias

Documento similar

Internacional son una referencia para los profesionales y empresas de tecnología y comercio de frutas, hortalizas, flores y viveros en todo el mundo.. QCj es la revista

El tamaño del efecto varió entre las diferentes variables, en concreto el tamaño del efecto fue grande en las escalas de bienestar psicológico autoaceptación,

aceptado sino muy parcial y matizadamente, y aun prescindiendo también de que incluso aquellos autores que intentan explicar las relaciones inter- normativas con apoyo en

1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en

Las características del trabajo con grupos que se debería llevar a cabo en los Servicios Sociales de Atención Primaria (SSAP), en términos de variabilidad o estabilidad

I. Cuando se trate de personas físicas, el nombre, la nacionalidad y el domicilio del postor y, en su caso, la clave del Registro Federal de Contribuyentes; tratándose

En este sentido, los mencionados Autos prosiguen en el mismo Funda- mento señalando que «desconocer e inadmitir como norma generalizada los escritos de denuncias presentadas por

Es importante tener en consideración que en menores es más nocivo su consumo pues su organismo está inmaduro; afecta más a personas de menor peso; las mujeres lo metabolizan