- Registrar una venta o una compra
- Crear un nuevo cliente
- Realizar un pago
- Actualizar el stock de un producto
- Registrar un envío / emitir una factura
- Modificar los datos de un usuario
Gestión de Base de Datos — Trabajo práctico
OLTP·OLAP
Registrar y analizar datos: procesamiento de transacciones. Para arrancar, entrá con tu nombre y la contraseña que te dieron.
¡Listo, —! Ya estás conectado a la base de datos (— ms).
Más abajo vas a ver ejemplos reales de OLTP y OLAP corriendo en vivo sobre esta misma base. ↓
1 — Introducción
Registrar y analizar datos
Las organizaciones generan datos constantemente: compras, pagos, actualización de productos, envíos. Esos datos suelen tener dos usos bien distintos: por un lado, hay que registrar las operaciones diarias de forma rápida, segura y consistente; por otro, esa información puede analizarse después para detectar tendencias y ayudar a tomar decisiones.
Para cubrir estas dos necesidades existen, entre varios, dos tipos de carga de trabajo (workloads) especialmente difundidos para explicar la diferencia entre procesar operaciones y analizar información: OLTP y OLAP. No son los únicos usos posibles de una base de datos, pero sí los más habituales para presentar esta distinción.
OLTP (Online Transaction Processing) está orientado al procesamiento de las operaciones del día a día de una organización. OLAP (Online Analytical Processing) está orientado al análisis de grandes cantidades de información, principalmente histórica.
"OLTP registra lo que está sucediendo, mientras que OLAP permite analizar lo que sucedió."
2 — OLTP
¿Qué significa OLTP?
Online Transaction Processing — Procesamiento de Transacciones en Línea. Administra las operaciones diarias de una organización; su objetivo es registrar transacciones de manera rápida, segura y consistente.
Ejemplo: cuando alguien compra en una tienda online, el sistema debe registrar el cliente, el producto, el precio, la cantidad, el medio de pago y la fecha — y además puede necesitar actualizar el stock y registrar el envío.
- Operaciones frecuentes: suelen ser muchas, pequeñas y ocurrir durante todo el día.
- Datos actuales: generalmente trabajan con la información necesaria para el funcionamiento actual.
- Respuesta rápida: un cliente no puede esperar minutos para que se registre su operación.
- Integridad y consistencia: si hay 10 unidades y se compran 2, deben quedar 8.
- Datos normalizados: suelen utilizar estructuras normalizadas para reducir la duplicación de información.
Ejemplo
Tienda online. Cliente Juan Pérez compra una Notebook Lenovo, cantidad 1, $1.200.000, fecha 15/09/2026, pago con tarjeta, envío a Buenos Aires. Además se actualiza el stock y el estado del pedido. El objetivo principal no es analizar esa venta, sino registrarla correctamente para que el negocio pueda seguir funcionando.
3 — OLAP
¿Qué significa OLAP?
Online Analytical Processing — Procesamiento Analítico en Línea. A diferencia de OLTP, está orientado principalmente al análisis de grandes cantidades de información desde distintas perspectivas, para ayudar a tomar decisiones.
Preguntas típicas: ¿cuánto vendió la empresa durante el año?, ¿cuál fue el producto más vendido?, ¿qué provincia generó más ventas?, ¿cómo evolucionaron las ventas?, ¿qué productos se venden más en ciertos meses?, ¿qué categoría genera más ingresos? Estas consultas pueden involucrar millones de registros históricos.
- Grandes volúmenes: suele estar preparado para trabajar con mucha información.
- Información histórica: a diferencia de OLTP, generalmente usa grandes cantidades de datos pasados.
- Consultas complejas: pueden combinar varios criterios a la vez.
- Distintas perspectivas: tiempo, producto, cliente, ubicación, categoría, forma de pago.
- Ayuda a decidir: permite generar reportes e indicadores.
"Analizar las ventas de productos electrónicos realizadas en Buenos Aires durante los meses de enero a marzo."
Un gerente puede querer saber cuánto generaron las ventas de notebooks en Buenos Aires durante 2025. OLAP analiza el histórico sin necesidad de revisar venta por venta.
"OLTP se utiliza para registrar las operaciones, mientras que OLAP se utiliza para analizar esas operaciones."
4 — Comparación entre OLTP y OLAP
Uno al lado del otro
Esta tabla resume tendencias habituales, no reglas estrictas: hay sistemas OLTP no normalizados y sistemas OLAP que se actualizan casi en tiempo real. Lo que realmente distingue a uno de otro es la combinación de finalidad, volumen, concurrencia, modelo de datos y frecuencia de actualización — no una sola característica aislada.
| Característica | OLTP | OLAP |
|---|---|---|
| Significado | Online Transaction Processing | Online Analytical Processing |
| Objetivo | Registrar operaciones | Analizar información |
| Tipo de información | Principalmente actual | Principalmente histórica |
| Operaciones | Muchas operaciones pequeñas | Consultas complejas |
| Consultas | Simples y rápidas | Complejas y analíticas |
| Usuarios | Clientes, empleados y aplicaciones | Analistas, gerentes y responsables |
| Actualización | Constante | Generalmente periódica |
| Datos | Detallados | Históricos y/o agregados |
| Organización | Normalizada | Optimizada para análisis |
| Prioridad | Velocidad y consistencia | Velocidad de análisis |
| Ejemplo | Registrar una compra | Analizar ventas por año |
| Uso principal | Operación del negocio | Análisis y toma de decisiones |
"OLTP está pensado para trabajar con los datos del negocio, mientras que OLAP está pensado para analizar esos datos."
5 — De OLTP a OLAP
El mismo dato, dos vidas distintas
Los datos generados por los sistemas OLTP no siempre están preparados directamente para el análisis. Para eso se usa, entre otros procesos, ETL (Extract, Transform, Load): se extraen los datos de los sistemas operacionales, se transforman (por ejemplo, unificando "Bs As" y "Buenos Aires" en un solo valor) y se cargan en un Data Warehouse consultable por herramientas OLAP.
El detalle técnico de extracción, transformación y carga corresponde a otra unidad de la materia — acá se nombra solo como parte del recorrido general de los datos.
6 — Cubos OLAP
Una estructura multidimensional
Un cubo OLAP es una estructura de datos multidimensional que permite analizar información desde distintas perspectivas. Ej.: "¿Cuánto se vendió de notebooks en Buenos Aires durante septiembre de 2025?"
Valores numéricos a analizar: cantidad vendida, importe total, costos, ganancias, cantidad de pedidos. En este sitio, la medida usada es Ventas.
- Tiempo: Año, Trimestre, Mes, Día.
- Geografía: País, Provincia, Ciudad.
- Producto: Categoría, Marca, Producto.
PRODUCTO
^
|
GEOGRAFÍA <----+----> TIEMPO
|
v
VENTAS
Las cuatro operaciones más conocidas
Fijar un solo valor de una dimensión. Ej.: "Analizar únicamente las ventas realizadas durante 2025."
Varios valores de varias dimensiones. Ej.: "Ventas de productos de Electrónica realizadas en Argentina durante enero de 2025."
Profundizar: Año → Trimestre → Mes → Día.
Consolidar: Ciudad → Provincia → País.
Girá el cubo: cada par de caras muestra una dimensión sobre ventas
Producto
Cargando…
Producto
Cargando…
Geografía
Cargando…
Geografía
Cargando…
Tiempo
Cargando…
Tiempo
Cargando…
(o arrastrá el cubo con el mouse o el dedo)
Probá un Dice: elegí dos ejes del cubo y crúzalos
La consulta que se ejecuta:
Elegí dos ejes para ver el cruce.
¿Querés practicar cómo se arma un cubo desde cero, con tabla de hechos y varias dimensiones? Nuestra base real solo tiene ventas — para eso armamos una demo aparte, con tablas ficticias.
7 — Caso de aplicación (hipotético)
Comercio electrónico
Se usa Mercado Libre como referencia conocida para el ejemplo. Es un ejemplo conceptual: los detalles internos de su arquitectura real no son necesariamente públicos, así que esto no describe su infraestructura real.
7.1 Una compra. Un usuario entra y compra una notebook por $1.200.000. El sistema registra usuario, producto, cantidad, precio, fecha, medio de pago, dirección de envío y estado del pedido; actualiza stock, pago y envío. Todo eso, rápido. Es la función de OLTP.
7.2 Millones de operaciones. Esa situación se repite millones de veces. Cada compra genera cliente, producto, precio, cantidad, fecha, provincia, ciudad, categoría, forma de pago y envío — con el tiempo, una enorme cantidad de información histórica.
7.3 ETL (solo mencionado). Esos datos se extraen desde ventas, clientes, productos, pagos y envíos; se limpian y unifican; y se cargan en un Data Warehouse. Mercado Libre → OLTP → ETL → Data Warehouse → OLAP
7.4 Análisis mediante OLAP. "¿Cuánto se vendió de productos electrónicos en Buenos Aires durante 2025?" Medida: Ventas. Dimensiones: Tiempo = 2025, Geografía = Buenos Aires, Producto = Electrónica. Otras preguntas posibles: cantidad vendida en un período, evolución de una categoría en los últimos años.
7.5 Ejemplo completo. Compra → OLTP registra → se generan millones de operaciones → ETL extrae → ETL transforma y limpia → se carga en un Data Warehouse → OLAP analiza → se generan reportes → la empresa decide.
8 — Ejemplos prácticos
Una transacción OLTP y una consulta OLAP
Los dos ejemplos siguientes corren sobre la misma tabla ventas. Usar una única tabla para los dos ejemplos es una simplificación didáctica: en un caso real, los datos operacionales (OLTP) y el repositorio preparado para análisis (Data Warehouse / OLAP) vivirían en bases separadas, conectadas por un proceso ETL, como se vio en la sección 5.
8.1 — Transacción OLTP: registrar venta + descontar stock
Registrar una venta y descontar el stock del producto, todo o nada, en una única transacción (propiedades ACID). En el documento se muestra como stored procedure de MySQL/MariaDB; acá corre con la misma lógica exacta usando una transacción PDO (no todos los hostings compartidos permiten crear procedimientos almacenados).
DELIMITER $$
CREATE PROCEDURE registrar_venta_con_stock (
IN p_id_producto INT,
IN p_producto VARCHAR(100),
IN p_categoria VARCHAR(50),
IN p_sucursal VARCHAR(50),
IN p_monto DECIMAL(10,2)
)
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
RESIGNAL;
END;
START TRANSACTION;
UPDATE productos
SET stock = stock - 1
WHERE id_producto = p_id_producto AND stock > 0;
IF ROW_COUNT() = 0 THEN
ROLLBACK;
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Sin stock disponible para este producto.';
ELSE
INSERT INTO ventas (producto, categoria, sucursal, monto, fecha)
VALUES (p_producto, p_categoria, p_sucursal, p_monto, NOW());
COMMIT;
END IF;
END$$
DELIMITER ;
Últimas ventas registradas
Todavía no registraste ninguna venta.
Probá con "Smart TV" (queda sin stock a propósito): vas a ver el caso de ROLLBACK — no se registra la venta.
8.2 — Consulta OLAP: ventas por categoría en 2025
"Analizar el total de ventas por categoría durante el año 2025, sobre un histórico de más de 15.000 operaciones."
SELECT
categoria,
COUNT(*) AS cantidad_ventas,
SUM(monto) AS total_vendido,
ROUND(AVG(monto), 2) AS ticket_promedio
FROM ventas
WHERE YEAR(fecha) = 2025
GROUP BY categoria
ORDER BY total_vendido DESC;
Ventas totales por categoría — 2025
Ejecutá la consulta para ver el resultado.
Comparar tiempos de OLTP contra OLAP solo tiene sentido con un histórico suficientemente grande. Con una tabla chica la diferencia puede no notarse — esto es una ilustración didáctica sobre este caso concreto, no una prueba general de rendimiento.
Conclusión
Funciones diferentes, complementarias
OLTP y OLAP cumplen funciones diferentes pero complementarias. OLTP está orientado a las operaciones diarias de una organización: muchas transacciones que necesitan procesarse rápido y de manera consistente. OLAP está orientado al análisis de grandes cantidades de información histórica, con consultas complejas desde distintas perspectivas.
El proceso ETL toma los datos generados por los sistemas operacionales y los prepara para el análisis. Los cubos OLAP permiten analizar esa información por dimensiones y medidas, con operaciones como Slice, Dice, Drill-down y Roll-up.
En un escenario como el de una plataforma de comercio electrónico se ve claramente cómo se relacionan: OLTP registra las operaciones, ETL prepara los datos y OLAP permite analizarlos.
"OLTP permite que el negocio funcione día a día; OLAP permite analizar la información generada por ese negocio."
Bibliografía
Fuentes
- Elmasri, R. & Navathe, S. (2016). Fundamentals of Database Systems (7ma ed.). Pearson.
- Kimball, R. & Ross, M. (2013). The Data Warehouse Toolkit (3ra ed.). Wiley.
- Inmon, W. H. (2005). Building the Data Warehouse (4ta ed.). Wiley.
- Microsoft Learn — Conceptos de procesamiento transaccional y analítico: learn.microsoft.com
- Oracle Help Center — Data Warehousing Concepts: docs.oracle.com
- IBM Technology — ¿Qué es OLAP?: ibm.com/topics/olap