Transações Distribuídas
Resenha: Transações Distribuídas. Pesquise 862.000+ trabalhos acadêmicosPor: • 15/3/2014 • Resenha • 481 Palavras (2 Páginas) • 217 Visualizações
2 Bancos de dados Distribuídos
Um banco de dados distribuído é uma infra-estrutura que integra de forma transpa-rente uma coleção de sistemas gerenciadores de bancos de dados que estão interco-nectados por uma rede de computadores. Os usuários deste banco abstraem toda es-ta infra-estura e os visualizam de uma forma integrada e global. Um sistema geren-ciador de banco de dados distribuído (SGDB Distribuído) é o software que implemen-ta o conceito de banco de dados distribuído[1].
3 Transações Distribuídas
A transação é uma ação executada sobre um banco de dados que gera uma nova versão do banco de dados, porém esta ação deve ser atômica e confiável a fim de manter a consistência dos dados. Uma transação em um banco de dados encontra algumas dificuldades para a sua execução, tais como: transações concorrentes e ocorrência de falhas durante a sua execução. Dentro de uma transação de banco de dados podem ocorrer várias ações como as seguintes: leitura de dados, gravação de dados e computação sobre os dados. Uma transação para garantir sua eficiência ne-cessita das seguintes características (ACID)[1]:
1) Atomicidade: Todas as operações são executadas ou nenhuma;
2) Consistência: uma transação sai de um estado consistente para outro;
3) Isolamento: uma transação não enxerga outra concorrente;
4) Durabilidade: uma vez a transação completada os seus dados são persistidos no banco de dados e não podem mais ser apagados.
Uma transação distribuída deve respeitar as propriedades ACID, porém em um am-biente distribuído[1].
4 Two-phase Commit (2PC)
O problema de um commit distribuído, é que ele deve manter a consistência dos da-dos. Um coordenador de uma transação (tr), não pode executar um commit logo após executar suas operações locais em um processador (p) para enviar o resultado para os outros participantes, pois ele depende do resultado dos outros processos par-ticipantes pi Є Ptr . No caso de pelo menos um processo falhar, a transação não pode executar o commit, pois a transação é atômica. Então, o problema do processo de commit é garantir que todos os processos participantes da transação tenham atuali-zado e executado localmente suas transações com o intuito de evitar a inconsistência e garantir um commit global da transação. Neste caso, o coordenador deve assegurar que todos os sites participantes tenham executado localmente as suas transações a fim de executar a transação global. De acordo com Randy Chow [2] um protocolo de commit deve executar as seguintes condições:
1) Todos os processos devem chegar a uma mesma decisão de abortar ou de commit.
2) Um processador não pode reverter a sua decisão depois de tomada.
3) A decisão de “commit” é realizada se todos os participantes aceitam o commit da transação.
4) Se não existir falhas e todos os processadores aceitarem o commit da transação, então a decisão é commit.
5) No caso de todos os participantes da transação aceitarem o commit da transa-ção e todas as falhas tenham sido reparadas. Então, eventualmente a transação pode executar o commit.
...