A Edge UOL

    Descubra como transformamos a área de TI das melhores empresas do mercado.

    Quem somos Carreiras Notícias

    ManageEngineseta

    Assuma o controle do TI da sua empresa com as ferramentas necessárias para uma gestão integrada e segura.

      Gerenciamento de Identidade e Acesso Gerenciamento de Serviços Gerenciamento Unificado de Endpoints e Segurança Gerenciamento de Operações de TI Gerenciamento de Eventos de Segurança Analytics

    Hybrid & Multicloud Servicesseta

    Conte com especialistas para garantir que seus aplicativos rodem com máxima segurança e eficiência.

      Migração e Modernização FinOps CCoE – Centro de Excelência em Nuvem Well Architected

    Edge VMware Cloudseta

    Utilize nuvem híbrida com a segurança de ter o suporte de um dos mais importantes players do mercado.

      Edge VMware Cloud Recuperação de Sistemas como Serviço (DRaaS) Secure Desktop (DaaS) Edge Computing

    AI Operationsseta

    Minimize as interações manuais no ambiente de TI, aumentando a segurança e a produtividade.

      Serviços Gerenciados Monitoração Inteligente e Observabilidade MySQL Heatwave Patch Management as a Service DevOps Data & Analytics Inteligência Artificial Squads SAP Services Oracle Experts

    Cybersecurityseta

    Proteção de informações e sistemas, beneficiando empresas e seus clientes.

      AI Security Operations Center (SOC) Proteção de Endpoints Proteção de Aplicações Web Gestão de Vulnerabilidade Resposta a Incidentes Monitoramento de Proteção de Marca Cofre de Senhas Gerenciamento de Acesso Privilegiado (PAM)

    Private Networksseta

    Proporcione à sua empresa soluções em Redes Privativas que só uma integradora end-to-end pode oferecer.

      Consultoria Gestão de Redes Implantação de redes privativas 4G e 5G

    Payment Solutionsseta

    Pagamento, emissão de nota fiscal e transferência de documentos com credibilidade e segurança de dados.

      BPag - Gateway de pagamentos Notanet - Plataforma de emissão de notas fiscais EDI Transfer - Transferência de arquivos fiscais

    Hosting e Colocationseta

    Terceirização com eficiência, mantendo controle de tudo o que sua empresa precisa.

      Hosting Colocation
Parceiros Cases

    Inspire-se

    Universo Tech seta

    Entenda as inovações tecnológicas e como elas podem beneficiar sua empresa.

    Tech Insights seta

    Artigos, eventos e informações para ir além e mergulhar profundamente em cada tecnologia. Inspire-se a revolucionar sua empresa.

    Artigos E-books Eventos Webséries
Contato BR
  • EN - Inglês
  • BR - Português (Brazil)
Artigo/

Princípios de funcionamento ACID vs BASE nos bancos de dados

13 de October, 2022
AI Operations Serviços de Infraestrutura Serviços gerenciados
Por Arthur E. F. Heinrich
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:
Banco de dadosTecnologia

Relacionados

AI Operations Serviços de Infraestrutura Serviços gerenciados

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

Leonardo Schumacher
Serviços de Infraestrutura Serviços gerenciados

Cloud sim, mas com governança

Leonardo Schumacher
Edge VMware Cloud Parceiro Vmware

Evolução das redes virtualizadas VMware

Fernando Henrique
AI Operations Edge VMware Cloud Serviços de Infraestrutura Serviços gerenciados

O desafio do armazenamento de dados com a evolução tecnológica

Rafael Pedrosa
Ir para Artigos

Entre em contato

Nosso time de especialistas está pronto para atender às demandas de sua empresa, para que ela alcance melhores resultados

Fale Conoscoseta
Logo Edge UOL

A Edge UOL

Quem somos Carreiras Parceiros Notícias

Parceiros

Cases

Soluções

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

Universo Tech

Cibersegurança Cloud Computing Gateway de Pagamento GSTI e Governança de TI IoT e Edge Computing Operações Autônomas Transformação Digital Redes Privativas

Tech Insights

Artigos E-books Eventos Webséries

Contato

Grupo UOL
Política de Privacidade
Política de uso
Segurança da Informação
Política de Gestão de Serviços e Qualidade
Acessibilidade
facebook Edge UOL linkedin Edge UOL youtube Edge UOL instagram Edge UOL
© Edge UOL - 2021 - 2025 - Todos os direitos reservados
Logo LVT