logo

Propriedades ACID em DBMS

SGBD é o gerenciamento de dados que deve permanecer integrado quando qualquer alteração for feita nele. Isso ocorre porque se a integridade dos dados for afetada, todos os dados serão perturbados e corrompidos. Portanto, para manter a integridade dos dados, existem quatro propriedades descritas no sistema de gerenciamento de banco de dados, que são conhecidas como ÁCIDO propriedades. As propriedades ACID destinam-se à transação que passa por um grupo diferente de tarefas, e aí veremos o papel das propriedades ACID.

Nesta seção, aprenderemos e compreenderemos sobre as propriedades ACID. Aprenderemos o que essas propriedades representam e para que serve cada propriedade. Também compreenderemos as propriedades ACID com a ajuda de alguns exemplos.

Propriedades ÁCIDA

A expansão do termo ACID define para:

Propriedades ACID em DBMS

1) Atomicidade

O termo atomicidade define que os dados permanecem atômicos. Isso significa que se qualquer operação for executada nos dados, ela deverá ser executada ou executada completamente ou não deverá ser executada de forma alguma. Significa ainda que a operação não deve ser interrompida ou executada parcialmente. No caso de execução de operações sobre a transação, a operação deverá ser executada integralmente e não parcialmente.

Exemplo: Se Remo tem uma conta A com $ 30 em sua conta da qual deseja enviar $ 10 para a conta de Sheero, que é B. Na conta B, uma quantia de $ 100 já está presente. Quando $ 10 forem transferidos para a conta B, a soma se tornará $ 110. Agora, serão realizadas duas operações. Uma é que o valor de $ 10 que Remo deseja transferir será debitado de sua conta A, e o mesmo valor será creditado na conta B, ou seja, na conta de Sheero. Agora, o que acontece - a primeira operação de débito é executada com sucesso, mas a operação de crédito, entretanto, falha. Assim, na conta A do Remo o valor passa a ser $ 20, e para a conta do Sheero permanece $ 100 como estava anteriormente.

Propriedades ACID em DBMS

No diagrama acima, pode-se observar que após creditar US$ 10, o valor ainda é de US$ 100 na conta B. Portanto, não é uma transação atômica.

A imagem abaixo mostra que as operações de débito e crédito foram realizadas com sucesso. Portanto, a transação é atômica.

Propriedades ACID em DBMS

Assim, quando o montante perde atomicidade, então nos sistemas bancários, isso se torna um grande problema, e assim a atomicidade é o foco principal nos sistemas bancários.

2) Consistência

A palavra consistência significa que o valor deve permanecer sempre preservado. Em SGBD , a integridade dos dados deve ser mantida, ou seja, caso seja feita alguma alteração no banco de dados, ele deverá permanecer sempre preservado. No caso de transações, a integridade dos dados é muito importante para que o banco de dados permaneça consistente antes e depois da transação. Os dados devem estar sempre corretos.

Exemplo:

Propriedades ACID em DBMS

Na figura acima, existem três contas, A, B e C, onde A está fazendo uma transação T, uma por uma, para B e C. Existem duas operações que ocorrem, ou seja, Débito e Crédito. A conta A debita primeiro $ 50 na conta B, e o valor na conta A é lido $ 300 por B antes da transação. Após a transação T bem-sucedida, o valor disponível em B passa a ser $150. Agora, A debita $ 20 na conta C e, dessa vez, o valor lido por C é $ 250 (isso está correto, pois um débito de $ 50 foi feito com sucesso em B). A operação de débito e crédito da conta A a C foi realizada com sucesso. Podemos ver que a transação foi realizada com sucesso e o valor também foi lido corretamente. Assim, os dados são consistentes. Caso o valor lido por B e C seja $ 300, o que significa que os dados são inconsistentes porque quando a operação de débito for executada, eles não serão consistentes.

3) Isolamento

O termo 'isolamento' significa separação. No SGBD, Isolamento é propriedade de um banco de dados onde nenhum dado deve afetar o outro e pode ocorrer simultaneamente. Resumindo, a operação em um banco de dados deve começar quando a operação no primeiro banco de dados for concluída. Isso significa que se duas operações estiverem sendo executadas em dois bancos de dados diferentes, elas poderão não afetar o valor uma da outra. No caso de transações, quando duas ou mais transações ocorrem simultaneamente, a consistência deve permanecer mantida. Quaisquer alterações que ocorram em qualquer transação específica não serão vistas por outras transações até que a alteração seja confirmada na memória.

Exemplo: Se duas operações estiverem sendo executadas simultaneamente em duas contas diferentes, o valor de ambas as contas não deverá ser afetado. O valor deve permanecer persistente. Como você pode ver no diagrama abaixo, a conta A está fazendo transações T1 e T2 para as contas B e C, mas ambas estão sendo executadas de forma independente, sem afetar uma à outra. É conhecido como Isolamento.

Propriedades ACID em DBMS

4) Durabilidade

A durabilidade garante a permanência de algo. No SGBD, o termo durabilidade garante que os dados após a execução bem-sucedida da operação se tornem permanentes no banco de dados. A durabilidade dos dados deve ser tão perfeita que, mesmo que o sistema falhe ou cause uma falha, o banco de dados ainda sobreviva. Porém, caso se perca, passa a ser responsabilidade do gerenciador de recuperação garantir a durabilidade do banco de dados. Para confirmar os valores, o comando COMMIT deve ser utilizado sempre que fizermos alterações.

Portanto, a propriedade ACID do SGBD desempenha um papel vital na manutenção da consistência e disponibilidade dos dados no banco de dados.

Assim, foi uma introdução precisa das propriedades ACID no SGBD. Discutimos essas propriedades também na seção de transações.