¿Qué es OLTP?

Definición de OLTP

OLTP o procesamiento de transacciones en línea es un tipo de procesamiento de datos que consiste en ejecutar una serie de transacciones que ocurren simultáneamente en la banca en línea, las compras, la entrada de pedidos o el envío de mensajes de texto, por ejemplo. Estas transacciones se denominan tradicionalmente transacciones económicas o financieras, se registran y garantizan para que una empresa pueda acceder a la información en cualquier momento con fines contables o de presentación de informes.

En el pasado, OLTP se limitaba a las interacciones del mundo real en las que se intercambiaba algo: dinero, productos, información, solicitud de servicios, etc. Pero la definición de transacción en este contexto se ha expandido a lo largo de los años, especialmente desde la llegada de Internet, para abarcar cualquier tipo de interacción digital o interacción con un negocio que se puede disparar desde cualquier lugar del mundo y a través de cualquier sensor conectado a la web. También incluye cualquier tipo de interacción o acción, como descargar pdfs en una página web, ver un video específico, o disparadores o comentarios de mantenimiento automático en canales sociales que pueden ser críticos para que un negocio registre para atender mejor a tus clientes.


La definición principal de las transacciones (económicas o financieras) restablece la base de la mayoría de los sistemas OLTP, por lo que el procesamiento de transacciones en línea suele implicar la inserción, actualización y/o supresión de pequeñas cantidades de datos en un almacén de datos para recopilar, gestionar y proteger esas transacciones. Normalmente, una aplicación web, móvil o empresarial realiza un seguimiento de todas esas interacciones o transacciones con clientes, proveedores o socios, y las actualiza en la base de datos OLTP. Los datos de esta transacción almacenados en la base de datos son fundamentales para las empresas y se utilizan para la generación de informes o se analizan para la toma de decisiones basada en datos.

Lee cómo otras empresas como Retraced, Archaeological Park of Pompeii, Jasci o Siemens han logrado crear sus cargas de trabajo de procesamiento de transacciones en la nube.

Las empresas suelen tener dos tipos de capacidades de procesamiento de datos: OLTP y OLAP.

OLTP frente a OLAP.

Aunque son similares y son ambos sistemas de procesamiento de datos en línea, hay una gran diferencia entre ambos.

OLTP permite la ejecución en tiempo real de un gran número de transacciones por parte de un gran número de personas, mientras que el procesamiento analítico en línea (OLAP) suele implicar la consulta de estas transacciones (también denominadas registros) en una base de datos con fines analíticos. OLAP ayuda a las empresas a extraer información de sus datos de transacción para que puedan utilizarla para tomar decisiones más informadas.

La siguiente tabla muestra la comparación entre sistemas OLTP y OLAP.

Sistemas OLTP

Sistemas OLAP

Permite la ejecución en tiempo real de un gran número de transacciones de base de datos por parte de un gran número de personas.

Normalmente implica la consulta de muchos registros (incluso de todos los registros) en una base de datos con fines analíticos.

Necesitan tiempos de respuesta muy rápidos

Necesitan tiempos de respuesta que sean órdenes de magnitud más lentos que los requeridos por OLTP

Modifican pequeñas cantidades de datos con frecuencia y normalmente implican un equilibrio de lecturas y escrituras

No modifican los datos; las cargas de trabajo suelen ser de lectura intensiva.

Utilizan datos indexados para mejorar los tiempos de respuesta

Almacenan los datos en formato de columnas para permitir un acceso sencillo a un gran número de registros.

Necesitan copias de seguridad frecuentes o simultáneas de la base de datos

Necesitan una copia de seguridad de base de datos mucho menos frecuente

Requieren un espacio de almacenamiento relativamente pequeño

Normalmente tienen requisitos de espacio de almacenamiento importantes, porque almacenan grandes cantidades de datos históricos.

Normalmente se ejecutan consultas sencillas que implican solo uno o varios registros

Ejecutan consultas complejas que implican un gran número de registros

Por lo tanto, OLTP es un sistema de modificación de datos en línea, mientras que OLAP es un sistema de almacén de datos multidimensional histórico en línea que se utiliza para recuperar datos de grandes cantidades con fines analíticos. OLAP normalmente proporciona análisis de los datos capturados por uno o más sistemas OLTP.

Requisitos para un sistema OLTP

La arquitectura más común de un sistema OLTP que utiliza datos transaccionales es una arquitectura de tres niveles que suele estar formada por un nivel de presentación, un nivel de lógica de negocio y un nivel de almacén de datos. El nivel de presentación es el front-end, donde la transacción se origina a través de una interacción humana o se genera por el sistema. El nivel lógico consta de reglas que verifican la transacción y garantizan que todos los datos necesarios para completar la transacción estén disponibles. El nivel de almacén de datos almacena la transacción y todos los datos relacionados con ella.

Las principales características de un sistema de procesamiento de transacciones en línea son las siguientes:

  • Conformidad con ACID: los sistemas OLTP deben asegurarse de que toda la transacción se registra correctamente. Una transacción suele ser una ejecución de un programa que puede requerir la ejecución de varios pasos u operaciones. Se puede completar cuando todas las partes implicadas acusan recibo de la transacción, o cuando se entrega el producto o servicio, o cuando se realiza un determinado número de actualizaciones en las tablas específicas de la base de datos. Una transacción se registra correctamente solo si se ejecutan y registran todos los pasos. Si hay algún error en cualquiera de los pasos, se debe cancelar toda la transacción y se deben suprimir todos los pasos del sistema. Por lo tanto, los sistemas OLTP deben cumplir con las propiedades atómicas, coherentes, aisladas y duraderas (ACID) para garantizar la precisión de los datos del sistema.
    • Atómico: los controles de atomicidad garantizan que todos los pasos de una transacción se han realizado correctamente como grupo. Es decir, si falla algún paso entre las transacciones, todos los demás pasos también deben fallar o revertirse. La finalización correcta de una transacción se denomina confirmación. El fallo de una transacción se denomina abortar.
    • Consistente: la transacción conserva la consistencia interna de la base de datos. Si ejecuta la transacción por sí misma en una base de datos que es inicialmente consistente, cuando la transacción termina de ejecutar la base de datos es consistente de nuevo.
    • Aislado: la transacción se ejecuta como si se estuviera ejecutando solo, sin otras transacciones. Es decir, el efecto de ejecutar un conjunto de transacciones es el mismo que ejecutarlas de una en una. Este comportamiento se denomina serializabilidad y se suele implementar bloqueando las filas específicas de la tabla.
    • Duradero: los resultados de la transacción no se perderán en un fallo.
  • Concurrencia: los sistemas OLTP pueden tener un gran número de usuarios, con muchos usuarios que intentan acceder a los mismos datos al mismo tiempo. El sistema debe asegurarse de que todos estos usuarios que intenten leer o escribir en el sistema puedan hacerlo simultáneamente. Los controles de simultaneidad garantizan que dos usuarios que acceden a los mismos datos en el sistema de base de datos al mismo tiempo no podrán cambiar esos datos, o que un usuario tenga que esperar hasta que el otro usuario haya terminado el procesamiento antes de cambiar ese dato.
  • Escala: los sistemas OLTP deben poder ampliar y reducir al instante la gestión del volumen de transacciones en tiempo real y ejecutar transacciones de forma simultánea, sin importar el número de usuarios que intenten acceder al sistema.
  • Disponibilidad: Un sistema OLTP debe estar siempre disponible y estar siempre listo para aceptar transacciones. La pérdida de una transacción puede provocar una pérdida de ingresos o puede tener implicaciones legales. Dado que las transacciones se pueden ejecutar desde cualquier lugar del mundo y en cualquier momento, el sistema debe estar disponible las 24 horas del día, los 7 días de la semana.
  • Alto rendimiento y tiempo de respuesta corto: los sistemas OLTP requieren tiempos de respuesta nanosegundos o incluso más cortos para mantener la productividad de los usuarios empresariales y satisfacer las crecientes expectativas de los clientes.
  • Confiabilidad: Los sistemas OLTP normalmente leen y manipulan pequeñas cantidades de datos altamente selectivas. Es fundamental que en cualquier momento los datos de la base de datos sean fiables y fiables para los usuarios y aplicaciones que acceden a esos datos.
  • Seguridad: Ya que estos sistemas almacenan datos de transacciones del cliente altamente confidenciales, la seguridad de los datos es fundamental. Cualquier incumplimiento puede ser muy costoso para la compañía.
  • Recuperación: Los sistemas OLTP deben tener la capacidad de recuperarse en caso de fallo de hardware o software.

Bases de datos para cargas de trabajo OLTP

Las bases de datos relacionales se crearon específicamente para aplicaciones de transacción. Incluyen todos los elementos esenciales necesarios para almacenar y procesar grandes volúmenes de transacciones, al tiempo que se actualizan continuamente con nuevas características y funcionalidad para extraer más valor de estos datos de transacción enriquecidos. Las bases de datos relacionales se han diseñado desde cero para ofrecer la mayor disponibilidad posible y un rendimiento más rápido. Proporcionan simultaneidad y conformidad de ACID para que los datos sean precisos, estén siempre disponibles y de fácil acceso. Almacenan datos en tablas después de extraer relaciones entre los datos para que los pueda utilizar cualquier aplicación y garantizar una única fuente de datos.

Evolución de las bases de datos de procesamiento de transacciones

A medida que las transacciones se hicieron más complejas, procedentes de cualquier origen o dispositivo, desde cualquier lugar del mundo, las bases de datos relacionales tradicionales no estaban lo suficientemente avanzadas como para satisfacer las necesidades de los flujos de trabajo transaccionales modernos. Tuvieron que evolucionar para manejar las transacciones de hoy en día, los datos heterogéneos y la escala global, y lo más importante era ejecutar cargas de trabajo mixtas. Bases de datos relacionales transformadas en bases de datos multimodales que almacenan y procesan no solo datos relacionales, sino también todos los demás tipos de datos, incluidos xml, html, JSON, Apache Avro y Parquet, y documentos en su forma nativa, sin mucha transformación. Las bases de datos relacionales también necesitaban agregar más funcionalidades como la agrupación en clusters y la fragmentación para que se pudieran distribuir de forma global y ampliar de forma infinita para almacenar y procesar volúmenes cada vez más grandes de datos y hacer uso del almacenamiento más barato disponible en la nube. Con otras capacidades como en memoria, análisis avanzados, visualización y colas de eventos de transacciones incluidas, estas bases de datos ahora pueden ejecutar varias cargas de trabajo, como ejecutar análisis en datos de transacciones o procesar datos de flujo (Internet of Things (IoT)) o ejecutar análisis espaciales y de gráficos.

Las bases de datos relacionales modernas integradas en la nube automatizan gran parte de los aspectos operativos y de gestión de la base de datos, lo que las facilita al usuario el aprovisionamiento y el uso. Proporcionan aprovisionamiento, seguridad, recuperación, copia de seguridad y ampliación automatizados para que los DBA y los equipos de TI tengan que dedicar mucho menos tiempo a mantenerlos. También integran inteligencia para ajustar e indexar automáticamente los datos de forma que el rendimiento de las consultas de la base de datos sea consistente independientemente de la cantidad de datos, el número de usuarios simultáneos o la complejidad de las consultas. Estas bases de datos en la nube también incluyen capacidades de autoservicio y API de REST para que los desarrolladores y analistas puedan acceder y utilizar los datos fácilmente. Esto simplifica el desarrollo de aplicaciones, aporta flexibilidad y facilita a los desarrolladores la creación de nuevas funcionalidades y personalizaciones en sus aplicaciones. También simplifica los análisis, lo que facilita a los analistas y científicos de datos el uso de los datos para extraer estadísticas.

Cómo seleccionar la base de datos adecuada para tu carga de trabajo OLTP

A medida que el departamento de TI se esfuerza por seguir el ritmo de la velocidad del negocio, es importante que, al elegir una base de datos operativa, tengas en cuenta tus necesidades de datos inmediatas y los requisitos de datos a largo plazo. Para almacenar transacciones, mantener los sistemas de registro o la gestión de contenido, necesitarás una base de datos con alta simultaneidad, alto rendimiento, baja latencia y características esenciales, como alta disponibilidad, protección de datos y recuperación ante desastres. Lo más probable es que tu carga de trabajo fluctúe durante todo el día, la semana o el año, por lo que garantizar que la base de datos pueda escala automática te ayudará a ahorrar mucho gasto. También puede que necesites decidir si deseas utilizar una base de datos específica o una base de datos de uso general. Si sus requisitos son para un tipo específico de datos, puede que una base de datos creada a medida funcione, pero asegúrate de no comprometer ninguna de las otras características que necesites. Sería costoso y requería muchos recursos crear esas características más adelante en la capa de aplicaciones. Además, si tus datos necesitan crecer y deseas ampliar la funcionalidad de la aplicación, agregar bases de datos más específicas o adaptadas, solo creará silos de datos y ampliará los problemas de gestión de datos. También debes tener en cuenta otras funcionalidades que puedan ser necesarias para tu carga de trabajo específica, como los requisitos de ingestión, los requisitos de recursos informáticos desplegables y el tamaño límite.

Selecciona un servicio de base de datos en la nube preparado para el futuro con capacidades de autoservicio que automatizarán toda la gestión de datos para que los consumidores de datos (desarrolladores, analistas, ingenieros de datos, científicos de datos y DBA) puedan hacer más con la información y acelerar el desarrollo de aplicaciones.

Más información sobre la Base de Datos de Autonomous Transaction Processing de Oracle, el servicio de base de datos OLTP en la nube. Pruébalo gratis.