Gestión y Optimización de Archivos Redo Log e Índices en Bases de Datos

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,55 KB

Gestión y Funcionamiento de los Archivos Redo Log

En el sistema, existe un archivo de alertas que indica si son necesarios más grupos de redo log. Cuando se llena un grupo, se produce un evento denominado LOG FILE SWITCH o Intercambio de Archivo de Redo Log. El control se pasa al siguiente grupo hasta llegar al final de la cadena, momento en el cual se retorna al primer grupo y se sobrescriben los datos (comportamiento de buffer circular), perdiendo el registro de las transacciones previas.

Ficheros de Redo Log

El conjunto de ficheros de redo log se denomina Redo Log de la base de datos. La función principal del Redo Log es guardar todos los cambios realizados a los datos. Son críticos para la protección de la base de datos ante fallos, ya que se utilizan en caso de incidente para recuperar la información.

Componentes del Redo Log

  • Grupos: Funcionan como ficheros redo log normales. Uno de ellos está activo y el resto espera su turno. Su nombre lleva incorporada una numeración. Deben contener todos el mismo número de miembros.
  • Miembros: Cada escritura de un registro redo log se lleva a cabo en todos los miembros del grupo activo en ese momento. Los miembros deben cumplir las siguientes condiciones:
    • Tener el mismo tamaño y el mismo número de secuencia.
    • Deben tener nombres similares y estar ubicados en discos diferentes para proteger contra fallos de manera efectiva.

Optimización del Acceso a Datos Mediante Índices

Los índices son objetos que permiten acceder a la información más rápidamente. Se pueden crear sobre uno o varios campos. Aceleran las operaciones de búsqueda y se crean sobre los campos que se especifican en la cláusula WHERE de las consultas.

El Problema del Full Table Scan (FTS)

Sin índices, el Sistema Gestor de Base de Datos (SGBD) recorrerá la tabla completa, recuperando información que no es necesaria. Se extraerá entonces toda la información de los archivos de datos (DBF) y se llenará la Buffer Caché. A este proceso se le denomina FTS (Full Table Scan). Para evitar el FTS, es necesario crear índices.

Estructura y Funcionamiento de los Índices

Los índices se almacenan en forma de árbol. Oracle utiliza árboles binarios (enhebrados) en los que todos los nodos hijos están unidos mediante una lista doblemente enlazada para facilitar búsquedas por rangos. Para todos los nodos del árbol, los nodos de la izquierda son más pequeños que el nodo padre y los de la derecha son mayores.

Campos de un Índice

Cuando accedemos a un índice, este contiene dos campos principales:

  1. El valor buscado.
  2. El ROWID: Es el identificador de la fila donde se encuentra el dato buscado (actúa como un puntero a la posición exacta del registro en la tabla).

Cuándo Utilizar Índices

En tablas pequeñas, no compensa tener índices, ya que el coste de acceder al índice y luego a la tabla puede ser mayor que un FTS. A medida que el número de registros aumenta en una tabla, el acceso por índice gana significativamente al FTS.

Mantenimiento de Índices

Si no se mantienen los índices, los árboles pueden degradarse y convertirse en listas enlazadas, haciendo que el acceso sea similar a un FTS. En ese caso, será necesario reconstruir los índices para restaurar su eficiencia.

Entradas relacionadas: