TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Transações Distribuídas

Resenha: Transações Distribuídas. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  15/3/2014  •  Resenha  •  481 Palavras (2 Páginas)  •  184 Visualizações

Página 1 de 2

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.

...

Baixar como  txt (3.1 Kb)  
Continuar por mais 1 página »