concurrencia en base de datos

Páginas: 14 (3434 palabras) Publicado: 21 de marzo de 2013
Capítulo 13. control de concurrencia
Este capítulo describe el comportamiento del sistema de base de datos PostgreSQL cuando dos o más sesiones intentan acceder a los mismos datos al mismo tiempo. Los objetivos de esa situación son para permitir el acceso eficiente para todas las sesiones, mientras se mantiene la integridad de datos estrictos. Todos los desarrolladores de aplicaciones de basede datos debe estar familiarizado con los temas tratados en este capítulo.
13,1. Introducción
PostgreSQL proporciona un completo conjunto de herramientas para desarrolladores para gestionar el acceso simultáneo a los datos. Internamente, la consistencia de los datos se mantiene mediante el uso de un modelo multiversión multiversión control de concurrencia, MVCC). Esto significa que mientras seconsulta una base de datos de cada transacción ve una instantánea de los datos (una versión de base de datos) como lo fue hace algún tiempo, sin importar el estado actual de los datos subyacentes. Esto protege la transacción de visualización de datos incoherentes que podrían ser causados ​​por (otro) actualiza las transacciones concurrentes en las filas de los mismos datos, proporcionandoaislamiento de transacción para cada sesión de base de datos. MVCC, al evitar las metodologías de bloqueo de los sistemas de bases de datos tradicionales, minimiza la contención de bloqueo con el fin de permitir un rendimiento razonable en entornos multiusuario.
La principal ventaja de utilizar el modelo MVCC de control de concurrencia en lugar de bloqueo es que en las cerraduras MVCC adquiridos para laconsulta (lectura) de datos no entran en conflicto con bloqueos adquiridos para la escritura de datos, por lo que la lectura nunca se bloquea la escritura y la escritura nunca se bloquea la lectura. PostgreSQL mantiene este incluso de Garantía en la prestación de la trictest nivel de aislamiento de la transacción a través del uso de un innovador Aislamiento Serializable Snapshot (SSI) nivel.
Tabla- y el bloqueo a nivel de fila facilidades de bloqueo también están disponibles en PostgreSQL para aplicaciones que no necesitan general-mente aislamiento de la transacción completa y prefieren manejar explícitamente determinados puntos de conflicto. Sin embargo, el uso apropiado de MVCC generalmente proporcionan un mejor rendimiento que las cerraduras. Además, definidos por la aplicación bloquesde consulta proporcionan un mecanismo para la adquisición de bloqueos que no están vinculados a una única transacción.

13,2. aislamiento de transacción
El estándar SQL define cuatro niveles de aislamiento de transacción. El más estricto es el Serializable, que se define por la norma en un párrafo que dice que cualquier ejecución concurrente de un conjunto de transacciones Serializable estágarantizado para producir el mismo efecto que ejecutar de uno en un tiempo en algún orden. Los otros tres niveles se definen en términos de fenómenos, resultante de la interacción entre concurrentes transacciones, que no deben ocurrir en cada nivel. Las notas estándar que debido a la definición de Serializable, ninguno de estos fenómenos son posibles en ese nivel. (Esto no es sorprendente - si elefecto de las transacciones deben ser consistentes con haber sido ejecutado uno a la vez, ¿cómo pudiste ver todos los fenómenos causados ​​por interacciones?)
Los fenómenos que están prohibidos en los distintos niveles son:
lectura no
Una transacción lee datos escritos por una transacción concurrente no cursada.
lectura no repetible
Una transacción vuelve a leer los datos que ha leídopreviamente y encuentra que los datos han sido modificados por una transacción (que cometido desde la lectura inicial).
fantasma de lectura
Una transacción vuelve a ejecutar una consulta que devuelve un conjunto de filas que satisfacen una condición de búsqueda y la aleta del conjunto de filas que satisfacen la condición ha cambiado debido a otra transa recientemente cometido los cuatro niveles de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Concurrencia En Base De Datos
  • Trigger, Vistas, Concurrencia Base De Datos
  • Control De Concurrencia Bases De Datos
  • Control de concurrencia en base de datos
  • Base de datos
  • Concurrencia en base de datos
  • BASE DE DATOS , base de datos
  • Bases de datos y usuarios de bases de datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS