Tema 3. Configuración y administración del espacio en disco

3.1 ESTRUCTURAS LOGICAS DE ALMACENAMIENTO.

Para la gestión del almacenamiento de una base de datos existen 4 conceptos bien definidos que deben ser conocidos para poder comprender la forma en la que se almacenan los datos. Vamos a ver la diferencia entre bloque, extensión, segmento y espacio de tablas.

Bloque: Se tratan de la unidad mas pequeña. Generalmente debe múltiple del tamaño de bloque del sistema operativo, ya que es la unidad mínima que va a pedir Oracle al sistema operativo. Si no fuera múltiple del bloque del sistema se añadirá un trabajo extra ya que el sistema deberá obtener mas datos de los estrictamente necesarios. Se especifica mediante DB_BLOCK_SIZE

Extensiones: Se forma con uno o mas bloques. Cuando se aumenta tamaño de un objeto se usa una extensión para incrementar el espacio.

Segmentos: Grupo de extensiones que forman un objeto de la base de datos, como por ejemplo una tabla o un índice.

Espacio en Tablas: Formado por uno o mas datafiles, cada datafile solo puede pertenecer a un determinado tablespace.



3.1.1  DEFINICION DE ESPACIO DE ALMACENAMIENTO.
Las bases de datos suelen ser creadas para almacenar grandes cantidades de datos de forma permanente. Por lo general, los datos almacenados en estas suelen ser consultados y actualizados constantemente. La mayoría de las bases de datos se almacenan en las llamadas memorias secundarias, especialmente discos duros, aunque, en principio, pueden emplearse también discos ópticos, memorias flash, etc. 

Definición de espacio de almacenamiento: Las razones por las cuales las bases de datos se almacenan en memorias secundarias son:

  • En general, las bases de datos son demasiado grandes para entrar en la memoria primaria.

  • La memoria secundaria suele ser mas barata que la memoria primaria (aunque esta ultima tiene mayor velocidad).

  • La memoria secundaria es mas útil para el almacenamiento de datos permanente, puesto que la memoria primaria es volátil.

3.1.2. DEFINICION Y CREACION DEL ESPACIO ASIGNADO PARA CADA BASE DE DATOS.
Las bases de datos se almacenan en ficheros o archivos, existen diferentes formas de organizaciones primarias de archivos que determinan la forma en que los registros de un archivo se colocan físicamente en el disco y, por lo tanto, como se accede a estos.  Las distintas formas de organizaciones primarias de archivos son:
  • Archivos de Montículos (o no Ordenados): esta técnica coloca los registros en el disco sin un orden especifico, añadiendo nuevos registros al final del archivo.
  • Archivos Ordenados (o Secuenciales): mantiene el orden de los registros con respecto a algún valor de algún campo (clave de ordenación).
  • Archivos de Direccionamiento Calculado: utilizan una función de direccionamiento calculado aplicada a un campo especifico para determinar la colocación de los registros en disco.
  • Arboles B: se vale de la estructura de árbol para las colocaciones de registros.

Existe una segunda forma de acceder a los datos llamada:
  • Organización secundaria o estructura de acceso auxiliar: Estas permiten que los accesos a los registros de un archivo basado en campos alternativos, sean mas eficientes que los que han sido utilizados para la organización primaria de archivos. 

3.1.3. BITACORAS.
La estructura mas amplia mente usada para grabar las modificaciones de la base de datos es la Bitácora. Cada registro de la bitácora escribe una  única escritura de base de datos y tiene lo siguiente: 
1. Nombre de la transacción: Nombre de la transacción que realizo la operación de escritura. 
2. Nombre del dato: El nombre único del dato escrito. 
3. Valor antiguo: El valor del dato antes de la escritura. 
4. Valor nuevo: El valor que tendrá el dato después de la escritura.


3.1.4 PARTICIONES.
Una partición es una división de una base de datos lógica o sus elementos constituyentes en partes independientes. La partición de bases de datos se hace normalmente por razones de mantenimiento, rendimiento o manejo. Cada partición puede ser extendida hasta múltiples nodos, y los usuarios en el nodo pueden hacer transacciones locales en la partición.
Esto aumenta el rendimiento en sitios que tienen transacciones regularmente involucrando ciertas vistas de datos, y manteniendo la disponibilidad y la seguridad. Esta partición puede hacerse creando bases de datos mas pequeñas separadas (cada una con sus propias tablas, índices, y registros de transacciones) o dividiendo elementos seleccionados, por ejemplo, solo una tabla.

3.1.5 ESPACIOS PRIVADOS. Un «espacio privado» permite que los administradores y redactores gestionen el conjunto de datos del sitio. Algunas bases de datos tienen estos espacios privados llamados comúnmente paneles de control, que son formularios que aparecen al abrir la base de datos. Los paneles de control sirven de "puerta principal" o "recibidor" de una base de datos en el sentido de que dirigen a las personas hacia determinadas tareas, como introducir o buscar datos. Sirven también para mantener alejados a los usuarios de las tablas que contienen los datos en tiempo real. Cuando reciba una base de datos, debe adentrarse mas allá del panel de control para averiguar como están estructurados los datos, pero merece la pena echar un vistazo inicial al panel de control. 

3.1.6 ESPACIOS PARA OBJETOS.
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 implicara la planificación para el almacenamiento real de la base de datos.
Algunas tecnologías de almacenamiento son mas adecuadas que otras. Sin embargo, la naturaleza mecánica de la unidad de disco los hace mas vulnerables al fracaso de los componentes de otro equipo. Además, las formas en que las unidades de disco son utilizados 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.

3.2  SEGMENTOS.
Un segmento contiene un tipo especifico de objetos de la base de datos, como por ejemplo una tabla. Un segmento esta compuesto de extensiones que definen el tamaño disponible para el segmento. 
A medida que se llenan las extensiones se van añadiendo nuevas extensiones, es aquel espacio reservado por la base de datos, dentro de un datafile, para ser utilizado por un solo objeto. Así una tabla (o cualquier otro objeto) esta dentro de su segmento, y nunca podrá salir de el, ya que si la tabla crece, el segmento también crece con ella.
Los segmentos son los equivalentes físicos de los objetos que almacenan datos. El uso efectivo de los segmentos requiere que el DBA conozca los objetos, que utiliza una aplicación, como los datos son introducidos en esos objetos y el modo en que serán recuperados. 
3.3. MEMORIA COMPARTIDA.

Un servidor Oracle es un sistema que permite administrar bases de datos y que ofrece un medio de gestión de información abierto, completo e integrado. Un servidor Oracle esta constituido de una instancia y una base de datos.
Instancia de Oracle: Una instancia de Oracle permite acceder a la base de datos Oracle y permite abrir únicamente una sola base de datos. La instancia de Oracle esta compuesta de procesos en segundo plano que administran y aplican las relaciones entre las estructuras físicas y las estructuras de memoria. 
Existen dos categorías:
  • Procesos en Segundo Plano Obligatorios: DBWN, PMON, CKPT, LGWR, SMON
  • Procesos en Segundo Plano Facultativos: ARCn, LMDn, RECO, CJQ0, LMON, Snnn, Dnnn, Pnnn, LCKn, QMNn

3.4. INSTANCIAS MULTIPLES.
Se llama instancia múltiple al hecho de poder ejecutar un programa mas de una vez al mismo tiempo. Hay programas que no admiten mas que una sola instancia, es decir que si ya se esta ejecutando, por mas que lo cliquees de nuevo en el icono o en el menú no aparecerá un nuevo ejemplar del programa. Con las bases de datos se complica un poco porque si un usuario modifica un registro que otro usuario tiene también abierto, la modificación que se haga en una instancia debe reflejarse de inmediato (actualizarse) en cualquier otra instancia abierta de la misma base de datos.
Sin embargo, en las bases de datos se puede seleccionar la opción en el diseño de la BD, y se reflejaran de inmediato las modificaciones en todas las instancias abiertas
En programación, una instancia se produce con la creación de un objeto perteneciente a una clase (se dice que se instancia la clase). El objeto que se crea tiene los atributos, propiedades y métodos de la clase a la que pertenece. Los objetos y sus características se usan en la construcción de programas, ya sea como contenedores de datos o como partes funcionales del programa. Los objetos también puede ser ocurrencia de las clases. 

Comentarios

Entradas más populares de este blog

Ejercicios en PyCharm

1.1 Aplicaciones gráficas por computadora.

Ensayo de lenguaje ensamblador