publicado por Luis Daniel A. el 4 de Agosto, 2021.
Introducción
En este tema abordaremos lo que son los archivos log del SGBD, que no son más que ficheros donde se guardan operaciones importantes, estos son de gran importancia debido a que si surge algún error en determinado software, programa o página web nos sirven para poder analizar dichos errores, cabe mencionar que así mismos nos ayudan a gestionar lo que son los usuarios; así mismo veremos lo que son modos de operación de un SGBD y comandos de activación, como bien sabemos un archivo su tiempo de vida es que inicia cuando se crea y se termina cuando se elimina o se desecha, estos contienen sus principales operaciones o como altas (insert) y bajas (delete), y así mismo los backups y recuperación que la principal idea es proteger los datos de la bases de datos, si en dado caso existe una eliminación, para no volver a crear de nuevo dicha base de datos. Los índices en las bases de datos son los que nos sirven como un identificativos en una tabla y nos ahorran o no reducen el tiempo de búsqueda de algún registro en específico, en la reorganización se debe cuidar cada que se hace la fragmentación de índices para que se siga conservando de manera óptima.
4.1 Archivos log del SGBD.
Cuando trabajas frente al ordenador, navegas en tu tablet u óperas una página web desde un servidor, tienen lugar numerosos procesos que pasan inadvertidos ante cualquier usuario. En caso de que se presenten problemas, se produzcan errores o quieras conocer exactamente qué acciones ejecutan los sistemas operativos o los diferentes programas o servicios, puedes acceder a los llamados archivos log, en español ficheros de registro. Estos “logs” son gestionados por prácticamente todas las aplicaciones, servidores, bases de datos y sistemas de manera automática y permiten controlar (de forma centralizada) todos los procesos relevantes. En general, los ficheros log no suelen evaluarse frecuentemente, pues cumplen una función similar a la de un registrador de vuelo que es inspeccionado solo en caso de emergencia. Como consecuencia del registro detallado de datos de los logs, estos son una fuente primordial a la hora de analizar errores de programa o del sistema, así como para determinar el comportamiento de los usuarios. Esto no solo resulta interesante para los fabricantes de software, sino también para propietarios de páginas web, quienes pueden acceder a información interesante desde los archivos de registro del servidor web.
4.2 Definición de los modos de operación de un SGBD. (alta, baja, recovery) y comandos de Activación.
La vida de todo archivo comienza cuando se crea y acaba cuando se borra. Durante su existencia es objeto de constante procesamiento, que con mucha frecuencia incluye acciones de consulta o búsqueda y de actualización. En el caso de la estructura archivos, entenderemos como actualización, además de las operaciones, vistas para vectores y listas enlazadas, de introducir nuevos datos (altas) o de eliminar alguno existente (bajas), la modificación de datos ya existentes, (operación muy común con datos almacenados). En esencia, es la puesta al día de los datos del archivo.
- Altas
La operación de dar de alta un determinado registro es similar a la de añadir datos a un archivo. Es importante remarcar que en un archivo secuencial sólo permite añadir datos al final del mismo. En otro caso, si se quiere insertar un registro en medio de los ya presentes en el archivo, sería necesaria la creación nueva del archivo.
- Bajas
- Utilizar y por tanto crear un segundo archivo auxiliar transitorio, también secuencial, copia del que se trata de actualizar. Se lee el archivo completo registro a registro y en función de su lectura se decide si el registro se debe dar de baja o no. En caso afirmativo, se omite la escritura en el archivo auxiliar. Si el registro no se va a dar de baja, este registro se reescribe en el archivo auxiliar. Tras terminar la lectura del archivo original, se tendrán dos archivos: original (o maestro) y auxiliar. El proceso de bajas del archivo concluye borrando el archivo original y cambiando el nombre del archivo auxiliar por el del inicial.
- Guardar o señalar los registros que se desean dar de baja con un indicador o bandera que se guarda en un array; de esta forma los registros no son borrados físicamente, sino que son considerados como inexistentes. Inevitablemente, cada cierto tiempo, habrá que crear un nuevo archivo secuencial con el mismo nombre, en el que los registros marcados no se grabarán.
- Backup y Recuperación.
Como administrador de copias de seguridad, la tarea principal es diseñar, implementar y gestionar una estrategia de backup y recuperación. En general, el propósito de una estrategia de recuperación de copia de seguridad es para proteger la base de datos contra la pérdida de datos y reconstruir la base de datos después de la pérdida de datos.
- Normalmente, las tareas de administración de seguridad son las siguientes:
- Planificación y probar las respuestas a diferentes tipos de fallas.
- Configuración del entorno de base de datos de copia de seguridad y recuperación.
- La creación de un programa de copia de seguridad.
- Seguimiento de la copia de seguridad y entorno de recuperación.
- Solución de problemas de copia de seguridad.
- Para recuperarse de la pérdida de datos en caso de necesidad.
Como administrador de copia de seguridad, es posible que se le pida que realice otros deberes que se relacionan con copia de seguridad y recuperación:
- La preservación de datos, lo que implica la creación de una copia de base de datos para el almacenamiento a largo plazo.
- La transferencia de datos, lo que implica el movimiento de datos de una base de datos o un host a otro.
1.1 Backup lógico.
Este tipo de backup exporta la estructura de las tablas y los datos sin copiar los archivos de datos reales de la base de datos. Por ejemplo, el comando mysqldump realiza un backup lógico, porque exporta las tablas y los datos mediante las sentencias SQL CREATE TABLE e INSERT.
Este tipo de backup ofrece más flexibilidad que el backup físico ya que podemos editar las tablas y los datos antes de restaurar la copia de seguridad, pero tiene el inconveniente de que puede necesitar más tiempo que el backup físico a la hora de restaurar la copia.
1.2 Backup físico
Este tipo de backup realiza una copia de los archivos de datos reales de la base de datos. Por ejemplo, podemos usar mysqlbackup para bases de datos InnoDB y mysqlhotcopy para MyISAM. Este tipo de backup permite restaurar una copia de la base de datos mucho más rápido que el backup lógico.
Las utilidades mysqlbackup y mysqlhotcopy sólo están disponibles en la herramienta MySQL Enterprise Backup que está incluida en MySQL Enterprise Edition.
1.3 mysqldump
La utilidad mysqldump permite realizar backups lógicos de una base de datos MySQL.
Existen tres formas de usar mysqldump:
- para exportar una o varias tablas de una base de datos,
- para exportar una o varias bases de datos completas,
- para exportar todas las bases de datos completas.
Ejemplo:
- Comandos STARTUP
Para el arranque de una base de datos hay tres fases de arranque, para realizar estas fases podemos utilizar startup más un comando, las tres fases son las siguientes:
Fase de no Montaje: se leen los parámetros del sistema, se inician las estructuras de memoria y los procesos de segundo plano. La instancia se arranca sin asociarla a la base de datos.
Normalmente se utiliza cuando se modifica o se necesita crear el archivo de control:
startup nomount ;
1. Fase de Montaje: se asocia la instancia con la base de datos. Se usa el archivo de parámetros para localizar los archivos de control, que contienen el nombre de los archivos de datos y los registros rehacer. Los archivos de datos y los registros de rehacer no están abiertos, así que no son accesibles por usuarios finales para tareas normales.
Para realizar esta fase se pueden utilizar dos comandos:
startup mount;
alter database mount;
2. Fase de Apertura: se abren los archivos de datos y los registros rehacer. La base de datos queda disponible para las operaciones normales. Es necesario que existan registros rehacer de lo contrario si no hay registros usamos el comando resetlogs, que crea registros nuevos.
Para esta fase se pueden usar el comando:
startup open;
4.3 Índices, reorganización y reconstrucción
- Índices
El índice de una base de datos es una estructura alternativa de los datos en una tabla. El propósito de los índices es acelerar el acceso a los datos mediante operaciones físicas más rápidas y efectivas. En pocas palabras, se mejoran las operaciones gracias a un aumento de la velocidad, permitiendo un rápido acceso a los registros de una tabla en una base de datos. Al aumentar drásticamente la velocidad de acceso, se suelen usar sobre aquellos campos sobre los cuáles se hacen búsquedas frecuentes.
Tipos de Índices
Un índice es una estructura opcional, asociado con una mesa o tabla de clúster, que a veces puede acelerar el acceso de datos. Mediante la creación de un índice en una o varias columnas de una tabla, se obtiene la capacidad en algunos casos, para recuperar un pequeño conjunto de filas distribuidas al azar de la tabla. Los índices son una de las muchas formas de reducir el disco I / O. Si una tabla de montón organizada no tiene índices, entonces la base de datos debe realizar un escaneo completo de tabla para encontrar un valor. Por ejemplo, sin un índice, una consulta de ubicación 2700 en la tabla hr.departments requiere la base de datos para buscar todas las filas de cada bloque de la tabla para este valor. Este enfoque no escala bien como datos de aumento de volúmenes.
Los índices tienen las siguientes propiedades:
- Facilidad de Uso
Los índices son utilizables (por defecto) o inutilizable. Un índice inutilizable no se mantiene por las operaciones DML y es ignorado por el optimizador. Un índice inutilizable puede mejorar el rendimiento de las cargas a granel. En lugar de dejar un índice y luego volverlo a crear, puede hacer que el índice sea inservible y luego reconstruirlo. Índices inutilizables y las particiones de índice no consumen espacio. Cuando usted hace un índice utilizable no utilizable, la base de datos cae su segmento de índice.
- Visibilidad
Los índices son visibles (por defecto) o invisibles. Un índice invisible se mantiene por las operaciones DML y no se utiliza de forma predeterminada por el optimizador. Cómo hacer una invisible índice es una alternativa a lo que es inutilizable o se caiga. Índices invisibles son especialmente útiles para probar la eliminación de un índice antes de dejarlo caer o mediante índices temporalmente sin afectar a la aplicación general.
- Teclas y Columnas
Una clave es un conjunto de columnas o expresiones en las que se puede construir un índice. Aunque los términos se usan indistintamente, los índices y las claves son diferentes. Los índices son estructuras almacenados en la base de datos que los usuarios a administrar el uso de sentencias de SQL. Las claves son estrictamente un concepto lógico.
La siguiente sentencia crea un índice en la columna customer_id de la muestra oe.orders tabla:
CREATE INDEX ord_customer_ix ON orders (customer_id);
En la declaración anterior, la columna customer_id es la clave de índice. El índice en sí se llama ord_customer_ix.
- Índices Compuestos
Un índice compuesto, también llamado índice concatenado, es un índice de varias columnas de una tabla. Las columnas de un índice compuesto que deben aparecer en el orden que tenga más sentido para las consultas que recuperar datos y no necesita ser adyacente en la tabla.
Los índices compuestos pueden acelerar la recuperación de datos para las instrucciones SELECT en la que el DONDE referencias cláusula totalidad o la parte principal de las columnas en el índice compuesto. Por lo tanto, el orden de las columnas utilizadas en la definición es importante. En general, las columnas de acceso más común van primero.
- Tipos de Índices
Base de Datos Oracle ofrece varias combinaciones de indexación, que proporcionan una funcionalidad complementaria sobre el rendimiento. Los índices se pueden clasificar de la siguiente manera:
1. Los Índices de Árbol B
Estos índices son el tipo de índice estándar. Son excelentes para la clave principal y los índices altamente selectivos. Utilizado como índices concatenados, B-tree índice puede recuperar los datos ordenados por las columnas de índice. Índices B-tree tienen los siguientes subtipos:
1.1 Índice de Tablas Organizadas
Una tabla de índice-organizada difiere de un montón-organizado porque los datos son en sí mismo el índice.En este tipo de índice, los bytes de la clave de índice se invierten, por ejemplo, 103 se almacena cómo 301. La inversión de bytes extiende inserta en el índice durante muchosbloques.
1.2 Índices Descendentes
Este tipo de índice almacena los datos en una columna o columnas de concreto en orden descendente.
1. 3 Índices B-Tree de Racimo
Este tipo de índice se utiliza para indexar una clave de clúster tabla. En lugar de apuntar a una fila, los puntos clave para el bloque que contiene filas relacionadas con la clave de clúster.
1.4 Mapa de Bits y los Índices Bitmap Join
En un índice de mapa de bits, una entrada de índice utiliza un mapa de bits para que apunte a varias filas. En cambio, los puntos de entrada de un índice B-tree en una sola fila. Un índice de combinación de mapa de bits es un índice de mapa de bits para la unión de dos o más tablas. Consulte "Indicadores de mapa de bits".
1.5 Índices Basados en Funciones
Este tipo de índice incluye columnas que, o bien se transforman por una función, tales como la función UPPER, o incluidos en una expresión. Índices B-tree o mapa de bits puede ser basado en las funciones.
1.6 Índices de Dominio de Aplicación
Este tipo de índice se crea por un usuario para los datos en un dominio específico de la aplicación. El índice físico no tiene que utilizar una estructura de índice tradicional y se puede almacenar ya sea en la base de datos Oracle como tablas o externamente como un archivo. Consulte "Indicadores de dominio de aplicación".
1.7 Índices B-Tree
Árboles B, abreviatura de árboles balanceados, son el tipo más común de índice de base de datos. Un índice B-tree es una lista ordenada de valores dividida en rangos. Mediante la asociación de una tecla con una fila o rango de filas, los árboles B proporcionan un excelente rendimiento de la recuperación para una amplia gama de consultas, incluyendo coincidencia exacta y búsquedas por rango.
- Reorganización de Índices
Un factor clave para conseguir una E/S de disco mínima para todas las consultas de bases de datos es asegurarse de que se creen y se mantengan buenos índices. Una vez creados los índices, se debe procurar mantenerlos para asegurarse que sigan trabajando en forma óptima. A medida que se agregan, modifican o borran datos se produce fragmentación. Esta fragmentación puede ser buena o mala para el rendimiento del sistema, dependiendo de las necesidades del trabajo de la base de datos.
1. Fragmentación de los Índices
La fragmentación es consecuencia de los procesos de modificación de los datos (instrucciones INSERT, UPDATE y DELETE) efectuados en la tabla y en los índices definidos en la tabla. Como dichas modificaciones no suelen estar distribuidas de forma equilibrada entre las filas de la tabla y los índices, el llenado de cada página puede variar con el paso del tiempo. Para las consultas que recorren parcial o totalmente los índices de una tabla, este tipo de fragmentación puede producir lecturas de páginas adicionales. Esto impide el recorrido paralelo de los datos.
Existen dos tipos de fragmentación:
1.1 Interna: Fragmentación dentro de páginas individuales de datos e índices con espacios libres que generan la necesidad de más operaciones de E/S y más memoria para su lectura. Este hecho disminuye el rendimiento en ambientes de lectura, pero en algunos casos puede beneficiar las inserciones, que no requieren una división de páginas con tanta frecuencia.
1.2 Externa: Cuando el orden lógico de las páginas no es correcto, porque las páginas no son contiguas. El acceso a los datos es mucho más lento por la necesidad de búsqueda de los datos.
La fragmentación de índices se puede reparar reorganizando un índice o reconstruyéndolo. Para los índices fraccionados que fueron construidos en una estructura partida se puede usar cualquiera de estos métodos o bien en un índice completo o bien en un único fragmento del índice.
2. Detección de Fragmentación
El primer paso para decidir qué método de desfragmentación se va a utilizar consiste en analizar el índice para determinar el nivel de fragmentación. Si se usa la función del sistema sys.dm_db_index_physical_stats, se puede detectar la fragmentación de los índices de la base de datos thuban-homologada.
SELECT DISTINCT A.INDEX_ID 'IDIndice', sys.TABLES.name 'Tabla',b.name 'Indice',avg_fragmentation_in_percentr '% Fragmentación',fragment_count 'Cantidad de Fragmentos',avg_fragment_size_in_pages 'Promedio defragmentos por página', FROM sys.dm_db_index_physical_stats (DB_ID ()N'thuban-himologada'), OBJECT_ID (N'dbo.*'), NULL, NULL, NULL) AS a JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id, sys.TABLES WHERE sys.TABLES.object_id = b.object_id ORDER BY avg_fragmentation_in_percent DESC;
3. Reorganización de Índices
Para reorganizar uno o más índices se debe usar la sentencia ALTER INDEX con la cláusula REORGANIZE. Por ejemplo:
ALTER INDEX PK_LOGS ON THUBAN_LOGS REORGANIZE
El proceso de reorganización de índices se realiza siempre en línea y el consumo de recursos es bajo por lo que no mantiene bloqueos por mucho tiempo.
- Reconstrucción de Índices
Es importante periódicamente examinar y determinar qué índices son susceptibles de ser reconstruidos. Cuando un índice está descompensado puede ser porque algunas partes de éste han sido accedidas con mayor frecuencia que otras. Como resultado de este suceso podemos tener problemas de contención de disco o cuellos de botella en el sistema. Normalmente reconstruimos un índice con el comando ALTER INDEX.
Conclusión
Detrás del funcionamiento de múltiples programas, aplicaciones o páginas web hay muchas funciones que son desconocidas por el usuario, estas funciones presentan problemas de maneras no tan frecuentes, cuando esto sucede los usuarios pueden entrar en contacto con las Log files (Archivos de registro), esto en menor medida puede dar alguna idea a los usuarios del porqué de los fallos de cierta función en la aplicación, programa o página web, pero su mayor uso y el adecuado es que estas son muy necesarias para los desarrolladores para analizar los errores. Continuando con los log files y demás archivos necesarios para el funcionamiento de múltiples sistemas o generados por estos todos cumplen un ciclo de vida, el cual empieza cuando son creados y termina cuando son eliminados, en el medio del ciclo de vida de un archivo pueden existir alteraciones a este mismo, cosa que es muy común cuando se trabaja con archivos. Las funciones de Alta, Baja, Modificación y Backup son necesarias para tener un control sobre los archivos que son usados para cierta actividad dentro del programa, podemos destacar que cuando se trabaja estos archivos en una base de datos es de suma importancia poder encontrarlos para consultarlos de manera eficaz y eficiente, para eso hacemos uso de los índices en las tablas, asignando un índice a cada registro nuevo, nos aseguramos de que la información se almacene de manera ordenada y pueda ser consultada con mucha facilidad.
Referencias.
kitos-man. (2017, June 4). 4.1 Archivos log del SGBD. Blogspot.com; Blogger. https://administrasiondebasededatos123456789.blogspot.com/2017/06/41-archivoslog-del-sgbd.html
kitos-man. (2017, June 4). 4.2 Definición de los modos de operación de un SGBD. (alta, baja, recovery) y comandos de activación. Blogspot.com; Blogger. http://administrasiondebasededatos123456789.blogspot.com/2017/06/42-definicion-delos-modos-de-operacion.html
Sánchez, J. (2020). Práctica 13. “Backup and Recovery” en MySQL. Josejuansanchez.org. https://josejuansanchez.org/bd/practica-13/index.html
kitos-man. (2017, June 4). 4.3 Índices, reorganización y reconstrucción. Blogspot.com; Blogger. http://administrasiondebasededatos123456789.blogspot.com/2017/06/43- indices-reorganizacion-y.html
Unidad 4: Operación y Mantenibilidad - Administración de Bases de Datos. (2021). Unidad 4: Operación y Mantenibilidad - Administración de Bases de Datos. Google.com. https://sites.google.com/site/itjabd23/home/asignatura/plan-de-estudios/unidad-4- operacion-y-mantenibilidad
UNIDAD 4 :: Administracion Bases de Datos. (2014). Webnode.mx. https://proyecto359.webnode.mx/unidad4/
Comentarios
Publicar un comentario