Términos de procesamiento de transacciones

Antes de empezar a usar KTM, debe conocer las definiciones de los siguientes términos: transaction, resource manager, transactional client, transaction manager, transaction manager, log stream, enlistment y transaction processing system.

Transacción
Una transacción es una colección de operaciones de datos. Todas las operaciones deben realizarse correctamente para que la transacción se realice correctamente. Si todas las operaciones se realizan correctamente, la transacción se puede confirmar (es decir, sus resultados se pueden hacer permanentes y públicos). Si se produce un error en alguna operación, la transacción debe revertirse (es decir, todos los cambios deben quitarse para que los datos estén en el mismo estado en el que estaba antes de que se iniciaran las operaciones de la transacción).

Las operaciones de una transacción son atómicas, coherentes, aisladas y duraderas (ACID).

  • Son atómicas porque deben confirmarse o revertirse en su conjunto.

  • Son coherentes porque las operaciones siempre producen un resultado preciso, tanto si se confirman como si se revierten.

  • Se aíslan porque los resultados de cada transacción no son visibles para otras transacciones hasta que las operaciones de la transacción se han confirmado o revertido.

  • Son duraderas porque, después de confirmar o revertir las operaciones de la transacción, los resultados de las operaciones son permanentes.

Un ejemplo de una transacción es el conjunto de operaciones que se deben realizar al usar un cajero automático (ATM) para transferir dinero de la cuenta de cheques a su cuenta de ahorro. El débito de su cuenta de cheques y el crédito a su cuenta de ahorros deben parecer una operación atómica única.

Una operación que forma parte de una transacción también se conoce como operación de transacción.

resource Manager
Un administrador de recursos es un componente de software que administra los recursos de datos que las operaciones de transacción pueden actualizar. Por ejemplo, si va a diseñar un sistema de base de datos, puede proporcionar un administrador de recursos que almacene y recupere los datos de la base de datos. Un sistema de procesamiento de transacciones simple (TPS) podría tener solo un administrador de recursos.

Normalmente, un administrador de recursos también proporciona una interfaz pública a la que los clientes transaccionales pueden llamar para acceder a los datos del administrador de recursos. Por ejemplo, el administrador de recursos de una base de datos puede proporcionar un conjunto de funciones a las que los clientes pueden llamar para leer y escribir en la base de datos.

Un TPS más complejo puede tener varios administradores de recursos, cada uno de los cuales administra una base de datos independiente u otro recurso mientras participa en las transacciones del sistema.

Para obtener más información sobre los administradores de recursos, consulte Creación de un Resource Manager.

En algunos casos, un administrador de recursos es superior a los demás administradores de recursos y puede iniciar operaciones de confirmación. En KTM, estos administradores de recursos se denominan administradores de transacciones superiores.

cliente transaccional
Un cliente transaccional es un componente de software que accede a una base de datos que admite un administrador de recursos, normalmente mediante una llamada a funciones que exporta el administrador de recursos. El cliente es responsable de crear transacciones, realizar un conjunto de operaciones que admite un administrador de recursos y, a continuación, informar al administrador de transacciones (KTM) de que la transacción debe confirmarse o revertirse.

Para obtener más información sobre los clientes transaccionales, consulte Creación de un cliente transaccional.

administrador de transacciones
Un administrador de transacciones, como KTM, proporciona la infraestructura que permite a los clientes transaccionales y administradores de recursos comunicarse entre sí. También realiza un seguimiento del estado de cada transacción (pero no los datos que controlan los clientes y administradores de recursos).

El administrador de transacciones también puede coordinar las operaciones de recuperación después de un bloqueo del sistema.

El administrador de transacciones no tiene conocimiento de los datos o operaciones que componen una transacción. Los datos y las operaciones se controlan mediante los clientes y administradores de recursos.

KTM proporciona funciones a las que pueden llamar los clientes transaccionales. Estas funciones permiten a los clientes crear, confirmar y revertir transacciones.

KTM también proporciona funciones a las que pueden llamar los administradores de recursos. Estas funciones permiten a los administradores de recursos inscribirse en transacciones para que puedan recibir notificaciones sobre transacciones. Una vez que un administrador de recursos se inscribe en una transacción, puede recibir una notificación cuando un cliente transaccional está listo para confirmar o revertir la transacción, o cuando se produce una operación de recuperación.

flujo de registro
Una secuencia de registro es un historial registrado de los eventos que han ocurrido con las transacciones. KTM mantiene un flujo de registro mediante el sistema de archivos de registro común (CLFS). KTM registra los cambios de estado de cada transacción para que pueda admitir operaciones de reversión y recuperación cuando sean necesarias.

Los administradores de recursos también deben usar un flujo de registro para registrar datos y operaciones.

Una operación de reversión requiere KTM y administradores de recursos para restaurar una transacción y todos los datos a un estado inicial. Los administradores de recursos y KTM registran el estado inicial de cada transacción en los flujos de registro para que puedan capturarla durante una operación de reversión.

Las operaciones de recuperación se producen después de un bloqueo del sistema. Cuando el sistema operativo se reinicia posteriormente, KTM y los administradores de recursos pueden usar el contenido de la secuencia de registro para volver a generar el estado de una transacción al estado en el que estaba antes del bloqueo.

Para obtener más información sobre las secuencias de registro en KTM, vea Uso de flujos de registro con KTM.

Alistamiento
Una inscripción es una asociación entre un administrador de recursos y una transacción. KTM proporciona un conjunto de funciones a las que llaman los administradores de recursos para crear y administrar las inscripciones. Después de que un administrador de recursos cree una inscripción, KTM envía notificaciones al administrador de recursos cuando cambia el estado de la transacción.

sistema de procesamiento de transacciones
Un sistema de procesamiento de transacciones (TPS) es una colección de un administrador de transacciones, uno o varios administradores de recursos, uno o varios flujos de registro y uno o varios clientes transaccionales que acceden a los recursos de los administradores de recursos.