Projeto Inter. - Banco de Dados | Page 6

A – Atomicidade: Indica que a transação deve ter todas as suas ações concluídas ou não. Caso todas as ações da transação sejam terminadas com sucesso, então é executado o Commit na transação inteira; caso contrário, a transação inteira deve ser revertida, Rollback.

C – Consistência: A execução de uma transação isolada preserva a consistência do banco de dados.

I – Isolamento: Cada transação não toma conhecimento de outras transações concorrentes.

D – Durabilidade: Depois que transação for completada com sucesso (Commit), as mudanças que ela faz no banco de dados persistem.

Protocolos de efetivação

Em ambiente distribuído, podem existir transações locais e globais. Transações locais seriam aquelas que iniciam e terminam no mesmo nó, não afetando outros servidores para realizar determinada transação. Já as globais seriam aquelas que iniciam em determinado nó e terminam em outro nó, ou iniciam e terminam no mesmo nó, porém no meio da transação foi necessário acessar outro nó para realizar alguma operação, afetando assim outro servidor em algum momento do processamento.

Os protocolos de efetivação garantem integridade de transação distribuída que atinge mais de um servidor, fazendo com que a transação só seja efetuada (Commit) ou abortada (Rollback) quando todos os servidores entram em um acordo.

Two-Phase Commit

O protocolo de efetivação Two-Phase Commit é composto por duas fases, em que todos os servidores envolvidos na transação T entram em acordo se efetivaram (Commit) ou abortaram (Rollback) a transação.

Theree-Phase Commit

O protocolo Theree-Phase Commit é uma continuação do protocolo de duas fases em que é adicionada uma terceira fase que busca a diminuição de falhas do coordenador. Com a implementação da terceira fase, a troca de dados entre coordenador e gerenciadores de transação aumenta o grau de complexidade e proporciona um maior trafego na rede (overhead).

Vantagens na utilização de BDD

A confiabilidade assim como a disponibilidade visam ao funcionamento do sistema mesmo com falhas, mas sem violar a consistência do banco de dados.

Autonomia local, um departamento pode controlar seus dados (já que é o mais familiarizado com eles).

O aumento de desempenho é uma vantagem em um sistema de banco de dados distribuídos, a consulta pode ser subdividida e realizada paralelamente.

Maior disponibilidade – uma falha em um banco de dados afetará somente um fragmento, em vez do banco de dados inteiro.