Um Banco de Dados com propriedades ACID é fundamental para qualquer aplicação crítica.
Uma das considerações mais relevantes ao decidir pela utilização ou não de uma tecnologia de banco de dados é saber se o banco possui propriedades ACID (Atomicity, Consistency, Isolation, Durability), essas 4 característica possibilitam garantias que impactam diretamente o negócio.
Atomicidade: Controle sobre inicio e fim da transação, é a garantia que todo o bloco de transações foi executado integralmente.
Consistência: A garantia de que um dado está íntegro durante e após a transação.
Isolação: Controle sobre os dados de uma transação onde uma transação no banco de dados não pode impactar nos dados das transações em paralelo.
Durabilidade: Controle da persistência do dado garantindo que após o “commit” é necessário que os dados esteja 100% íntegro e disponível mesmo em caso de falha.
As propriedades ACID das transações permitem o desenvolvimento de aplicações sem a preocupação de considerar o ambiente complexo em que o aplicativo será executado podendo – com isso – se concentrar na lógica da aplicação e não na detecção de falhas, recuperação e sincronização do acesso aos dados compartilhados.
Os bancos de dados relacionais são geralmente possuem propriedades ACID. Podemos citar: MySQL, PostgreSQL, Oracle, SQLite e Microsoft SQL Server.
Se na química existe o ph ACIDO e BÁSICO em banco de dados existe o ACID e o BASE.
A ascensão dos bancos de dados NoSQL forneceu uma maneira flexível e fluida de manipular dados. Como resultado, um novo modelo de banco de dados foi projetado, refletindo essas propriedades.
BASE é o acrônimo para Basically Available, Soft State e Eventually Consistent
Basically Available – em vez de impor consistência imediata, os bancos de dados NoSQL modelados em BASE garantirão a disponibilidade dos dados, espalhando-os e replicando-os nos nós do cluster de banco de dados.
Soft State – devido à falta de consistência imediata, os valores dos dados podem mudar com o tempo. O modelo BASE rompe com o conceito de banco de dados que impõe consistência própria, delegando essa responsabilidade aos desenvolvedores.
Eventually Consistent – O fato de que o BASE não impõe consistência imediata não significa que nunca a atinge. No entanto, até que isso aconteça, as leituras de dados ainda são possíveis (embora possam não refletir a realidade).
Assim como os bancos de dados relacionais são geralmente compatíveis com ACID, os bancos de dados NoSQL tendem a estar em conformidade com os princípios BASE. Podemos citar: MongoDB, Cassandra, Redis, Amazon DynamoDB e Couchbase.
Você gostou deste artigo?
Veja outros que temos:
Fique por dentro das novidades:

Conheça o mundo open source.
Faça nossos cursos starter, todos com certificado de conclusão!
