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.
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.
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:
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.
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.
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.