El aislamiento de instantáneas es una propiedad en el procesamiento de transacciones y las bases de datos que garantiza que todas las lecturas que se realizan en una transacción vean la misma «instantánea» de la base de datos. Esto significa que la transacción se comprometerá a procesar correctamente la solicitud si sus actualizaciones no entran en conflicto con otras actualizaciones simultáneas. El aislamiento de instantáneas es un algoritmo de control para la concurrencia de múltiples versiones que proporciona niveles de aislamiento que evitan los problemas que ocurren comúnmente con la concurrencia. Este aislamiento ha sido implementado por varios servidores 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 serialización completa en un servidor.
Muchos de los principales sistemas de administración de datos contienen niveles de aislamiento predeterminados que no se pueden serializar y, 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, lo que puede provocar que los datos se corrompan, especialmente los que se encuentran en las aplicaciones de almacenamiento de datos. La razón por la que un sistema puede funcionar 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 del aislamiento de instantáneas en un sistema reduce estas anomalías y, al tomar en cuenta el tiempo de operación y la cantidad de errores que ocurren, aumenta la eficiencia aún más.
Algunas bases de datos ofrecen aislamiento de instantáneas en lugar de serialización total, pero también existen anomalías que pueden ocurrir dentro de una base de datos que utiliza este tipo de aislamiento. Estas anomalías pueden dar lugar a violaciones de la coherencia de los datos porque las transacciones que mantienen la coherencia se entrelazan o se organizan en capas alternas. La única forma de resolver el problema y prevenir anomalías como estas es manipular las aplicaciones con la introducción de bloqueos artificiales y actualizaciones conflictivas, seguidas de un 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 realizar detecciones automáticas y prevenir 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 mejorar la simultaneidad en ciertas aplicaciones. Cuando las primeras versiones del servidor SQL usaban el bloqueo como base para la simultaneidad, el aislamiento de instantáneas depende de las mejoras del control de versiones de filas destinadas a mejorar el rendimiento. Mejora este rendimiento cuando se encuentra con escenarios con bloqueo de lectura o escritura evitándolos.