Compartilhar via


Termos de processamento de transações

Antes de começar a usar o KTM, você deve saber as definições dos seguintes termos: transação, gerenciador de recursos, cliente transacional, gerenciador de transações, fluxo de log, inscrição e sistema de processamento de transações.

Transação
Uma transação é uma coleção de operações de dados. Todas as operações devem ter êxito para que a transação tenha êxito. Se todas as operações forem bem-sucedidas, a transação poderá ser confirmada (ou seja, seus resultados poderão ser tornados permanentes e públicos). Se alguma operação falhar, a transação deverá 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 confirmados ou revertidos como um todo.

  • Elas são consistentes porque as operações sempre produzem um resultado preciso, sejam elas confirmadas 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.

  • Elas são duráveis porque, depois que as operações da transação são confirmadas ou revertidas, os resultados das operações são permanentes.

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

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

gerenciador 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 armazena e recupera os dados do banco de dados. Um TPS ( sistema de processamento de transações ) simples 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 de 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 gerenciadores 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 Resource Manager.

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

cliente transacional
Um cliente transacional é um componente de software que acessa um banco de dados compatível com 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 compatíveis com um gerenciador de recursos e informar ao KTM (gerenciador de transações) que a transação deve ser confirmada ou revertida.

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

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

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

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

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

O KTM também fornece funções que os gerenciadores de recursos podem chamar. Essas funções permitem que os gerenciadores de recursos se inscrevam em transações para que possam receber notificações sobre transações. Depois que um gerenciador de recursos se inscreve 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 ocorreram com transações. O KTM mantém um fluxo de log usando o CLFS ( Common Log File System ). A KTM registra alterações de estado para cada transação para que ela possa dar suporte a operações de reversão e recuperação quando forem necessárias.

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

Uma operação de reversão requer ktm e gerenciadores de recursos para restaurar uma transação e todos os dados para um estado inicial. KTM e gerenciadores de recursos registram o estado inicial de cada transação nos fluxos de log para que eles 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, o KTM e os gerenciadores de recursos podem usar o conteúdo do fluxo de log para recompilar 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 no KTM, consulte Usando fluxos de log com KTM.

Inscrição
Uma inscrição é uma associação entre um gerenciador de recursos e uma transação. O KTM fornece um conjunto de funções que os gerenciadores de recursos chamam para criar e gerenciar inscrições. Depois que um gerenciador de recursos cria uma inscrição, o KTM envia notificações ao gerenciador de recursos quando o estado da transação é alterado.

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