Banco de dados Relacional ACID e NoSQL BASE

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 nosso blog, com diversos artigos técnicos

Fique por dentro das novidades relacionadas aos softwares open source usado em nossas soluções.

Conheça o mundo open source.

Faça nossos cursos gratuitos todos com certificado de conclusão!

Somos especialistas em implementar soluções PostgreSQL 

Desde a definição de arquitetura, planejamento de capacidade até o mentoring da equipe.
Teleragm Logo
Whatsapp Logo