O que é ACID?

O que é ACID?

Overview

Neste post, vamos mergulhar no mundo dos bancos de dados através do prisma do acrônimo ACID, um conceito fundamental para quem lida com a gestão de transações em sistemas informáticos. Exploraremos de forma clara e objetiva os quatro atributos essenciais - atomicidade, consistência, isolamento e durabilidade - que garantem a integridade e a robustez das transações. Prepare-se para uma leitura enriquecedora, que esclarecerá por que estes princípios são vitais para o sucesso e a segurança dos bancos de dados modernos.

Em inglês, a sigla ACID significa: atomicity (atomicidade), consistency (consistência), isolation (isolamento) e durability (durabilidade) e é um acrônimo e dispositivo mnemônico para memorizar os quatro atributos primários que devem conter em qualquer transação por um Gerenciador de transações (que também é chamado de um monitor de transações). Esses atributos são:

Atomicidade. Em uma transação envolvendo dois ou mais pedaços discretos de informações, todas as peças são confirmadas (commit) ou nenhuma é.

Consistência. Uma transação cria um estado novo e válido dos dados ou, se ocorrer alguma falha, retorna todos os dados para seu estado antes que a transação foi iniciada.

Isolamento. Uma transação no processo e não ainda finalizada (commit) deve permanecer isolada de qualquer outra transação.

Durabilidade. Dados persistidos (commit) são salvos pelo sistema tal que, mesmo no caso de uma reinicialização do sistema e falha, os dados estão disponíveis no seu estado correto.

O conceito ACID é descrito na ISO/IEC 10026-1:1992, seção 4. Cada um desses atributos pode ser medido contra um benchmark. Em geral, no entanto, um Gerenciador de transações ou monitor é projetado para aderir ao conceito ACID. Em um sistema distribuído, um modo de conseguir ACID é usar uma confirmação de duas fases (2PC ou Two-Phase Commit), que garante que todos os sites envolvidos devem persistir ao final da transação ou nenhum será persistido e a transação é revertida.

Referências: