Edge UOL

    Discover how we transform the IT area of ​​the best companies on the market.

    Who we are Careers News

    ManageEngineseta

    Take control of your company’s IT with integrated and secure management tools.

      Identity and Management Access Service Management Unified Endpoint and Security Management IT Operations Management Security Event Management Analytics

    Hybrid & Multicloud Servicesseta

    Count on specialists to ensure your applications run with maximum security and efficiency.

      Migration and Modernization FinOps CCoE – Cloud Center of Excellence Well Architected

    Edge VMware Cloudseta

    Use hybrid cloud with the security of having the support of one of the most important players in the market.

      Edge VMware Cloud Disaster Recovery as a Service (DRaaS) Secure Desktop (DaaS) Edge Computing Multicloud Integration Platform

    AI Operationsseta

    Minimize manual interactions in the IT environment, enhancing security and productivity.

      Managed Services Intelligent Monitoring and Observability MySQL Heatwave Patch Management as a Service DevOps Data & Analytics Artificial Intelligence Squads SAP Services Oracle Experts

    Cybersecurityseta

    Protect information and systems, delivering benefits to companies and their customers.

      AI Security Operations Center (SOC) EndPoint Protection Web Application Protection Vulnerability Management Incident Response Brand Protection Monitoring Password Vault Privileged Access Management (PAM)

    Private Networksseta

    Provide your company with Private Network solutions that only an end-to-end integrator can offer.

      Consulting Network Management Private Network Implementation (4G and 5G)

    Payment Solutionsseta

    Handle payments, invoice issuance, and document transfer with credibility and data security.

      BPag - Payment gateway Notanet - Invoice issuing platform EDI Transfer - Transfer of tax files

    Hosting and Colocationseta

    Outsource efficiently, maintaining control over everything your company needs.

      Hosting Colocation
Partners Cases

    Get Inspired

    Tech Universe seta

    Learn about technological innovations and how they can benefit your company.

    Tech Insights seta

    Articles, events, and information to go beyond and dive deep into each technology. Be inspired to transform your company.

    Articles E-books Events Web series
Contact Us EN
  • EN - Inglês
  • BR - Português (Brazil)
Article/

[Portuguese Only] Princípios de funcionamento ACID vs BASE nos bancos de dados

October 13th, 2022
AI Operations Infrastructure Services Managed Services
By Arthur E. F. Heinrich
[Portuguese Only] Princípios de funcionamento ACID vs BASE nos bancos de dados

Quando os bancos de dados relacionais foram idealizados, um dos conceitos adotados foi o conceito “ACID”, que é um acrônimo de 4 características, que acredita-se que os bancos de dados precisem possuir: 

  • Atomicity
  • Consistency
  • Isolation
  • Durability 

Estas propriedades, juntas, fazem com que um banco de dados relacional seja seguro e confiável para a maioria dos sistemas:

Atomicity

O princípio da atomicidade garante que uma transação seja tratada como algo indivisível (A “não” e TOMO “divisão”).

O termo átomo surgiu cerca de 500 anos antes de cristo, quando o filósofo grego Demócrito conjecturava sobre a divisão da matéria em porções cada vez menores, até que não pudesse mais ser dividida.

Quando aplicado a transações em bancos de dados, esse conceito foi incorporado de forma que uma transação composta de múltiplas instruções não possa ser dividida. Imagine transferir R$ 20 da conta do João para a conta da Maria. Se esta transação fosse executada parcialmente perderíamos o dinheiro do João ou criaríamos dinheiro na conta da Maria, gerando um problema. Então, o banco precisa garantir que as duas operações ocorram com sucesso, ou que nenhuma delas ocorra. 

Consistency

Pelo princípio da consistência, se um banco de dados é considerado consistente antes de uma transação, ele deverá continuar consistente após a transação. Se imaginarmos o exemplo anterior, onde João paga R$ 20 para a Maria, a soma do saldo do João com a Maria, juntos, não podem se alterar após uma transação, já que tiramos de um e damos ao outro. 

Isolation

O princípio do isolamento deve garantir que, em uma situação com múltiplas transações ocorrendo simultaneamente, uma não interfira na outra, de forma que o resultado de todas as transações, independentemente de serem executadas em paralelo ou sequencialmente, seja o mesmo. 

Durability 

O princípio da durabilidade indica que, assim que uma transação é encerrada (commit), o seu efeito não seja perdido, mesmo em casos de falha de software ou de hardware.

Estes princípios são a alma do banco de dados e, graças a eles, os databases são tão confiáveis para a manipulação de informações.

Porém, para que eles funcionem adequadamente, precisamos impor regras e limites, como os conceitos de lock e constraints de PK e FK.

Por conta destes limites, dependendo da modelagem utilizada, algumas aplicações podem apresentar problemas de desempenho que inviabilizam determinados sistemas.

Pensando nisso e tentando resolver estes problemas de performance, criou-se um relaxamento destas regras que foram “criativamente” chamadas de BASE, fazendo uma analogia ao princípio do PH (ácido vs base), na química: 

  • Basically Available
  • Soft state
  • Eventual consistency

Neste modelo, criado com o objetivo primário de aumentar o desempenho e disponibilidade, utiliza-se como artifício a distribuição de dados e múltiplos servidores, permitindo a escalabilidade horizontal. 

Porém isso acarreta problemas.

Eventual consistency 

O primeiro conceito que precisa ser entendido no modelo BASE é o conceito de “Consistência Eventual”. Para entender como isso funciona, vamos imaginar que um database possui 2 nós e que todo dado gravado em um dos nós é replicado para o outro.

Com esta configuração, passamos a ter duas opções de leitura da informação, dobrando o desempenho da leitura.

Porém, para não prejudicar o desempenho da escrita, a aplicação faz alterações em apenas um dos nós e, através de um processo independente, estas alterações são replicadas para o outro nó.

Como esta replicação não ocorre instantaneamente (não atômica), existe a possibilidade de que uma aplicação lendo a mesma informação a partir dos dois nós obtenha valores distintos, sendo considerados inconsistentes.

Entretanto, se uma informação não sofre alterações por algum tempo, podemos esperar que ao término da replicação, os dados fiquem iguais, voltando a ser consistentes.

Soft state 

O segundo conceito envolvido no modelo BASE é o conceito de “Soft State”.

Se imaginarmos os estados pelos quais uma transação passa, podemos ter períodos em que está ativa, em processo de finalização, sendo abortada ou concluída.

Seguindo o mesmo princípio, uma transação distribuída só pode ser considerada “concluída” quando de fato a alteração foi replicada para todos os nós.

Antes que isso ocorra, a leitura da informação a partir de todos os nós pode retornar dados inconsistentes e não temos como saber se: 1 – a alteração falhou no segundo nó ou 2 – devido à alta latência, o dado ainda não tenha sido replicado. 

Ao não podermos afirmar em que estado a transação se encontra, temos o “Soft State”

Basically Available 

O conceito de “Basicamente Disponível” tem a ver com a durabilidade e disponibilidade de uma alteração.

Em um banco de dados com dados distribuídos, todos os nós são considerados disponíveis e é possível que duas aplicações alterem uma determinada informação, simultaneamente, cada uma em um nó diferente.

Ao executar a replicação, o banco percebe uma inconsistência e precisa resolver o problema.

Imaginemos uma informação com conteúdo ‘A’, sendo alterada de ‘A’ para ‘B’, no nó 1, pela aplicação 1 e, simultaneamente, sendo alterada de ‘A’ para ‘C’, no nó 2, pela aplicação 2.

Qual deveria ser o resultado final, após a “convergência” dos dados? ‘B’ ou ‘C’?

Uma das informações deverá ser descartada, fazendo com que o dado não permaneça disponível.

Além disso, um dado recém inserido em um dos nós e ainda não replicado, também não pode ser lido através do outro nó, tornando-o temporariamente indisponível.

Dados estes problemas do modelo BASE, em que circunstâncias esse modelo poderia ser utilizado de forma segura? 

Um exemplo disso são os sistemas de pesquisa de conteúdo, como o Google e o Youtube. 

Ao pesquisar por uma informação, eventualmente podemos receber uma resposta incompleta. Porém, isso não afeta o funcionamento geral do sistema e não afeta de forma generalizada todas as informações na base. Podemos criar um número ilimitado de réplicas, aumentando em muito a capacidade de processamento e, uma eventual inconsistência ou perda de dados não impacta sensivelmente o resultado.

Embora os conceitos ACID e BASE não sejam indicadores de bancos de dados RELACIONAIS ou NoSQL, respectivamente, é comum encontrarmos bancos relacionais que implementam os princípios ACID e bancos NoSQL que implementam os princípios BASE.

Um exemplo de exceção a isso é o banco Oracle NoSQL que pode trabalhar com os dois modelos. Ele funciona com os princípios BASE na maior parte do tempo, devido a transações distribuídas, mas consegue efetuar transações com múltiplas operações em um mesmo nó, com o modelo ACID.

Tags:
DatabaseTechnology

Related

AI Operations Infrastructure Services Managed Services

[Portuguese Only] AI Operations: A Real Transformação dos Serviços de TI para o Negócio

Leonardo Schumacher
Infrastructure Services Managed Services

[Portuguese Only] Cloud sim, mas com governança

Leonardo Schumacher
Edge VMware Cloud VMware Partner

[Portuguese Only] Evolução das redes virtualizadas VMware

Fernando Henrique
AI Operations Edge VMware Cloud Infrastructure Services Managed Services

[Portuguese Only] O desafio do armazenamento de dados com a evolução tecnológica

Rafael Pedrosa

Get in touch

Our team of specialists is ready to meet your company's demands, so it can achieve better results.

Contact usseta
Logo Edge UOL

Edge UOL

Who we are Careers Partners News

Partners

Case Studies

Solutions

ManageEngine Hybrid & Multicloud Services Edge VMware Cloud AI Operations Cybersecurity Private Networks Payment Solutions Hosting and Colocation

Tech Universe

Cybersecurity Cloud Computing Payment Gateway ITSM and IT Governance IoT and Edge Computing Autonomous Operations Digital Transformation Private Networks

Tech Insights

Articles E-books Events Web series

Contact Us

Grupo UOL
Privacy Policy
Terms of use
Information security
Quality management policy
Accessibility
facebook Edge UOL linkedin Edge UOL youtube Edge UOL instagram Edge UOL
© Edge UOL - 2021 - 2025 - All rights reserved
Logo LVT