Olá galera o/

No post de hoje, vamos entender um pouco sobre conceito de ACID, que é amplamente empregado em bancos de dados relacionais e ambientes de big data. Vamos desvendar o significado por trás de cada letra dessa sigla e, por meio de exemplos do dia a dia, compreender seu funcionamento, na prática.

O que ACID?

ACID é um acrônimo que representa um conjunto de quatro propriedades essenciais que garantem a confiabilidade, integridade e consistência dos dados.

Descrevendo o ACID!

Abaixo iremos descrever as propriedades do ACID:

  • Atomicidade:
    • Descrição: Garante que todas as operações feitas em uma transação sejam executadas sucesso ou nenhuma seja executada. Isso significa que uma transação é tratada como uma unidade única e indivisível. Se uma parte da transação falhar, a transação inteira é revertida e nenhuma alteração é feita no banco de dados.
      • Para garantir a atomicidade, os bancos de dados geralmente usam dois mecanismos chamados “commit e rollback”. O commit é uma operação que confirma as alterações feitas em uma transação. Já o rollback é uma operação que reverte as alterações feitas em uma transação.
      • Alguns bancos de dados tem a funcionalidade de auto-commit, como, por exemplo, o SQL Server.

  • Exemplo 1: Considere uma transação que envolve transferência de valores entre duas contas bancárias. Se durante a transferência houver um erro, como falta de saldo suficiente, a atomicidade garante que qualquer valor retirado de uma conta seja devolvido, e a transação não deixe o sistema em um estado inconsistente.
  • Exemplo 2: Imagine que você está fazendo um pedido em uma loja online. Se o pedido não for concluído com sucesso, os produtos não devem ser reservados e o cartão de crédito do cliente não deve ser cobrado.

  • Exemplo: Imagine que você está excluindo um registro de um banco de dados. Se o registro não for excluído corretamente, o registro ainda deve estar presente no banco de dados.

  • Isolamento:
    • Descrição: Isolamento garante que transações em execução simultânea não interfiram umas nas outras. Isso significa que as alterações feitas em uma transação não devem ser visíveis para outras transações até que a primeira seja concluída.
      • Para garantir o isolamento, os bancos de dados geralmente usam um mecanismo chamado “bloqueio”. O bloqueio é uma operação que impede que outras transações acessem um determinado dado. Por exemplo,

  • Exemplo 1: Imagine que duas pessoas estão fazendo compras online no mesmo produto. Se uma pessoa adicionar o produto ao carrinho de compras, a outra pessoa não deve ser capaz de ver o produto no carrinho dela até que a primeira pessoa conclua a compra.
  • Exemplo 2: Se uma transação está atualizando o saldo de uma conta bancária, o banco de dados pode bloquear a conta para que outras transações não possam acessá-la até que a atualização seja concluída.

  • Durabilidade:
    • Descrição: Garante que, uma vez que uma transação é confirmada, suas alterações permaneçam permanentes no sistema, mesmo em caso de falhas do sistema. Se o sistema falhar antes que a alteração seja concluída, a alteração deve ser restaurada quando o sistema for reiniciado. Isso garante que os dados sejam preservados, mesmo em caso de falha.
      • Para garantir a durabilidade, os bancos de dados geralmente usam um mecanismo chamado “log de transações”. O log de transações é um arquivo que registra todas as alterações feitas em um banco de dados. Em caso de falha do sistema, o banco de dados pode usar o log de transações para restaurar os dados para o estado em que estavam antes da falha.

  • Exemplo 1: Imagine que você está fazendo uma alteração importante em um banco de dados. Se o sistema falhar antes que a alteração seja concluída, a alteração deve ser restaurada quando o sistema for reiniciado.
  • Exemplo 2: Se um usuário realiza uma transação de depósito em um banco, a durabilidade garante que o valor depositado permaneça no banco de dados mesmo que ocorra uma falha no sistema imediatamente após a confirmação da transação.

Possuo o ACID em Big Data?

Utilizamos o conceito do ACID nos arquivos do tipo Delta. Vocês podem analisar melhor na postagem que fiz sobre os tipos de arquivos utilizados no big data. Data Engineer – Conhecendo os tipos de arquivos mais utilizados no big data.

Considerações Finais!

Neste post, exploramos o entendimento do conceito ACID, discutindo o funcionamento de cada um dos seus princípios e utilizando exemplos de fácil compreensão. A compreensão desse conceito é essencial para entendermos o funcionamento das operações em nossos bancos de dados, independentemente de serem relacionais ou relacionados a Big Data.

Espero que tenham gostado, boa leitura e bons estudos.

Quem quiser mandar comentários, sugestões, críticas ou dicas complementares, fiquem a vontade, pois feedbacks positivos ou negativos engradecem meu conhecimento para poder melhorar as postagens para vocês.

Até a próxima o/

Acessem nossas Redes Sociais: