Coherencia (sistemas de bases de datos)


La consistencia (o corrección) en los sistemas de bases de datos se refiere al requisito de que cualquier transacción de base de datos dada debe cambiar los datos afectados solo de las formas permitidas. Todos los datos escritos en la base de datos deben ser válidos de acuerdo con todas las reglas definidas, incluidas las restricciones , las cascadas , los activadores y cualquier combinación de los mismos. Esto no garantiza la corrección de la transacción en todas las formas que el programador de la aplicación podría haber deseado (esa es responsabilidad del código de nivel de la aplicación), sino simplemente que cualquier error de programación no puede resultar en la violación de las restricciones de la base de datos definida. [1]

La consistencia es una de las cuatro garantías que definen las transacciones ACID ; sin embargo, existe una ambigüedad significativa sobre la naturaleza de esta garantía. Se define de diversas formas como:

Como estas diversas definiciones no son mutuamente excluyentes, es posible diseñar un sistema que garantice la "coherencia" en todos los sentidos de la palabra, como podría decirse que lo hacen la mayoría de los sistemas de administración de bases de datos relacionales de uso común en la actualidad.

El teorema CAP se basa en tres compensaciones, una de las cuales es la "consistencia atómica" (abreviado como "consistencia" por el acrónimo), sobre la cual los autores señalan: "Discutir la consistencia atómica es algo diferente a hablar sobre una base de datos ACID, como la consistencia de la base de datos se refiere a las transacciones, mientras que la consistencia atómica se refiere solo a una propiedad de una sola secuencia de operación de solicitud/respuesta. Y tiene un significado diferente al Atómico en ACID, ya que subsume las nociones de la base de datos tanto de Atómico como de Consistente". [2] En el teorema CAP, solo puede tener dos de las siguientes tres propiedades: consistencia, disponibilidad o tolerancia de partición. Por lo tanto, es posible que haya que compensar la coherencia en algunos sistemas de bases de datos.