Laura no ve su Bizum · Episodio 6 de 6

El informe al regulador

Cumplimiento necesita los tres millones de movimientos del mes y el día 5 tiene que entregar un informe al regulador. Hacerlo sobre la base de los pagos la dejaría sin capacidad para pagar. No es un problema de potencia: son dos formas muy distintas de preguntar.

Concepto: OLTP frente a OLAP; ETL y ELT~10 min

El punto de partida

El último lector es Cumplimiento normativo. Para detectar patrones de blanqueo necesita los movimientos de todas las cuentas, y el día 5 de cada mes tiene que entregar al regulador un informe con todas las operaciones de 10.000 € o más. El banco registra unos tres millones de movimientos al mes.

Hacerlo sobre la base de datos de los pagos la dejaría sin capacidad para pagar. Pero el problema no es de potencia. Es que se hacen dos tipos de pregunta muy distintos. Los pagos miran pocas filas con todos sus datos: los últimos movimientos de Laura. El informe mira todas las filas, pero de cada una solo un par de datos: el país y el importe.

Una tabla, dos formas de guardarla

Esta es una tabla con doce movimientos y ocho columnas. Se puede guardar por filas (cada movimiento entero, junto) o por columnas (todas las fechas juntas, después todas las cuentas, y así). Las líneas gruesas muestran cómo se agrupa en el disco. Haz las dos preguntas con las dos formas de guardar.

Qué ha pasado

Por eso no se pueden hacer bien las dos cosas en el mismo sitio, por mucha potencia que tenga. Los pagos y el informe piden cosas tan distintas que se guardan de forma distinta, en sistemas distintos. Los datos tienen que viajar de uno a otro, y ahí aparece la siguiente decisión.

Llevar los datos al almacén

El sistema donde se hacen las preguntas del informe es un almacén analítico. Alimentarlo es llevarle los datos de la base de pagos (con CDC, como en el episodio 4, o con cargas periódicas). Y hay dos formas de hacerlo: transformar los datos antes de guardarlos, o guardarlos tal cual y transformarlos dentro.

Llega el cambio de la serie: el regulador baja el umbral del informe de 10.000 € a 5.000 € y pide que se recalculen los últimos doce meses. A la izquierda, el almacén solo guardó cada mes ya calculado con 10.000 € (ETL). A la derecha, guardó los datos tal cual llegaron (ELT).

Qué ha pasado

La regla de dónde transformar es la de siempre: guarda lo que pasó y decide después qué significa. A cambio, el almacén guarda más datos y necesita más sitio, y tiene que cuidar quién puede verlos.

Cuánto retraso aguanta cada lector

Toda la serie ha ido de lo mismo: separar lo que se lee de lo que se escribe permite que cada lector tenga lo que necesita, y siempre cuesta que lo vea más tarde. Cada lector tolera un retraso distinto, y esa tolerancia decide cuánto se separa.

LectorRetraso que toleraDe dónde lee
Laura, tras actuarNingunoLa primaria, o una réplica que ya tiene su cambio (episodio 3)
Laura, el extracto de otro mesSegundosUna réplica (episodio 1)
Atención al clienteHasta un minutoLa ficha, una proyección alimentada por CDC (episodios 4 y 5)
CumplimientoHasta 24 horasEl almacén analítico, con carga continua o nocturna (este episodio)

Lo que no es de recibo es no haberlo decidido. Laura no ve su Bizum porque alguien dio por hecho que todos los lectores querían lo mismo. Separar lecturas de escrituras no es una optimización: es decidir para cada lector cuánto retraso puede aguantar, y construir cada vista con ese presupuesto.

Para llevarse

Y con esto termina Laura no ve su Bizum. En seis episodios, New Capital Bank ha dado a quien lee su propia máquina, ha entendido por qué una réplica va por detrás y qué hace falta para que Laura vea lo suyo, ha dejado que los cambios lleguen a Atención sin que nadie escriba dos veces, ha convertido la ficha en una vista desechable y ha llevado los datos a un almacén donde Cumplimiento puede preguntar sin molestar a los pagos.