Partilhar via


Termos de Processamento de Transações

Antes de começar a usar a KTM, você deve conhecer as definições dos seguintes termos: transaction, resource manager, transactional client, transaction manager, log stream, enlistment e transaction processing system.

transação
Uma transação é uma coleção de operações de dados. Todas as operações devem ser bem-sucedidas para que a transação seja bem-sucedida. Se todas as operações forem bem-sucedidas, a transação pode ser confirmada (ou seja, os seus resultados podem ser tornados permanentes e públicos). Se alguma operação falhar, a transação deve ser revertida (ou seja, todas as alterações devem ser removidas para que os dados estejam no mesmo estado em que estavam antes do início das operações da transação).

As operações de uma transação são atômicas, consistentes, isoladas e duráveis (ACID).

  • Eles são atômicos porque devem ser comprometidos ou revertidos como um todo.

  • Eles são consistentes porque as operações sempre produzem um resultado preciso, sejam elas efetivadas ou revertidas.

  • Eles são isolados porque os resultados de cada transação não são visíveis para outras transações até que as operações da transação tenham sido confirmadas ou revertidas.

  • São duráveis porque, após as operações da transação terem sido autorizadas ou revertidas, os resultados das operações são permanentes.

Um exemplo de transação é o conjunto de operações que devem ser realizadas quando você usa um caixa eletrônico para transferir dinheiro da sua conta corrente para a sua conta poupança. O débito da sua conta corrente e o crédito na sua conta poupança devem parecer uma operação única e atômica.

Uma operação que faz parte de uma transação também é conhecida como operação transacionada.

gestor de recursos
Um gerenciador de recursos é um componente de software que gerencia recursos de dados que podem ser atualizados por operações transacionadas. Por exemplo, se você estiver projetando um sistema de banco de dados, poderá fornecer um gerenciador de recursos que armazene e recupere os dados do banco de dados. Um sistema de processamento de transações simples (TPS) pode ter apenas um gerenciador de recursos.

Um gerenciador de recursos normalmente também fornece uma interface pública que os clientes transacionais podem chamar para acessar os dados do gerenciador de recursos. Por exemplo, o gerenciador de recursos para um banco de dados pode fornecer um conjunto de funções que os clientes podem chamar para ler e gravar no banco de dados.

Um TPS mais complexo pode ter vários gerentes de recursos, cada um dos quais gerencia um banco de dados separado ou outro recurso enquanto participa das transações do sistema.

Para obter mais informações sobre gerenciadores de recursos, consulte Criando um gerenciador de recursos.

Em alguns casos, um gerente de recursos é superior aos outros gerentes de recursos e pode iniciar operações de confirmação. Na KTM, esses gestores de recursos são chamados gestores de transações superiores.

cliente transacional
Um cliente transacional é um componente de software que acessa um banco de dados suportado por um gerenciador de recursos, normalmente chamando funções que o gerenciador de recursos exporta. O cliente é responsável por criar transações, executar um conjunto de operações suportadas por um gestor de recursos e, em seguida, informar o gestor de transações (KTM) de que a transação deve ser confirmada ou revertida.

Para obter mais informações sobre clientes transacionais, consulte Criando um cliente transacional.

gestor de transações
Um gestor de transações, como a KTM, fornece a infraestrutura que permite que os clientes transacionais e os gestores de recursos comuniquem entre si. Ele também rastreia o estado de cada transação (mas não os dados que os clientes e gerentes de recursos manipulam).

O gerenciador de transações também pode coordenar as operações de recuperação após uma falha do sistema.

O gestor de transações não tem conhecimento dos dados ou operações que compõem uma transação. Os dados e operações são controlados pelos clientes e gestores de recursos.

A KTM disponibiliza funções que os clientes transacionais podem chamar. Essas funções permitem que os clientes criem, confirmem e revertam transações.

A KTM também fornece funções que os gestores de recursos podem chamar. Essas funções permitem que os gerentes de recursos se alistem em transações para que possam receber notificações sobre transações. Depois que um gerenciador de recursos se alista em uma transação, ele pode receber uma notificação quando um cliente transacional estiver pronto para confirmar ou reverter a transação, ou quando ocorrer uma operação de recuperação.

fluxo de log
Um fluxo de log é um histórico registrado dos eventos que aconteceram com as transações. A KTM mantém um fluxo de log usando o Common Log File System (CLFS). A KTM regista as alterações de estado de cada transação para que possa suportar operações de reversão e recuperação quando forem necessárias.

Os gerentes de recursos também devem usar um fluxo de log para registrar dados e operações.

Uma operação de reversão requer que a KTM e os gestores de recursos restaurem uma transação e todos os dados para um estado inicial. A KTM e os gerentes de recursos registram o estado inicial de cada transação nos fluxos de log para que possam buscá-la durante uma operação de reversão.

As operações de recuperação ocorrem após uma falha do sistema. Quando o sistema operacional é reiniciado posteriormente, a KTM e os gerentes de recursos podem usar o conteúdo do fluxo de log para reconstruir o estado de uma transação para o estado em que ela estava antes da falha.

Para obter mais informações sobre fluxos de log na KTM, consulte Usando fluxos de log com a KTM.

alistamento
Um registo é uma associação entre um gestor de recursos e uma transação. A KTM fornece um conjunto de funções que os gestores de recursos chamam para criar e gerir alistamentos. Depois de um gestor de recursos criar um alistamento, a KTM envia notificações ao gestor de recursos quando o estado da transação muda.

Sistema de processamento de transações
Um sistema de processamento de transações (TPS) é uma coleção de um gerenciador de transações, um ou mais gerentes de recursos, um ou mais fluxos de log e um ou mais clientes transacionais que acessam os recursos dos gerentes de recursos.