¿Qué es el aislamiento de la instantánea?

El aislamiento de la instantánea es una propiedad en el procesamiento de transacciones y las bases de datos que garantiza todas las lecturas que se realizan en una transacción, consulte la misma base de datos "instantánea". Esto significa que la transacción se comprometerá a procesar con éxito la solicitud si sus actualizaciones no entran en conflicto con ninguna otra actualización concurrente. El aislamiento de la instantánea es un algoritmo de control para la concurrencia de versiones múltiples que proporciona niveles de aislamiento que evitan los problemas que comúnmente ocurren con concurrencia. Este aislamiento ha sido implementado por varios servidores diferentes de lenguaje de consulta estructurado (SQL), que operan con cantidades mínimas de anomalías de serialización. Sin embargo, los aislamientos de instantáneas no garantizarán la capacidad de serialización completa en un servidor.

Muchos sistemas principales de gestión de datos contienen niveles de aislamiento predeterminados que no son serializables y que a menudo encuentran anomalías de serialización sin aislamiento de instantáneas. Esto puede hacer que los sistemas grandes tengan numerosas ocurrencias de errores de aislamiento todos los días, WHICH puede hacer que los datos se corrompan, especialmente los que se encuentran en las aplicaciones de datos de almacén. La razón por la cual un sistema podría operar en este estado es porque las aplicaciones que se ejecutan en niveles de aislamiento más bajos pueden mejorar la eficiencia si no se producen errores graves. La inclusión de aislamiento de instantáneas en un sistema reduce estas anomalías y, al tener el tiempo de operación y la cantidad de errores que ocurren, aumenta aún más la eficiencia.

Algunas bases de datos ofrecen aislamiento de instantáneas en lugar de la capacidad de serialización completa, pero también hay anomalías que pueden ocurrir dentro de una base de datos que utiliza este tipo de aislamiento. Estas anomalías pueden conducir a violaciones de consistencia de datos porque las transacciones que mantienen la consistencia entrelazan, o se organizan en capas alternativas. La única forma de resolver el problema y prevenir anomalías como estas es manipular aplicaciones con una introducciónde cerraduras artificiales y actualizaciones conflictivas, que fueron seguidas por el análisis de los conflictos entre cada par de transacciones. Sin embargo, una forma diferente de resolver estas anomalías es modificar los algoritmos del control de concurrencia de un sistema de base de datos para hacer detecciones automáticas y preveniones de anomalías de aislamiento de instantáneas en tiempo de ejecución. Esto se puede hacer para aplicaciones importantes o arbitrarias, pero proporciona un aislamiento que es serializable.

Los servidores SQL más nuevos han podido introducir nuevos niveles de aislamiento, así como nuevos niveles de aislamiento de instantáneas para la mejora de la concurrencia en ciertas aplicaciones. Cuando las primeras versiones del servidor SQL utilizaron el bloqueo como base para la concurrencia, el aislamiento de instantáneas depende de las mejoras de la versión de fila destinada a mejorar el rendimiento. Mejora este rendimiento cuando encuentra escenarios con el bloqueo de lectura o escritura evitándolos.

OTROS IDIOMAS