Consistência (sistemas de banco de dados) - Consistency (database systems)

Consistência (ou correção) em sistemas de banco de dados refere-se ao requisito de que qualquer transação de banco de dados deve alterar os dados afetados apenas nas maneiras permitidas. Quaisquer dados gravados no banco de dados devem ser válidos de acordo com todas as regras definidas, incluindo restrições , cascatas , gatilhos e qualquer combinação dos mesmos. Isso não garante a correção da transação de todas as maneiras que o programador do aplicativo poderia desejar (que é responsabilidade do código no nível do aplicativo), mas apenas que quaisquer erros de programação não podem resultar na violação de quaisquer restrições de banco de dados definidas.

Como garantia ACID

A consistência é uma das quatro garantias que definem as transações ACID ; no entanto, existe uma ambigüidade significativa sobre a natureza dessa garantia. É definido de várias maneiras como:

  • A garantia de que quaisquer transações iniciadas no futuro necessariamente verão os efeitos de outras transações cometidas no passado
  • A garantia de que as restrições do banco de dados não são violadas, especialmente quando uma transação é confirmada
  • A garantia de que as operações nas transações são realizadas com precisão, corretamente e com validade, no que diz respeito à semântica do aplicativo

Como essas várias definições não são mutuamente exclusivas, é possível projetar um sistema que garanta "consistência" em todos os sentidos da palavra, como a maioria dos sistemas de gerenciamento de banco de dados relacional em uso comum atualmente fazem.

Como um trade-off CAP

O teorema CAP é baseado em três trade-offs, um dos quais é "consistência atômica" (abreviado para "consistência" na sigla), sobre o qual os autores observam: "Discutir consistência atômica é um pouco diferente de falar sobre um banco de dados ACID, já que a consistência do banco de dados se refere a transações, enquanto a consistência atômica se refere apenas a uma propriedade de uma única sequência de operação de solicitação / resposta. E tem um significado diferente do Atomic no ACID, pois inclui as noções de banco de dados de Atomic e Consistent. " No teorema CAP, você só pode ter duas das três propriedades a seguir: consistência, disponibilidade ou tolerância de partição. Portanto, a consistência pode ter que ser negociada em alguns sistemas de banco de dados.

Veja também

Referências