El procesamiento de transacciones en línea ( OLTP ) es un tipo de sistema de base de datos que se utiliza en aplicaciones orientadas a transacciones, como muchos sistemas operativos. "En línea" se refiere al hecho de que se espera que dichos sistemas respondan a las solicitudes de los usuarios y las procesen en tiempo real (procesar transacciones). El término contrasta con el procesamiento analítico en línea (OLAP), que en cambio se centra en el análisis de datos (por ejemplo, los sistemas de planificación y gestión ).
El término "transacción" puede tener dos significados diferentes, ambos aplicables: en el ámbito de las computadoras o transacciones de bases de datos , denota un cambio atómico de estado, mientras que en el ámbito de los negocios o las finanzas, el término típicamente denota un intercambio de entidades económicas (como lo usa, por ejemplo, el Transaction Processing Performance Council o transacciones comerciales . [1] ) : 50 OLTP puede usar transacciones del primer tipo para registrar transacciones del segundo.
El OLTP se suele contrastar con el procesamiento analítico en línea (OLAP), que generalmente se caracteriza por consultas mucho más complejas, en un volumen más pequeño, con el propósito de inteligencia empresarial o informes en lugar de procesar transacciones. Mientras que los sistemas OLTP procesan todo tipo de consultas (lectura, inserción, actualización y eliminación), OLAP generalmente está optimizado para solo lectura y es posible que ni siquiera admita otros tipos de consultas. OLTP también funciona de manera diferente al procesamiento por lotes y la computación en cuadrícula . [1] : 15
Además, OLTP a menudo se contrasta con el procesamiento de eventos en línea (OLEP), que se basa en registros de eventos distribuidos para ofrecer una fuerte consistencia en sistemas heterogéneos a gran escala. [2] Mientras que OLTP está asociado con transacciones atómicas cortas, OLEP permite patrones de distribución más flexibles y mayor escalabilidad, pero con mayor latencia y sin un límite superior garantizado para el tiempo de procesamiento.
El término OLTP también se ha utilizado para referirse al procesamiento en el que el sistema responde inmediatamente a las solicitudes de los usuarios. Un cajero automático (ATM) de un banco es un ejemplo de una aplicación de procesamiento de transacciones comerciales. [3] Las aplicaciones de procesamiento de transacciones en línea tienen un alto rendimiento y requieren una gran cantidad de inserciones o actualizaciones en la gestión de bases de datos. Cientos de usuarios utilizan estas aplicaciones simultáneamente. Los objetivos clave de las aplicaciones OLTP son la disponibilidad, la velocidad, la concurrencia y la capacidad de recuperación ( durabilidad ). [4] La reducción de los rastros de papel y la previsión más rápida y precisa de los ingresos y los gastos son ejemplos de cómo OLTP simplifica las cosas para las empresas. Sin embargo, al igual que muchas soluciones de tecnología de la información en línea modernas, algunos sistemas requieren mantenimiento fuera de línea, lo que afecta aún más al análisis de costo-beneficio de un sistema de procesamiento de transacciones en línea.
Un sistema OLTP es un sistema de procesamiento de datos accesible en las empresas actuales. Algunos ejemplos de sistemas OLTP incluyen la entrada de pedidos, las ventas minoristas y los sistemas de transacciones financieras. [5] Los sistemas de procesamiento de transacciones en línea requieren cada vez más compatibilidad con transacciones que abarcan una red y pueden incluir más de una empresa. Por este motivo, el software de procesamiento de transacciones en línea moderno utiliza software de procesamiento y corretaje de cliente o servidor que permite que las transacciones se ejecuten en diferentes plataformas informáticas de una red.
En aplicaciones de gran tamaño, un OLTP eficiente puede depender de un sofisticado software de gestión de transacciones (como IBM CICS ) y/o de tácticas de optimización de bases de datos para facilitar el procesamiento de un gran número de actualizaciones simultáneas en una base de datos orientada a OLTP.
Para sistemas de bases de datos descentralizadas aún más exigentes, los programas de intermediación OLTP pueden distribuir el procesamiento de transacciones entre múltiples computadoras en una red . OLTP suele estar integrado en la arquitectura orientada a servicios (SOA) y los servicios web .
El procesamiento de transacciones en línea (OLTP) implica la recopilación de información de entrada, el procesamiento de los datos y la actualización de los datos existentes para reflejar la información recopilada y procesada. En la actualidad, la mayoría de las organizaciones utilizan un sistema de gestión de bases de datos para respaldar el OLTP. El OLTP se lleva a cabo en un sistema cliente-servidor.
Los procesos de transacciones en línea se preocupan por la concurrencia y la atomicidad. Los controles de concurrencia garantizan que dos usuarios que accedan a los mismos datos en el sistema de base de datos no puedan cambiarlos o que el usuario tenga que esperar hasta que el otro usuario haya terminado de procesarlos antes de cambiarlos. Los controles de atomicidad garantizan que todos los pasos de una transacción se completen correctamente como un grupo. Es decir, si falla algún paso entre la transacción, todos los demás pasos también deben fallar. [6]
Para crear un sistema OLTP, el diseñador debe saber que la gran cantidad de usuarios simultáneos no interfiere con el rendimiento del sistema. Para aumentar el rendimiento de un sistema OLTP, el diseñador debe evitar el uso excesivo de índices y clústeres.
Los siguientes elementos son cruciales para el rendimiento de los sistemas OLTP: [4]