Conceptos Clave en Bases de Datos: Concurrencia, Bloqueos y Modelos Jerárquicos

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

Escrito el en español con un tamaño de 5,16 KB

¿Qué son los bloqueos en bases de datos?

Los bloqueos evitan el acceso a los elementos de datos mientras una transacción accede a un elemento para modificarlo.

¿Qué son las bases de datos jerárquicas?

En este modelo, los datos se organizan de forma similar a un árbol (visto al revés), donde un nodo padre de información puede tener varios hijos. El nodo sin padres se denomina raíz, y los nodos sin hijos se conocen como hojas.

¿Cómo funciona el modelo jerárquico?

A diferencia del modelo relacional, el modelo jerárquico no diferencia una vista lógica de una vista física de la base de datos. Las relaciones entre datos se establecen siempre a nivel físico, es decir, mediante referencia a direcciones físicas del medio de almacenamiento (sectores y pistas).

¿Cómo funcionan los bloqueos binarios?

Cada transacción debe solicitar el bloqueo de cada fragmento de datos (A) que vaya a utilizar antes de acceder a él, mediante una operación bloquear(A). Posteriormente, deberá liberar todos los bloqueos mediante una operación desbloquear(A), de modo que otras tareas puedan tomarlos.

¿Cómo funcionan los bloqueos de lectura y escritura?

En este caso, las operaciones que las transacciones deben realizar son tres: desbloquear(A), bloquear_para_lectura(A) o bloquear_para_escritura(A).

¿Cuáles son las limitaciones del modelo jerárquico?

  • Duplicidad de registros
  • Integridad referencial
  • Desnormalización

¿Qué es la atomicidad?

Si una operación consiste en una serie de pasos, todos ellos deben ocurrir o ninguno.

¿Cómo se lleva a cabo la recuperación en bases de datos?

El SGBD (Sistema de Gestión de Bases de Datos) debe asegurarse de que:

  • Todas las operaciones de una transacción (T) se realicen con éxito y su efecto quede asentado de forma permanente en la base de datos (BD) en disco.
  • O bien, la transacción no tenga ningún efecto sobre la BD ni sobre cualquier otra transacción.

Tipos de fallos que impiden la atomicidad

  • Fallos locales previstos por la aplicación
  • Fallos locales no previstos
  • Errores de programación (bugs) o interrupciones
  • Fallos de disco
  • Fallos en dispositivos de almacenamiento
  • Fallos físicos o catastróficos
  • Fallos del sistema

¿Qué es el sistema IMS de IBM?

Es un sistema de base de datos jerárquico.

¿Qué es la seriabilidad?

Es la propiedad que garantiza que un plan de ejecución concurrente es equivalente a un plan secuencial.

Formas de planificar la seriabilidad

Existen diferentes enfoques para planificar la seriabilidad:

  • Por conflicto
  • Por visión
  • Por simplicidad

Seriabilidad por conflicto: Implica eliminar conflictos entre dos o más transacciones, especialmente en operaciones sobre los mismos datos en más de una transacción.

¿Qué es el bloqueo de dos fases (2PL)?

Se produce cuando todas las operaciones de adquisición de bloqueos (bloquear_lectura, bloquear_escritura) preceden a la primera operación de desbloqueo.

Aspectos positivos y negativos de la ejecución de concurrencia

Aspectos positivos:

  • Mayor productividad
  • Mejor utilización de los recursos
  • Tiempo de espera reducido

Aspectos negativos:

  • Mayor probabilidad de inconsistencias

¿Qué es la concurrencia en bases de datos?

Se refiere a la ejecución de tareas simultáneas sobre la misma base de datos. Esta intercalación puede resultar en que las lecturas y escrituras de las diferentes tareas o aplicaciones en el medio físico se realicen en cualquier orden y secuencia.

¿Cómo se lleva a cabo la planificación de transacciones?

(Este punto solo presenta la pregunta, sin contenido adicional en el original.)

Tipos de planificación de transacciones

Existen dos tipos principales de planificación:

  • Planificación secuencial
  • Planificación no secuencial

Métodos para implementar el esquema de marcas temporales

  1. Usar el valor del reloj del sistema como marca temporal.
  2. Usar un contador lógico que se incrementa cada vez que se asigna una nueva marca temporal.

¿Cómo funciona el protocolo de ordenación por marcas temporales?

Este protocolo asegura que todas las operaciones de lectura y escritura conflictivas se ejecuten en el orden de las marcas temporales.

  • Si MT(Ti) < marca_temporal_escritura(Q), entonces la transacción Ti necesita leer un valor de Q que ya ha sido sobrescrito. Por lo tanto, se rechaza la operación de lectura y Ti retrocede (rollback).
  • Si MT(Ti) >= marca_temporal_escritura(Q), entonces se ejecuta la operación de lectura y marca_temporal_lectura(Q) se asigna al máximo entre marca_temporal_lectura(Q) y MT(Ti).

Entradas relacionadas: