Índice:
Definição - O que significa Transação Distribuída?
Uma transação distribuída é um tipo de transação com dois ou mais hosts de rede envolvidos. Geralmente, os hosts fornecem recursos e o gerente de transações é responsável por desenvolver e manipular a transação. Como qualquer outra transação, uma transação distribuída deve incluir todas as quatro propriedades ACID (atomicidade, consistência, isolamento, durabilidade). Dada a natureza do trabalho, a atomicidade é importante para garantir um resultado de tudo ou nada para o pacote de operações (unidade de trabalho).
Techopedia explica transações distribuídas
Bancos de dados são recursos transacionais padrão, e as transações geralmente se estendem a um pequeno número desses bancos de dados. Nesses casos, uma transação distribuída pode ser vista como uma transação de banco de dados que deve ser sincronizada entre vários bancos de dados participantes alocados entre vários locais físicos. A propriedade de isolamento apresenta um obstáculo único para transações com vários bancos de dados.Para transações distribuídas, cada computador possui um gerenciador de transações local. Se a transação funcionar em vários computadores, os gerenciadores de transações se comunicam com vários outros gerenciadores de transações por meio de relacionamentos superiores ou subordinados, que são precisos apenas para uma transação específica.
Os gerentes de recursos lidam com dados consistentes ou resilientes e cooperam estreitamente com o DTC (coordenador de transações distribuídas) para garantir o isolamento e a atomicidade de um aplicativo. Nas transações distribuídas, todo elemento participante deve estar em conformidade com a confirmação de uma ação de alteração, como uma atualização do banco de dados, antes da transação. O DTC coordena a transação para os componentes participantes e funciona como um gerenciador de transações para cada computador destinado a gerenciar as transações. Ao distribuir transações entre vários computadores, o gerenciador de transações entrega, prepara, confirma e anula mensagens para cada gerenciador de transações subordinado.
No algoritmo de confirmação de duas fases do DTC, a primeira fase envolve o gerenciador de transações, solicitando a preparação da confirmação de cada componente inscrito, enquanto na segunda fase, se todos os componentes estiverem preparados para confirmar com êxito, o gerente de transações envia uma mensagem para a decisão de confirmação.