Pular para o conteúdo principal

O que são transações ACID? Um guia completo para iniciantes

Você já se perguntou como os bancos de dados mantêm seus dados seguros e consistentes? Este guia detalha as transações ACID com explicações simples, exemplos e práticas recomendadas.
Actualizado 19 de fev. de 2025  · 25 min de leitura

Imagine um cliente ligando confuso porque seu dinheiro foi deduzido, mas nunca creditado ao destinatário, ou porque um pedido foi feito sem atualizar o estoque. Esses problemas ocorrem quando a integridade dos dados não é aplicada. É aí que entram os princípios do ACID.

Os princípios ACID são aplicados para garantir que cada transação seja processada de forma confiável, mantendo os dados seguros e os sistemas funcionando sem problemas. A compreensão desses princípios é fundamental para a criação de sistemas confiáveis e tolerantes a falhas.

Neste guia, você aprenderá: 

  • Por que as transações ACID são importantes.
  • Como eles garantem o bom funcionamento dos sistemas de banco de dados.
  • Exemplos reais de seu uso.
  • Práticas recomendadas para trabalhar com eles.

Vamos lá! 

O que são transações ACID?

As transações ACID referem-se a quatro propriedades que garantem o processamento confiável das transações do banco de dados. Os quatro princípios são: 

  • Atomicidade
  • Consistência
  • Isolação
  • Durabilidade

Esses princípios garantem que as transações sejam executadas integralmente, sem atualizações parciais ou corrupção de dados, mesmo em caso de falhas no sistema. As transações ACID são essenciais em cenários em que a integridade dos dados é fundamental. 

Nas transações bancárias, o ACID garante que o dinheiro seja totalmente transferido ou não seja transferido, evitando problemas como transferências parciais ou deduções duplas. No comércio eletrônico, os princípios ACID garantem que os pedidos dos clientes sejam processados corretamente, que os pagamentos sejam concluídos e que as atualizações de inventário reflitam os níveis de estoque em tempo real. Da mesma forma, nos sistemas de gerenciamento de estoque, o ACID mantém a consistência ao evitar discrepâncias de estoque devido a transações simultâneas.

Detalhando as propriedades do ACID

Cada uma das quatro propriedades que compõem os princípios da ACID aborda um aspecto específico do gerenciamento de transações.

Vamos explorar essas propriedades para entender como elas contribuem para sistemas de banco de dados robustos.

Atomicidade

A atomicidade garante que uma transação seja tratada como uma unidade única e indivisível. Isso significa que todas as operações em uma transação devem ser totalmente concluídas ou não devem ser concluídas. Se alguma parte da transação falhar, o sistema reverterá toda a transação, garantindo que não ocorram atualizações parciais.

Exemplo: Em uma transação bancária, a atomicidade garante que ambas as operações sejam concluídas com êxito quando o dinheiro é debitado de uma conta e creditado em outra. Se o débito ou o crédito falharem, a transação será totalmente revertida.

Consistência

A consistência garante que uma transação leve o banco de dados de um estado válido para outro, ao mesmo tempo em que adere a regras ou restrições predefinidas. Após a conclusão de uma transação, os dados devem atender a todas as regras de integridade do banco de dados.

Exemplo: No setor bancário, a consistência garante que o saldo total de todas as contas permaneça inalterado após uma transferência. Por exemplo, se US$ 100 forem transferidos entre contas, a soma dos saldos de ambas as contas permanecerá a mesma para preservar as regras contábeis.

Isolamento

O isolamento impede que as transações interfiram umas nas outras. Quando várias transações são executadas simultaneamente, o isolamento garante que elas não afetem os resultados umas das outras. Cada transação deve ser isolada para evitar conflitos, especialmente em ambientes de alta concorrência.

Exemplo: Se dois clientes tentarem comprar o último item em estoque ao mesmo tempo, o isolamento garante que apenas uma transação será bem-sucedida e o inventário será atualizado corretamente para refletir a alteração.

Durabilidade

A durabilidade garante que, depois que uma transação é concluída, suas alterações são armazenadas permanentemente no banco de dados (mesmo que o sistema trave imediatamente depois). Isso garante que os dados permaneçam intactos e acessíveis após falhas.

Exemplo: Em um sistema de comércio eletrônico, a durabilidade garante que os dados do pedido sejam salvos no banco de dados depois que o cliente concluir a compra. Mesmo que o servidor caia momentos depois, o registro da compra permanece intacto e pode ser recuperado quando o sistema for restaurado.

Propriedades do ácido.

Propriedades do ácido. Imagem do autor

Transações ACID em bancos de dados relacionais

A maioria dos bancos de dados relacionais é construída com princípios ACID em sua essência. Isso significa que eles são projetados para manter a precisão e a confiabilidade dos dados.

Nesta seção, vamos explorar como os bancos de dados implementam as propriedades ACID.

Para os iniciantes em bancos de dados relacionais, este curso Introduction to Relational Databases in SQL é perfeito para você criar uma base sólida.

Como o ACID é implementado em bancos de dados SQL

Os bancos de dados SQL tradicionais aplicam as propriedades ACID por meio de mecanismos de controle de transações, como os comandos SQL, como BEGIN, COMMIT e ROLLBACK. Esses comandos gerenciam as transações, enquanto os logs e bloqueios de transações garantem a integridade dos dados.

Por exemplo:

  • A atomicidade é gerenciada usando ROLLBACK em caso de erros, evitando atualizações parciais.
  • A consistência é imposta por meio de restrições (por exemplo, chaves estrangeiras, chaves exclusivas) para manter a integridade dos dados.
  • O isolamento é implementado por meio de bloqueios para evitar conflitos entre transações simultâneas.
  • A durabilidade é obtida com a persistência das transações, garantindo que elas não sejam perdidas depois de confirmadas, mesmo em caso de falha.

Conformidade com ACID em diferentes sistemas de banco de dados

A maioria dos bancos de dados SQL vem com conformidade ACID integrada para manter a integridade transacional. Sistemas como MySQL, PostgreSQL, Oracle e Microsoft SQL Server usam logs de transações (por exemplo, Write-Ahead Logging no PostgreSQL) e protocolos de bloqueio (por exemplo, bloqueio de duas fases) para impor propriedades ACID. Esses mecanismos ajudam a preservar a integridade dos dados para cada transação.

Mais especificamente: 

  • MySQL: Usa o mecanismo de armazenamento InnoDB, que oferece suporte a transações compatíveis com ACID. Ele gerencia a atomicidade e a durabilidade por meio de um redo log que pode reverter transações com falha e recuperar as confirmadas.
  • PostgreSQL: Aproveita o Write-Ahead Logging (WAL) para garantir a durabilidade e a consistência, registrando as alterações em um log antes de aplicá-las ao banco de dados.
  • Oracle: Emprega segmentos de reversão e desfaz logs para garantir atomicidade e durabilidade, fornecendo controle robusto de transações.

Você trabalha com o SQL Server? Este curso sobre Transações e Tratamento de Erros no SQL Server é uma ótima maneira de dominar o controle de transações e garantir a integridade dos dados.

Exemplo de transação SQL com conformidade ACID

Aqui está um exemplo SQL simples de uma transação no PostgreSQL que adere aos princípios ACID. 

Este exemplo demonstra a transferência de dinheiro entre duas contas para garantir que a transação seja totalmente concluída ou totalmente revertida em caso de falha: 

BEGIN;

-- Step 1: Debit $500 from Account A
UPDATE accounts 
SET balance = balance - 500 
WHERE account_id = 'A';

-- Step 2: Credit $500 to Account B
UPDATE accounts 
SET balance = balance + 500 
WHERE account_id = 'B';

-- Commit the transaction if both steps succeed
COMMIT;

-- Rollback the transaction if an error occurs
ROLLBACK;

Nessa transação:

  • Se uma das atualizações falhar, a transação será revertida.
  • O banco de dados permanece válido, pois o saldo total em ambas as contas não foi alterado.
  • Se outra transação tentar modificar essas contas ao mesmo tempo, o bloqueio garante que uma seja concluída antes da outra.
  • Depois que a transação é confirmada, as alterações são salvas permanentemente, mesmo que o sistema trave em seguida.

Se você está começando a usar o SQL, este curso de Introdução ao SQL o ajudará a entender os fundamentos e a começar a escrever consultas com confiança.

ACID vs. Transações BASE em bancos de dados NoSQL

Embora as transações ACID tenham sido por muito tempo o padrão ouro para garantir a integridade dos dados em bancos de dados relacionais, os bancos de dados NoSQL geralmente priorizam a flexibilidade e a escalabilidade em detrimento da consistência transacional estrita. Essa mudança levou à adoção do BASE como uma alternativa ao ACID em determinados casos de uso. 

Vamos explorar o BASE, suas diferenças com o ACID e quando cada abordagem é preferível.

O que é BASE?

BASE é um acrônimo para Basically Available (basicamente disponível), Soft State (estado suave), Eventual consistency (consistência eventual). Ele define um conjunto de propriedades projetadas para bancos de dados NoSQL, com foco na disponibilidade e flexibilidade em vez de consistência estrita.

Vamos definir os princípios:

  • Basicamente disponível: O sistema garante a disponibilidade, o que significa que responderá às solicitações mesmo que algumas partes do sistema estejam inativas ou inacessíveis.
  • Estado suave: Devido às atualizações assíncronas, o estado do sistema pode mudar com o tempo, mesmo sem entrada.
  • Eventual consistência: Os dados acabarão se tornando consistentes, mas pode haver períodos em que eles estejam temporariamente inconsistentes.

Diferenças entre ACID e BASE

As principais diferenças entre ACID e BASE giram em torno das compensações feitas em termos de consistência, disponibilidade e desempenho:

Consistência

O ACID garante que o banco de dados seja sempre consistente após uma transação, com regras rígidas para manter a integridade dos dados. Por outro lado, o BASE sacrifica a consistência estrita em favor da disponibilidade e do desempenho. Isso permite inconsistências temporárias até que o sistema atinja um estado consistente.

Disponibilidade

Os sistemas ACID priorizam a consistência e a durabilidade em relação à disponibilidade, portanto, podem ficar indisponíveis durante determinadas falhas. Os sistemas BASE são projetados para alta disponibilidade. Isso garante que o sistema permaneça responsivo mesmo durante partições ou falhas na rede.

Escalabilidade

Os sistemas ACID podem enfrentar desafios ao escalonar horizontalmente em sistemas distribuídos, pois manter a consistência estrita pode exigir muitos recursos. Os sistemas BASE são mais dimensionáveis e geralmente são criados para o dimensionamento horizontal para lidar com grandes volumes de dados e tráfego com menos ênfase na consistência imediata.

Casos de uso para ACID e BASE

As transações ACID são ideais quando a consistência dos dados é fundamental, por exemplo:

  • Transações financeiras: A precisão e a consistência são cruciais na transferência de dinheiro ou no processamento de pagamentos.
  • Sistemas de inventário: Garantir que os níveis de estoque sejam atualizados com precisão é vital para evitar excesso de vendas ou discrepâncias.
  • Processamento de pedidos: Para satisfazer os clientes no comércio eletrônico, os pedidos precisam ser processados de forma correta e consistente.

As transações BASE são preferidas quando a escalabilidade, a alta disponibilidade e o desempenho superam a necessidade de consistência estrita, por exemplo:

  • Feeds de mídia social: A consistência dos dados é menos crítica, e inconsistências temporárias em publicações ou curtidas são aceitáveis, desde que o sistema permaneça responsivo.
  • Redes de distribuição de conteúdo: O fornecimento de conteúdo aos usuários com latência mínima é priorizado em relação à consistência. 

ÁCIDO vs BASE: Uma tabela de comparação

Recurso

ACID

BASE

Formulário completo

Atomicidade, consistência, isolamento, durabilidade

Basicamente disponível, estado suave, eventualmente consistente

Princípio fundamental

Garante transações confiáveis e consistentes

Prioriza a disponibilidade e o desempenho em relação à consistência estrita

Modelo de consistência

Consistência estrita

Eventual consistência

Integridade dos dados

Alta - Garante a integridade dos dados em todos os momentos

Inferior - Permite inconsistências temporárias

Tratamento de transações

As transações devem ser totalmente concluídas ou não devem ser concluídas

Transações de melhor esforço - podem ser incompletas ou inconsistentes temporariamente

Escalabilidade

Limitado - Funciona melhor com bancos de dados relacionais monolíticos ou tradicionais

Alto - Projetado para sistemas distribuídos e dimensionáveis

Latência

Maior - Devido a requisitos rigorosos de consistência

Menor - Permite tempos de resposta mais rápidos

Casos de uso

Transações financeiras, gerenciamento de estoque, processamento de pedidos

Plataformas de mídia social, análise em tempo real, redes de fornecimento de conteúdo

Se você estiver curioso para saber como os princípios BASE se aplicam aos bancos de dados NoSQL, confira este curso Conceitos de NoSQL - é um ótimo ponto de partida para entender as compensações.

Desafios comuns com transações ACID

A implementação de transações ACID não é isenta de desafios. Esses desafios são particularmente evidentes em ambientes de alta transação, sistemas distribuídos e no gerenciamento de transações simultâneas. 

Nesta seção, vamos nos aprofundar nos principais problemas enfrentados ao trabalhar com transações ACID.

Custos de desempenho das transações ACID

Uma das principais compensações ao usar transações ACID é o desempenho. Garantir a atomicidade, a consistência e a durabilidade tem um custo, principalmente quando o banco de dados lida com grandes volumes de transações. 

Os requisitos de manutenção dessas propriedades podem retardar as operações das seguintes maneiras:

  • A atomicidade exige que todas as etapas de uma transação sejam executadas como uma única unidade, o que significa que o sistema deve garantir que, se uma parte da transação falhar, toda a transação será revertida. Esse processo de reversão pode consumir muitos recursos.
  • A consistência exige que as transações sempre levem o banco de dados a um estado válido, muitas vezes envolvendo a verificação de restrições, acionadores e regras de negócios. Essas verificações adicionais podem aumentar o tempo de processamento de cada transação.
  • A durabilidade garante que as alterações sejam permanentemente salvas depois que uma transação é confirmada, o que geralmente exige gravações em vários locais, incluindo logs de transações e armazenamento em disco. Esse processo de armazenamento persistente pode reduzir a taxa de transferência geral do sistema.

À medida que o volume de transações aumenta, esses processos podem levar a gargalos que limitam a escalabilidade e a capacidade de resposta do sistema.

Dificuldade em dimensionar bancos de dados compatíveis com ACID em sistemas distribuídos

Os princípios ACID são tradicionalmente projetados para sistemas centralizados ou de nó único, em que a integridade dos dados e a consistência transacional são mais fáceis de gerenciar. No entanto, à medida que os bancos de dados crescem em escala, especialmente em clusters geograficamente distribuídos, a manutenção das propriedades ACID se torna mais complexa.

  • Transações distribuídas: Em um ambiente distribuído, as transações podem abranger vários nós ou locais. Garantir que todos os nós participantes concordem com o resultado de uma transação pode ser difícil, especialmente quando ocorre latência ou partições de rede. Técnicas como o protocolo de confirmação de duas fases são usadas com frequência, mas podem aumentar a sobrecarga e a complexidade.
  • Replicação de dados: Os bancos de dados compatíveis com ACID geralmente replicam os dados em vários servidores para garantir a durabilidade. No entanto, sincronizar esses dados e garantir que todas as réplicas sejam consistentes pode ser lento e exigir muitos recursos. Atrasos na rede e falhas no servidor podem complicar ainda mais a consistência dos dados replicados.

O dimensionamento de bancos de dados compatíveis com ACID exige um gerenciamento cuidadoso da consistência e da durabilidade em todos os nós, o que é problemático (especialmente para sistemas altamente dinâmicos ou distribuídos globalmente).

Gerenciando transações simultâneas e preservando o isolamento

As transações simultâneas representam outro desafio para os bancos de dados compatíveis com ACID em ambientes multiusuários. O isolamento garante que as transações simultâneas não interfiram umas nas outras, mas para isso são necessários mecanismos para gerenciar e controlar o acesso aos dados. 

O método mais comum de gerenciar a simultaneidade é por meio de mecanismos de bloqueio, mas eles vêm com seu próprio conjunto de desafios:

  • Travamento: Os bancos de dados empregam bloqueios (por exemplo, bloqueios em nível de linha e de tabela) para evitar que transações conflitantes acessem os mesmos dados simultaneamente. O bloqueio garante o isolamento, mas pode levar a deadlocks, em que duas ou mais transações aguardam que a outra libere os bloqueios.
  • Bloqueio de contenção: Altos níveis de simultaneidade podem levar à contenção de bloqueios, em que as transações frequentemente bloqueiam umas às outras, tornando o sistema geral mais lento. À medida que o número de transações aumenta, o gerenciamento de bloqueios se torna mais complexo e pode afetar negativamente o desempenho.
  • Reversão da transação: Se ocorrer um deadlock ou for detectado um conflito, talvez seja necessário reverter uma das transações, o que leva ao desperdício de recursos e à redução do rendimento.

Práticas recomendadas para trabalhar com transações ACID

A aplicação das práticas recomendadas pode beneficiar significativamente a longevidade do seu sistema em sistemas de alto volume ou ambientes complexos. 

Aqui estão algumas práticas importantes para que você trabalhe com transações ACID de forma eficaz.

Implementar o gerenciamento adequado de transações

Uma das práticas recomendadas mais importantes é implementar transações somente quando necessário. Sim, as propriedades ACID são essenciais para operações que exigem integridade dos dados, mas o uso de transações para todas as operações do banco de dados pode introduzir sobrecarga desnecessária e gargalos de desempenho.

  • Minimizar o escopo da transação: Restrinja o escopo de cada transação às operações críticas que exigem absolutamente atomicidade e consistência. Evite envolver operações somente de leitura desnecessárias.
  • Use transações menores: Se possível, divida operações maiores e complexas em transações menores. Isso pode reduzir o volume de trabalho realizado por transação. 
  • Você pode confirmar ou reverter rapidamente: Sempre garanta que as transações sejam confirmadas ou revertidas o mais rápido possível para liberar recursos e evitar bloqueios de longa duração.

Essencialmente, a chave é se concentrar apenas nas operações críticas. Isso protegerá a integridade do seu banco de dados sem incorrer em sobrecarga excessiva.

Otimizar para concorrência

A otimização das configurações do banco de dados e a aplicação de controles de simultaneidade são essenciais para manter o desempenho e, ao mesmo tempo, garantir que várias transações possam ser executadas simultaneamente sem comprometer a propriedade de isolamento.

  • Níveis de isolamento de transações: Escolha o nível de isolamento adequado com base nas necessidades do seu aplicativo. Por exemplo, READ COMMITTED é adequado para muitos aplicativos, mas SERIALIZABLE pode ser necessário para cenários em que é necessário um isolamento rigoroso. Esteja ciente de que níveis de isolamento mais altos podem aumentar a contenção e reduzir a taxa de transferência.
  • Mecanismos de travamento: Configure adequadamente os mecanismos de bloqueio para garantir a integridade dos dados e, ao mesmo tempo, permitir altos níveis de simultaneidade. Por exemplo, o bloqueio em nível de linha (em vez de bloqueio em nível de tabela) pode ajudar a evitar gargalos quando várias transações tentam acessar os mesmos dados.
  • Controle de simultaneidade otimista: Em alguns casos, você pode implementar um controle de simultaneidade otimista para evitar totalmente o bloqueio. Essa abordagem pressupõe que os conflitos serão raros e valida os dados somente no momento da confirmação, o que pode ser mais eficiente do que bloquear registros durante a transação.

A otimização da simultaneidade protege seu sistema e o mantém responsivo (mesmo ao lidar com transações simultâneas). 

Monitorar e registrar transações

O monitoramento e o registro devem ser feitos para manter você informado sobre a saúde e a eficiência do seu sistema de banco de dados.

  • Monitore o desempenho da transação: Use ferramentas para acompanhar o desempenho das transações em tempo real. Procure consultas lentas, bloqueios excessivos ou reversões frequentes, o que pode indicar problemas de gerenciamento de transações ou de configuração do banco de dados.
  • Registre erros e exceções: Certifique-se de que todas as falhas de transação, reversões e conflitos sejam registrados para análise posterior. Isso ajuda a identificar problemas recorrentes, solucionar problemas e fazer melhorias.
  • Analisar o rendimento da transação: Acompanhe o número de transações que estão sendo processadas e avalie se o sistema lida com a carga de forma eficaz. Se o número de transações exceder a capacidade do sistema, talvez você precise otimizar sua configuração ou distribuir a carga de forma mais uniforme.

O monitoramento e o registro eficazes permitem que você gerencie seu banco de dados de forma proativa. Quanto mais você souber sobre o seu sistema de banco de dados, mais poderá atualizá-lo para garantir que ele continue a atender às demandas do seu aplicativo.

Conclusão

Neste artigo, exploramos os princípios essenciais das transações ACID. Discutimos a importância dessas propriedades em cenários como transações financeiras, pedidos de comércio eletrônico e sistemas de inventário e destacamos como elas são implementadas em bancos de dados SQL populares.

Além disso, examinamos as diferenças entre as transações ACID e BASE, os desafios de dimensionar sistemas compatíveis com ACID e as práticas recomendadas para gerenciar transações com eficiência.

Se você quiser se aprofundar em como as transações ACID funcionam no PostgreSQL, recomendo fortemente este curso sobre Transações e Tratamento de Erros no PostgreSQL.

Torne-se um engenheiro de dados

Comprove suas habilidades como engenheiro de dados pronto para o trabalho.
Acelerar minha carreira de dados

Perguntas frequentes

Como as transações ACID funcionam em bancos de dados distribuídos?

Em bancos de dados distribuídos, obter conformidade estrita com ACID pode ser um desafio devido a atrasos na rede e problemas de particionamento. Tecnologias como Two-Phase Commit (2PC) e Three-Phase Commit (3PC) ajudam a coordenar as transações em vários nós, garantindo a consistência. No entanto, eles introduzem latência e possíveis gargalos, razão pela qual alguns bancos de dados distribuídos preferem o BASE ao ACID. Abordagens mais recentes, como o Spanner e o CockroachDB do Google, usam protocolos de consenso distribuído, como o Paxos ou o Raft, para manter uma consistência forte e, ao mesmo tempo, escalonar globalmente.

As transações ACID podem ser otimizadas em termos de desempenho?

Sim, as otimizações de desempenho para transações ACID incluem:

  • Operações de loteamento: O agrupamento de várias gravações em uma única transação reduz a sobrecarga.
  • Uso eficiente de índices: A otimização de consultas com indexação adequada minimiza a duração da transação.
  • Controle de simultaneidade otimista: Reduz a contenção de bloqueios presumindo que as transações não entrarão em conflito e validando no momento do commit.
  • Ajuste dos níveis de isolamento: Níveis de isolamento mais baixos (por exemplo, Read Committed em vez de Serializable) podem melhorar o desempenho e, ao mesmo tempo, equilibrar as necessidades de consistência.

Qual é a diferença entre as transações ACID e as operações idempotentes?

As transações ACID garantem que cada transação seja executada exatamente uma vez e totalmente concluída (ou totalmente revertida). Por outro lado, as operações idempotentes garantem que as execuções repetidas produzam o mesmo resultado sem efeitos colaterais indesejados. Por exemplo, a atualização de um registro (UPDATE users SET balance = 100 WHERE id = 1) é idempotente, mas o incremento de um saldo (UPDATE users SET balance = balance + 100 WHERE id = 1) não é idempotente, a menos que esteja envolvido em uma transação ACID para evitar condições de corrida.

Como os bancos de dados modernos equilibram os princípios ACID e BASE?

Muitos bancos de dados modernos implementam uma abordagem híbrida, oferecendo consistência forte quando necessário e consistência eventual quando a escalabilidade é priorizada.

  • Os bancos de dados NewSQL, como Google Spanner, CockroachDB e YugabyteDB, usam arquiteturas distribuídas e mantêm a conformidade com ACID.
  • O MongoDB e o Cassandra seguem principalmente o BASE, mas oferecem suporte a transações para operações com vários documentos.
  • Bancos de dados como o PostgreSQL suportam replicação lógica e configurações de vários mestres para oferecer alta disponibilidade sem sacrificar totalmente as garantias de ACID.

Quais são as vantagens e desvantagens das transações ACID e das arquiteturas orientadas por eventos?

Em arquiteturas orientadas por eventos, os microsserviços geralmente se comunicam por meio de registros de eventos (por exemplo, Kafka) em vez de transações ACID rigorosas. As vantagens e desvantagens incluem:

  • Escalabilidade: Os sistemas orientados por eventos são dimensionados horizontalmente, enquanto as transações ACID introduzem contenção e bloqueio.
  • Consistência: O ACID garante uma consistência forte, enquanto os sistemas orientados por eventos favorecem a consistência eventual.
  • Complexidade: As arquiteturas orientadas por eventos requerem idempotência, desduplicação de mensagens e processamento exatamente único para evitar problemas que as transações ACID tratam naturalmente.
  • Resiliência: O ACID garante a durabilidade por meio de registros transacionais, enquanto os sistemas orientados por eventos mantêm a confiabilidade por meio de mecanismos como fornecimento de eventos e padrões de saga.

Kurtis Pykes 's photo
Author
Kurtis Pykes
LinkedIn
Temas

Saiba mais sobre engenharia de dados e bancos de dados com estes cursos!

curso

Introduction to Data Engineering

4 hr
116.7K
Learn about the world of data engineering in this short course, covering tools and topics like ETL and cloud computing.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

O que é um banco de dados gráfico? Um guia para iniciantes

Explore o intrincado mundo dos bancos de dados gráficos com nosso guia para iniciantes. Entenda as relações entre os dados, aprofunde-se na comparação entre bancos de dados relacionais e gráficos e explore casos de uso práticos.
Kurtis Pykes 's photo

Kurtis Pykes

11 min

SQL Programming Language

blog

O que é SQL? - A linguagem essencial para o gerenciamento de bancos de dados

Saiba tudo sobre o SQL e por que ele é a linguagem de consulta ideal para o gerenciamento de bancos de dados relacionais.
Summer Worsley's photo

Summer Worsley

16 min

tutorial

Introdução aos acionadores SQL: Um guia para desenvolvedores

Saiba como usar os acionadores SQL para automatizar tarefas, manter a integridade dos dados e melhorar o desempenho do banco de dados. Experimente exemplos práticos como os comandos CREATE, ALTER e DROP no MySQL e no Oracle.
Oluseye Jeremiah's photo

Oluseye Jeremiah

13 min

tutorial

Tutorial de visão geral do banco de dados SQL

Neste tutorial, você aprenderá sobre bancos de dados em SQL.
DataCamp Team's photo

DataCamp Team

3 min

tutorial

Exemplos e tutoriais de consultas SQL

Se você deseja começar a usar o SQL, nós o ajudamos. Neste tutorial de SQL, apresentaremos as consultas SQL, uma ferramenta poderosa que nos permite trabalhar com os dados armazenados em um banco de dados. Você verá como escrever consultas SQL, aprenderá sobre
Sejal Jaiswal's photo

Sejal Jaiswal

21 min

tutorial

Tutorial do MySQL: Um guia abrangente para iniciantes

Descubra o que é o MySQL e como começar a usar um dos sistemas de gerenciamento de banco de dados mais populares.
Javier Canales Luna's photo

Javier Canales Luna

15 min

Ver maisVer mais