Modelo ACID SQL

Boa noite, pesooooal!

Fui surpreendido em um teste ao cair uma questão referenciando este tema, ACID, e após algumas pesquisas fiquei mais surpreso por ser um tema importante, e por isso não deve ser deixado de lado.

Afinal, do que estou falando?

ACID é do acrônimo de Atomicidade, Consistência, Isolamento e Durabilidade. Ok, até ai sabemos a descrição da sigla, mas no que isto influi?

Ele é um conceito utilizado em ciências da computação para caracterizar uma transação em banco de dados e outras coisas.

Partindo a cada propriedade, segue abaixo as suas caracteristicas:

– Atomacidade: É o que trata a transação efetuada, tendo reflexo nos dados apenas se efetuada com sucesso. Com base neste assunto, este se refere que qualquer reflexo no banco deve surgir após a conclusão de uma transação sem erros.

Explicando melhor, caso a transação tenha sido efetuada com sucesso, o valor será alterado/incluso na base de uma forma correta. Caso ocorra algum erro e a mesma tenha sido abortada, a base não deve receber esta alteração pela metade, meio obvio até porque hoje só é possível se basear ou tirar uma conclusão concreta em fatos reais, e não incompletos.

– Consistência: Como o próprio nome já diz, este garante que o processo da transação respeite todas as normas pré estabelecidas na integridade dos dados, como o relacionamento entre chaves, afim de que não ocorra nenhuma divergência no momento da transação.

Exemplo: Na area de RH da sua empresa, todo funcionário tem no cadastro um ID, utilizado para diferencia-lo entre os demais.

Logo ao fazer alguma alteração no cadastro de um funcionário, o seu ID não pode ser duplicado, como também não pode ser alterado para um valor nulo ou ser alterado para um que não condiz, garantido assim a consistencia dos dados ali.

– Isolamento: Uma das propriedades mais interessantes, o isolamento é uma garantia do dado veridico, ou seja, ele garante que uma transação sendo executada agora, não seja sobreposta por outras no mesmo campo.

Exemplo: Suponha que você opera uma base de vendas, e que esta realizando a alteração do valor de um campo, e ao mesmo tempo outro usuário esta consultando este valor.

O que é seria o retorno correto? Uma vez que a transação de atualização foi iniciada, a de consulta só será retornada após a primeira transação ter sido concluida, ou seja, o isolamento garante que a consulta só irá retornar o valor do campo após a atualização do mesmo for concluida, uma vez que a atualização teve inicio antes da consulta.

– Durabilidade: Por último a Durabilidade, este garante a integridade do dado já inserido na base.
Sendo mais objetivo, este garante que qualquer alteração feita com sucesso deve permanecer no banco até uma nova intervenção, ou seja, ou update ou delete, evitando que os dados já salvos sejam corrompidos ou alterados sem alguma ação.

Enfim pessoal, todo o Sistema de Gerenciamento de Banco de dados deve utilizar o conceito do ACID, caso contrário, este não pode ser considerado um SGBD.

Foi bacana compreender e poder passar maiores informações para todos através deste 🙂

Fontes:

Conceito: http://pt.wikipedia.org/wiki/ACID

E um artigo sensacional que descreve também com maiores detalhes:

http://paposql.blogspot.com.br/2013/05/os-conceitos-da-propriedade-acid.html

É isso ai pessoal. Dúvidas, criticas ou sugestões? Fiquem a vontade, todo retorno é construtivo 😀

Jose Wilson

2 Replies to “Modelo ACID SQL”

Deixe uma resposta