O que é ACID?

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:

The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Posted in Conhecimento Técnico, Dev and tagged , , , , , .

One Comment

  1. Pingback: Um pouco sobre o banco SQLite – Raccoon Ninja

Comments are closed.