3.4. Espacios para objetos de la base de datos
PANORAMAGENERAL
En el nivel de almacenamiento, una base de datos está formada de registros físicos(también conocidos como bloques o páginas) organizados en archivos. Un
Registro físico
es un conjunto de bytes que se transfieren entre el almacenamiento volátil dela memoria principal y el almacenamiento fijo de un disco.
Un archivo
es un conjunto de registros físicos organizados para conseguir unacceso eficiente. La figura 8.1 ilustra las relaciones entre los
registros lógicos
(filas de una tabla) y registros físicos almacenados en un archivo.
Normalmente el DBMS y la aplicación tienen áreas de memoria separadas
Conocidas Como Buffers
.Cuando una aplicación hace una solicitud para un registro lógico, el DBMS ubicaal registro físico que lo contiene. En el caso de una operación de lectura, el sistema operativo transfiere el registrofísico del disco al área de memoria del DBMS. Después el DBMS transfiere elregistro lógico al búfer de la aplicación.El proceso de transferencia se invierte en el caso de una operación de escritura.
En general, el almacenamiento de los objetos de la base de datos (tablas e índices fundamentalmente) no se realiza sobre el archivo o archivos físicos dela base de datos, sino que se hace a través de estructuras lógicas dealmacenamiento que tienen por debajo a esos archivos físicos.
Esto es útil porque permite que a esos "espacios de objetos" les sean asociados nuevos dispositivos físicos (es decir, más espacio en disco) de forma dinámica cuando la base de datos crece de tamaño más de lo previsto. Una base de datos Oracle se compone lógicamente deTables paces
, y físicamente de datafiles
Tablespace
(espacio de tablas)Una base de datos se divide en unidades lógicas denominadas TABLESPACE. No es un archivo físico en el disco, simplemente es el nombre que tiene un conjunto de propiedades de almacenamiento que se aplican a los objetos (tablas,secuencias) que se van a crear en la base de datos bajo el tablespace indicado(tablas, secuencias).Un objeto en base de datos debe estar almacenado obligatoriamente dentro de untablespace.
Datafile
(archivo de datos)Un datafile es la
representación física de un tablespace
. Son los "archivosde datos" donde se almacena la información físicamente. Un datafile está asociado a un solo tablespace y, a su vez, un tablespace está asociado a uno o varios datafiles. Es decir, la relación lógica entre tablespaces y datafiles es de 1-N.
Segment
(segmento, trozo, sección)Es aquel espacio reservado dentro de un datafile, para ser utilizado por un solo objeto. Físicamente,
todo objeto en base de datos no es más que un segmento
(segmento,trozo, sección) dentro de un datafile.
El segmento es la representación física del objeto en base de datos
(el objeto no es más que una definición lógica).El espacio que realmente se ocupa dentro del datafile es el segment. Existen cuatro tipos de segmentos (principalmente):
Segmentos de TABLE: aquellos que contienen tablas
Segmentos de INDEX: aquellos que contienen índices
Segmentos de ROLLBACK: aquellos se usan para almacenar información de la transacción activa.
Segmentos TEMPORALES: aquellos que se usan para realizar operacionestemporales que no pueden realizarse en memoria, tales como ordenaciones oagrupaciones de conjuntos grandes de datos.
Extent
(extensión)Un segmento, a su vez, se compone de distintas
extensiones
. Un segmento, puede ser reservado de una sola vez (10 Mb de golpe),o de varias veces (5 Mb hoy y 5 Mb mañana). Cada una de las veces que se reserva espacio se denomina
“extensión”
INITIAL: estas son las extensiones que se reservan durante la creación del objeto.
NEXT: toda extensión reservada después de la creación del objeto.
Data block
(bloque de datos) Representa la mínima unidad de almacenamiento que es capaz de manejar Oracle. Igual que la mínima unidad de almacenamiento de un disco duro es la
unidad de asignación
, la mínima unidad de almacenamiento de Oracle es el data block.
En un disco duro no es posible que un fichero pequeño ocupe menos de lo que indique la unidad de asignación, así si la unidad de asignación es de 4 Kb, un fichero que ocupe1 Kb, en realidad ocupa 4 Kb. Cada segmento (o cada extensión) se almacena en uno ovarios bloques de datos.



Comentarios
Publicar un comentario