3.4. Espacios para objetos de la base de datos.

3.4. Espacios para objetos de la base de datos.

Los DBMS se basan en archivos para almacenar datos, y estos archivos, o conjuntos de datos, residen en medios de almacenamiento, o dispositivos. Una buena parte del trabajo del DBA implicará la planificación para el almacenamiento real de la base de datos. El rendimiento de la base de datos depende de la entrada y salida a disco. La cantidad de datos almacenados es mayor que nunca antes, y los datos son almacenados por más tiempo.

Algunas tecnologías de almacenamiento son más adecuadas que otras. Sin embargo, la naturaleza mecánica de la unidad de disco los hace más vulnerables al fracaso de los componentes de otro equipo. Además, las formas en que las unidades de disco son utilizadas por las bases de datos pueden hacer que la gestión del almacenamiento impredecibles, como la barra lateral "Modern DBMS de uso de disco “Puede usarse RAID para mejorar la seguridad de los datos.

Para aplicaciones de misión crítica la integridad de los datos puede ser más importante que la disponibilidad de datos. Si el soporte es poco fiable y un fallo de las causas de corrupción de datos, los datos perdidos pueden ser más de un problema que el tiempo de inactividad. Es imperativo, por tanto, que las soluciones de almacenamiento de base de datos para protegerlos a toda costa. La recuperación de datos
desde medios de almacenamiento lleva mucho más tiempo en completarse que la recuperación de datos desde la memoria caché o la memoria.

Algunos DBMS permiten al tamaño de los archivos temporales de expandirse y contraerse de forma automática. Dependiendo del tipo y la naturaleza de las operaciones de base de datos en proceso, esta fluctuación puede provocar picos de uso del disco.

El crecimiento de la capacidad de almacenamiento aumenta aún más la complejidad de la gestión de datos y bases de datos. Muchas organizaciones están implementando nuevas tecnologías de almacenamiento, tales como almacenamiento en red (NAS) y redes de área de almacenamiento (SAN), para ayudar a controlar la cantidad cada vez mayor de almacenamiento necesario para los usos modernos. La gestión del almacenamiento en el entorno dinámico de hoy es una tarea difícil DBA. Hay muchos problemas de almacenamiento que deben ser resueltos antes de que un DBA pueda crear una base de datos. Uno de los temas más importantes es la cantidad de espacio para permitir la base de datos

El cálculo espacial debe tener en cuenta no sólo tablas, índices, sino también, y dependiendo del DBMS, el registro de transacciones. Cada una de estas entidades probablemente requerirá un archivo separado o conjunto de datos, para el almacenamiento persistente. El DBA debe separar en diferentes discos a los archivos para:
  • Mejorar el rendimiento
  • Separar índices de datos
  • Aislar los logros en otro disco

Panorama General

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 de la memoria principal y el almacenamiento fijo de un disco. Un archivo es un conjunto de registros físicos organizados para conseguir un acceso 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 ubica al registro físico que lo contiene. En el caso de una operación de lectura, el sistema operativo transfiere el registro físico del disco al área de memoria del DBMS. Después el DBMS transfiere el registro 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 de la base de datos, sino que se hace a través de estructuras lógicas de almacenamiento 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 de tablespaces y físicamente de data files.



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 un tablespace.



Datafile (archivo de datos).

Un datafile es la representación física de un tablespace. Son los "archivos de 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 operaciones temporales que no pueden realizarse en memoria, tales como ordenaciones o agrupaciones 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 o varios bloques de datos.



    






Comentarios