¿Qué es la gestión de transacciones?

5 de abril de 2024

Autores

Josh Schneider

Senior Writer

IBM Blog

Ian Smalley

Senior Editorial Strategist

¿Qué es la gestión de transacciones?

La gestión de transacciones es un proceso integral de los sistemas de gestión de bases de datos (DBMS) durante el cual el software de gestión de transacciones supervisa, coordina y ejecuta cualquier intento de transacción.

El software de gestión de transacciones para la automatización del flujo de trabajo es una parte crítica de cualquier sector que implique el procesamiento de transacciones, incluido el comercio electrónico, las finanzas, la hostelería y cualquier negocio que requiera una gestión precisa de las bases de datos.

Fundamentalmente, el software de gestión de transacciones se basa en el concepto de atomicidad para definir una transacción singular como una serie de operaciones que deben completarse todas, o ninguna se considera completada. En otras palabras, para mantener la coherencia de los datos, un sistema de gestión de transacciones garantiza que una transacción nunca se pueda completar parcialmente.

Por ejemplo, cuando una persona intenta retirar dinero de un cajero automático, el software de gestión de transacciones procesa las consultas y cambios necesarios en la base de datos para comprobar el saldo de su cuenta, restar la cantidad solicitada, actualizar los registros del banco y liberar el efectivo dispensado. Todos estos pasos se consideran una nueva transacción y el sistema de gestión de transacciones garantiza que se complete todo el proceso para evitar cualquier inconsistencia en la base de datos del banco y preservar un libro mayor preciso.

Durante una transacción, el estado de la base de datos correlacionada está en constante cambio y se considera incoherente. En este tiempo, una transacción puede realizar cualquier número de operaciones de lectura y/o escritura, ya sea leyendo la base de datos para proporcionar información (como comprobar el saldo de una cuenta bancaria) y/o escribiendo nueva información en la base de datos (como actualizar el saldo de una cuenta tras una retirada). Únicamente una vez completada la transacción, la base de datos puede volver a un nuevo estado coherente.

Diseño 3D de bolas rodando por un circuito

Las últimas noticias + conocimientos de IA 


Descubra ideas y noticias de expertos sobre IA, nube y mucho más en el boletín semanal Think. 

Estados de las transacciones

El principio de atomicidad permite que el software de gestión de transacciones trate series discretas de operaciones como transacciones singulares, al tiempo que protege la integridad de la base de datos.

La atomicidad evita los errores que podrían surgir de transacciones incompletas o interrumpidas. Volviendo al ejemplo de los cajeros automáticos, la atomicidad evita que una transacción debite dinero de la cuenta bancaria de un usuario antes de dispensar el efectivo real. Si algo como un fallo del sistema impidiera que el cajero automático pudiera dispensar el dinero, se abortaría toda la transacción y no se realizarían cambios en la base de datos ni en la cuenta del usuario.

Mientras la transacción está en curso y la base de datos está en proceso de cambio, la transacción se puede dividir en varios estados de transacción secuenciales.

Activo

Una vez que se inicia una transacción, entra en un estado activo durante el cual pueden producirse operaciones de lectura y escritura de la base de datos.

Parcialmente confirmada

Una vez completados todos los pasos necesarios de una transacción, ésta se considera sólo parcialmente confirmada hasta que se actualiza la base de datos maestra.

Confirmada

Una vez completada correctamente una transacción, se confirma en la base de datos y pasa a un estado confirmado.

Fallida

Cuando una transacción no logra ejecutar una o más de sus operaciones o se interrumpe, se considera que se encuentra en estado fallido. Una transacción fallida provocará una reversión, que deshace cualquier cambio en la base de datos que se esté realizando.

Terminada

El estado final de todas las transacciones, una transacción en el estado terminado se saca del sistema y ya no puede realizar ninguna operación de base de datos.

Todas las transacciones comienzan en un estado activo y, si no hay problemas, progresan a los estados parcialmente confirmados, confirmados y, a continuación, terminados. En caso de que surja un problema durante el procesamiento de la transacción, esta entrará pasará al estado de error y revertirá todos y cada uno de los cambios realizados durante el curso de la transacción. A continuación, la transacción puede volver a intentar ejecutarse o abortarse. Tanto si se anulan como si se confirman, todas las transacciones confirmadas entran finalmente en estado terminado, lo que libera recursos para que el DBMS procese nuevas transacciones.

Comprender las propiedades de ACID

En el campo de la gestión de bases de datos, la atomicidad es solo una de las cuatro propiedades cruciales necesarias para mantener la integridad de la base de datos. Conocidas por el acrónimo ACID, las cuatro propiedades son atomicidad, consistencia, aislamiento y durabilidad:

  • Atomicidad: las transacciones se tratan como unidades de operación únicas que pueden ejecutarse en su totalidad o no ejecutarse en absoluto, sin que ningún estado intermedio se comprometa nunca con la base de datos maestra.
  • Consistencia: una base de datos debe permanecer en un estado coherente para que todos y cada uno de los usuarios que comprueben la base de datos tengan acceso a la información más reciente y precisa.
  • Aislamiento: las transacciones deben procesarse de manera aislada unas de otras. Cuando la información de una transacción concurrente es relevante para otra transacción, pueden implementarse niveles de aislamiento de transacciones para facilitar la correcta ejecución de las mismas. Los niveles de aislamiento comunes incluyen lectura no confirmada, lectura confirmada, lectura repetible y serializable.
  • Durabilidad: las transacciones deben ser duraderas, en el sentido de que el DBMS conserve todas las transacciones completadas y no se pierdan en caso de fallo del sistema.

Tecnologías de gestión de transacciones

Como faceta del SGBD, los sistemas de gestión de transacciones se basan en una serie de tecnologías de bases de datos y software que ofrecen diversos grados de optimización, como automatizaciones, plantillas y listas de comprobación. Proveedores como IBM, Microsoft y Oracle ofrecen una gama de soluciones de gestión de transacciones a precios competitivos. Entre las tecnologías de gestión de transacciones más amplias se incluyen las siguientes.

Lenguaje de consulta estructurada (SQL)

SQL es el lenguaje de programación estándar para almacenar y procesar información en una base de datos relacional. Los comandos SQL típicos incluyen BEGIN TRANSACTION, COMMIT y ROLLBACK.

Java Transaction API (JTA)

JTA es la interfaz de programación de aplicaciones (API) estándar para aplicaciones empresariales, que permite a las aplicaciones de gestión de transacciones comunicarse con otros tipos de aplicaciones, incluidas las bases de datos y los sistemas de mensajería, al tiempo que garantiza la atomicidad y la coherencia.

Beneficios y casos de uso de la gestión de transacciones

Varios sectores dependen de la gestión de transacciones para gestionar de manera efectiva y eficiente las bases de datos relacionales y los importantes recursos operativos que representan, tanto físicos (inventario) como efímeros (información).

Una breve lista de casos de uso comunes de la gestión de transacciones incluye los siguientes.

Finanzas

Los servicios financieros, incluidas las empresas de corretaje y las instituciones bancarias, dependen de la gestión de las transacciones no solo en sus operaciones diarias, sino también en su negocio, que se desarrolla en microsegundos. Sin la gestión de transacciones, productos comunes como las cuentas corrientes modernas y las plataformas de compraventa de acciones no serían viables.

Comercio electrónico

Para las plataformas minoristas en línea, la gestión de transacciones facilita el procesamiento de pedidos, los pagos y la gestión de inventario para cumplir eficazmente con los pedidos de comercio electrónico.

Inmobiliaria

En el complicado mundo inmobiliario, los coordinadores profesionales de transacciones confían en el software de gestión de transacciones para agilizar la compra, venta y alquiler de propiedades.

Gestión de las relaciones con los clientes (CRM)

Los sistemas CRM como Salesforce son fundamentales para que las grandes organizaciones rastreen y administren posibles clientes, interacciones con clientes, pedidos de ventas y una amplia gama de puntos de contacto adicionales accesibles a través de DBSM y gestión de transacciones.

Desafíos de la gestión de transacciones

La gestión de transacciones es una parte esencial de muchas operaciones empresariales modernas. Sin embargo, una gestión fiable de las transacciones debe ser capaz de mitigar ciertos retos cruciales:

  • Gestión de dependencias: los sistemas de gestión de transacciones deben estar equipados para gestionar las dependencias de las transacciones a fin de evitar situaciones de bloqueo en las que una o más transacciones individuales se quedan atascadas a la espera de que se libere información de otra transacción.
  • Recuperación tras un fallo del sistema: en caso de fallo del sistema, los sistemas de gestión de transacciones tienen que ser lo suficientemente duraderos como para restaurar la base de datos a un estado coherente.
  • Procesamiento en tiempo real: para las transacciones dependientes en tiempo real, como el comercio de acciones y los motores de fijación de precios, los sistemas de procesamiento de transacciones deben ser capaces de manejar grandes volúmenes de transacciones de manera eficiente y con baja latencia.
Soluciones relacionadas
Software de transacciones para IBM Z

El software de transacciones desempeña un papel crítico en los servidores mainframe, ya que gestiona de forma eficiente varias transacciones simultáneamente.

Explore CICS en IBM z/OS
Soluciones de modernización de aplicaciones de mainframe

Aproveche la IA generativa para una modernización acelerada y simplificada de las aplicaciones de mainframe.

Explore la modernización del mainframe
Soluciones para operaciones comerciales

Fomente la resiliencia de su empresa a través de la implementación de soluciones con IA para la cadena de suministro y la gestión inteligente de los activos.

Explore las soluciones de operaciones comerciales
Dé el siguiente paso

El software de transacciones desempeña un papel crítico en los servidores mainframe, ya que gestiona de forma eficiente varias transacciones simultáneamente.

Explore CICS en IBM z/OS Más información