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 engajados. Geralmente, os hosts fornecem recursos e um gerenciador 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 tudo ou nada para o pacote de operações (unidade de trabalho).
Definirtec explica Transação Distribuída
Os 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 exclusivo para transações de 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 intimamente com o coordenador de transações distribuídas (DTC) para garantir o isolamento e a atomicidade de um aplicativo. Em transações distribuídas, cada elemento participante deve estar em conformidade com a confirmação de uma ação de mudança, 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 aborta mensagens para cada gerenciador de transações subordinado.
No algoritmo de confirmação de duas fases do DTC, a fase um envolve o gerenciador de transações solicitando a preparação de confirmação de cada componente inscrito, enquanto na fase dois, se todos os componentes estiverem preparados para confirmação com êxito, o gerenciador de transação envia uma mensagem para a decisão de confirmação.