Niveles de aislamiento de transacciones

FashionableBinary225 avatar
FashionableBinary225
·
·
Download

Start Quiz

Study Flashcards

8 Questions

¿Cuál es el nivel de aislamiento que garantiza que las transacciones lean los mismos datos durante toda su ejecución?

Repeatable Read

¿Qué protocolo de control de concurrencia utiliza un grafo para detectar ciclos y resolver deadlocks?

Wait-for-Graph

¿Qué tipo de chaveo permite a varias transacciones leer datos simultáneamente?

Shared Locks

¿Qué técnica se utiliza para restaurar la base de datos a un estado consistente después de una falla?

Recovery

¿Qué tipo de falla se produce cuando una transacción no puede completarse debido a errores o conflictos?

Transaction Failure

¿Qué protocolo de control de concurrencia asume que los conflictos no ocurrirán y verifica durante el commit?

Optimistic

¿Qué tipo de bloqueo permite a una transacción actualizar datos mientras previene que otras transacciones accedan a ellos?

Update Locks

¿Qué técnica se utiliza para revertir una transacción a su estado anterior en caso de falla?

Rollback

Study Notes

Transaction Isolation

  • Definition: Ensuring that multiple transactions operate independently without interference
  • Importance: Prevents data inconsistencies and ensures data integrity
  • Isolation Levels:
    • Read Uncommitted: Allows transactions to read uncommitted changes
    • Read Committed: Ensures transactions only read committed changes
    • Repeatable Read: Ensures transactions read same data throughout execution
    • Serializable: Ensures transactions execute as if they were executed serially

Concurrency Control Protocols

  • Types:
    • Pessimistic: Assumes conflicts will occur and locks data to prevent them
    • Optimistic: Assumes conflicts will not occur and checks for conflicts during commit
    • Multi-Version: Stores multiple versions of data to allow concurrent access
  • Protocols:
    • Two-Phase Locking (2PL): Acquires locks in two phases, ensuring consistency
    • Timestamp Ordering: Assigns timestamps to transactions to ensure consistency

Deadlock Resolution

  • Definition: A situation where two or more transactions are blocked, waiting for each other to release resources
  • Detection:
    • Wait-for-Graph: A graph that represents transactions waiting for resources
    • Cycle Detection: Detects cycles in the wait-for-graph to identify deadlocks
  • Resolution:
    • Rollback: Aborts one or more transactions to resolve the deadlock
    • Wait-Die: A transaction waits for a resource, and if it's held by a younger transaction, it dies
    • Wound-Wait: A transaction waits for a resource, and if it's held by an older transaction, it wounds the older transaction

Locking Mechanisms

  • Types:
    • Shared Locks: Allows multiple transactions to read data simultaneously
    • Exclusive Locks: Prevents other transactions from accessing data
    • Update Locks: Allows a transaction to update data while preventing other transactions from accessing it
  • Granularity:
    • Coarse-Grained Locking: Locks entire tables or databases
    • Fine-Grained Locking: Locks individual rows or fields

Manejo de Fallos (Failure Handling)

  • Types of Failures:
    • Transaction Failure: A transaction fails to complete due to errors or conflicts
    • System Failure: A database system failure, such as a power outage or hardware failure
  • Failure Handling:
    • Rollback: Reverts a transaction to its previous state
    • Recovery: Restores the database to a consistent state after a failure
    • Checkpointing: Periodically saves the database state to allow for rapid recovery

Aislamiento de Transacciones

  • El aislamiento de transacciones garantiza que varias transacciones operen de manera independiente sin interferencias
  • Importancia: evita inconsistencias de datos y garantiza la integridad de los datos

Niveles de Aislamiento

  • No Confirmado: permite que las transacciones lean cambios no confirmados
  • Confirmado: garantiza que las transacciones solo lean cambios confirmados
  • Lectura Repetible: garantiza que las transacciones lean los mismos datos durante toda su ejecución
  • Serializable: garantiza que las transacciones se ejecuten como si se hubieran ejecutado de manera serial

Protocolos de Control de Concurrencia

  • Tipos:
    • Pesimista: asume que se producirán conflictos y bloquea los datos para prevenirlos
    • Optimista: asume que no se producirán conflictos y verifica si hay conflictos durante el compromiso
    • Multi-Version: almacena varias versiones de los datos para permitir el acceso concurrente
  • Protocolos:
    • Bloqueo de Dos Fases (2PL): adquiere bloqueos en dos fases para garantizar la consistencia
    • Ordenamiento de Timestamp: asigna timestamps a las transacciones para garantizar la consistencia

Resolución de Deadlocks

  • Definición: una situación en la que dos o más transacciones están bloqueadas, esperando a que otras liberen recursos
  • Detección:
    • Grafo de Espera: un grafo que representa las transacciones que esperan recursos
    • Detección de Ciclos: detecta ciclos en el grafo de espera para identificar deadlocks
  • Resolución:
    • Retroceso: aborta una o varias transacciones para resolver el deadlock
    • Espera-Muere: una transacción espera un recurso, y si está siendo utilizado por una transacción más joven, muere
    • Herida-Espera: una transacción espera un recurso, y si está siendo utilizado por una transacción más antigua, hieren a la transacción más antigua

Mecanismos de Bloqueo

  • Tipos:
    • Bloqueos Compartidos: permiten que varias transacciones lean datos simultáneamente
    • Bloqueos Exclusivos: impiden que otras transacciones accedan a los datos
    • Bloqueos de Actualización: permiten que una transacción actualice datos mientras impide que otras transacciones accedan
  • Granularidad:
    • Bloqueo Granular: bloquea tablas o bases de datos enteras
    • Bloqueo Fino: bloquea filas o campos individuales

Manejo de Fallos

  • Tipos de Fallos:
    • Fallo de Transacción: una transacción falla al completarse debido a errores o conflictos
    • Fallo del Sistema: una falla en el sistema de base de datos, como un corte de energía o falla del hardware
  • Manejo de Fallos:
    • Retroceso: revive una transacción a su estado anterior
    • Recuperación: restaura la base de datos a un estado consistente después de una falla
    • Puntos de Verificación: guarda periódicamente el estado de la base de datos para permitir la recuperación rápida

Aprende sobre los niveles de aislamiento de transacciones, incluyendo Lectura no comprometida, Lectura comprometida, Lectura repetible y Serializable.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Use Quizgecko on...
Browser
Browser