Atomicidade consistência isolamento durabilidade (ácido)

Definição – O que significa a durabilidade do isolamento de consistência de atomicidade (ACID)?

Atomicity Consistency Isolation Durability (ACID) é um conceito em sistemas de gerenciamento de banco de dados (DBMS) que identifica um conjunto de propriedades padrão usado para garantir a confiabilidade de um determinado banco de dados.

ACID refere-se às quatro propriedades de transação de um sistema de banco de dados: atomicidade, consistência, isolamento e durabilidade. Uma transação é uma sequência de operações que satisfaz essas propriedades.

As propriedades ACID garantem que todas as transações do banco de dados permaneçam precisas e consistentes e oferecem suporte à recuperação de falhas que podem ocorrer durante as operações de processamento. É implementado por quase todos os bancos de dados relacionais.

Definirtec explica a durabilidade de isolamento de consistência de atomicidade (ACID)

Um banco de dados garante as quatro propriedades a seguir para garantir a confiabilidade do banco de dados, da seguinte maneira:

Atomicidade

Atomicidade é uma propriedade que garante que um banco de dados siga a regra tudo ou nada. Em outras palavras, o banco de dados considera todas as operações de transação como uma unidade ou átomo inteiro.

Portanto, quando um banco de dados processa uma transação, ela é totalmente concluída ou não é executada. Se uma única parte da transação falhar, toda a transação falhará.

Por exemplo, o usuário A deseja retirar $ 50 de sua conta e, em seguida, transferi-los para a conta do usuário B. Cada transação (retirada de $ 50 da conta A e transferência de $ 50 para a conta B) é contada separadamente. Se a primeira transação (retirada de $ 50) falhar porque (digamos) o servidor trava durante a transação, o usuário A não pode transferir o dinheiro para o usuário B.

A atomicidade é particularmente importante para mitigar os danos em caso de falhas no servidor de banco de dados. Se um banco de dados não volátil travar no meio de uma transação, todas as alterações feitas serão descartadas ou revertidas para evitar o envio de resultados parciais para o banco de dados de produção.

Consistência

Consistência é uma propriedade que garante que apenas os dados válidos seguindo todas as regras e restrições sejam gravados no banco de dados. Quando uma transação resulta em dados inválidos, o banco de dados retorna ao seu estado anterior, que obedece a todas as regras e restrições habituais.

Consistência é a chave para manter a integridade dos dados. Todos os dados inconsistentes são descartados e todas as transações que podem causar uma inconsistência são abortadas e um erro é criado ou transcrito em um log de erros.

Por exemplo, se o usuário A deseja retirar $ 1,000 de sua conta, mas tem apenas um saldo de $ 500, a consistência o impedirá de retirar dinheiro e a transação será abortada.

Isolamento

O isolamento é uma propriedade que garante a individualidade de cada transação, evitando que sejam afetadas por outras transações. Ele garante que as transações sejam processadas de forma segura e independente ao mesmo tempo, sem interferência, mas não garante a ordem das transações.

Por exemplo, o usuário A retira $ 100 e o usuário B retira $ 250 da conta do usuário Z, que tem um saldo de $ 1,000. Uma vez que A e B são retirados da conta de Z, um dos usuários deve esperar até que a outra transação do usuário seja concluída, evitando dados inconsistentes.

Se B tiver que esperar, então B deve esperar até que a transação de A seja concluída e o saldo da conta de Z mude para $ 900. Agora, B pode sacar $ 250 desse saldo de $ 900.

Durabilidade

Durabilidade é uma propriedade que faz valer as transações concluídas, garantindo que uma vez que cada uma delas tenha sido confirmada, ela permanecerá no sistema mesmo em caso de falhas subsequentes.

Se uma transação for bem-sucedida, todas as alterações geradas por ela são armazenadas permanentemente.

No exemplo acima, o usuário B pode sacar $ 100 somente após a transação do usuário A ser concluída e atualizada no banco de dados. Se o sistema falhar antes que a transação de A seja registrada no banco de dados, A não poderá sacar nenhum dinheiro e a conta de Z retornará ao seu estado consistente anterior.

Esta definição foi escrita no contexto do Sistema de Gerenciamento de Banco de Dados