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.
Colocar um curso da 4Linux no seu LinkedIn faz toda a diferença!
Transforme a sua carreira agora, invista em um curso que não é palestra e sim cursos para quem quer aprender de verdade, colocando a ‘mão na massa’.
Aprenda com a única escola que também implementa projetos, trazendo essa experiência do mundo corporativo para a sala de aula.
Já treinamos +200.000 profissionais em nossos +40 cursos nas áreas de: Cloud, Containers, DevOps, Linux, Banco de Dados, Monitoramento de TI, Segurança.
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.