Saltar al contenido

Glosario del programa

306 términos: todos los conceptos que las 74 clases declaran, definidos una sola vez y con la misma palabra significando lo mismo de principio a fin. Cada entrada dice dónde se trabaja el término, con qué otros se relaciona y de qué obra procede la definición.

2 A B C D E F G H I L M N O P Q R S T U V W

2

A

actividad

Hecho que ocurre en un instante y relaciona entidades: un pedido, un pago, una inscripción. Su volumen crece sin límite con el tiempo, lo que la convierte en la candidata natural a tabla de hechos o a flujo de eventos, y en la mala candidata a incrustarse dentro de una entidad.

Se trabaja en 034 — El agregado como unidad de consistencia · parte 06

Ver también: entidad, tabla de hechos, crecimiento no acotado

Fuente: Life beyond Distributed Transactions: An Apostate's Opinion (2007)

agregado

Conjunto de datos que se trata como una unidad para leer, escribir y garantizar consistencia: un pedido con sus líneas. Sadalage y Fowler lo toman del diseño dirigido por el dominio y lo convierten en el criterio que separa a los motores NoSQL del relacional. (En la clase 027 la palabra se usa en su otro sentido: el resultado de una función de agregación como `SUM` o `COUNT`.)

Se trabaja en 019 — Desnormalización deliberada y patrones de acceso · parte 02

Ver también: frontera transaccional, modelo de agregado, incrustación, agrupación

Fuente: NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence (2012)

analizador

Primer componente del gestor: convierte el texto SQL en un árbol sintáctico y comprueba que los objetos citados existen y que los tipos encajan. Aquí mueren los errores de sintaxis, antes de tocar un solo dato. (En la clase 041 la misma palabra nombra otra cosa: el analizador de texto que parte un documento en términos indexables.)

Se trabaja en 012 — Arquitectura interna de un gestor, del cliente al disco · parte 01

Ver también: planificador, ejecutor, optimizador por costos, índice invertido

Fuente: Architecture of a Database System (2007)

anomalía de actualización

Consecuencia de guardar un hecho en varias filas: corregirlo exige tocarlas todas, y la que se olvida deja la base contradiciéndose a sí misma. Junto con las anomalías de inserción y borrado, es lo que la normalización elimina.

Se trabaja en 018 — Normalización de 1FN a BCFN con dependencias funcionales · parte 02

Ver también: anomalías de repetición, redundancia controlada, dependencia funcional

Fuente: A Relational Model of Data for Large Shared Data Banks (1970)

anomalías de repetición

Los tres desastres de guardar el mismo hecho en varios sitios: al insertar hay que repetir datos, al actualizar se corrige una copia y no las otras, y al borrar se pierde información que solo vivía ahí. Son el argumento original de la normalización.

Se trabaja en 008 — Dos tablas y una relación: la clave foránea · parte 00

Ver también: anomalía de actualización, dependencia funcional, redundancia controlada

Fuente: A Relational Model of Data for Large Shared Data Banks (1970)

B

B-Tree

Árbol equilibrado de páginas ordenadas, con todos los datos en hojas enlazadas entre sí. Sirve para igualdad, para rangos y para devolver ya ordenado, con un número de accesos que crece logarítmicamente. Es la estructura por defecto de casi todos los motores relacionales.

Se trabaja en 049 — B-Tree: estructura, orden de columnas y selectividad · parte 09

Ver también: prefijo más a la izquierda, selectividad, memtable

Fuente: Organization and Maintenance of Large Ordered Indices (1972)

búsqueda aproximada

Renunciar a encontrar con certeza los K vecinos más cercanos a cambio de responder en milisegundos en lugar de en minutos. La búsqueda exacta compara contra todos los vectores; la aproximada explora solo una parte del espacio y acepta perderse algunos.

Se trabaja en 069 — Índices vectoriales aproximados: HNSW, IVF y el recall · parte 13

Ver también: recall, HNSW, latencia frente a exactitud

Fuente: Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs (2020)

C

carga de trabajo

La descripción cuantificada de lo que el sistema tendrá que aguantar: volumen, proporción de lecturas y escrituras, latencia objetivo, consultas dominantes, crecimiento previsto. Es lo que convierte la elección de motor en una decisión técnica y no en una preferencia.

Se trabaja en 072 — Persistencia políglota: decidir por evidencia y no por moda · parte 14

Ver también: patrón de acceso, criterio de selección, percentil

Fuente: Designing Data-Intensive Applications (2017)

compresión

En un formato columnar, los valores contiguos se parecen, así que técnicas como el diccionario, la codificación por carrera o el delta reducen el tamaño en un orden de magnitud. Menos bytes leídos es menos entrada y salida, que es de donde sale casi toda la ventaja analítica.

Se trabaja en 042 — Analítica columnar: por qué el formato cambia el orden de magnitud · parte 07

Ver también: almacenamiento columnar, poda de particiones, pagina

Fuente: ClickHouse Documentation (2026)

consenso

Que un conjunto de nodos se ponga de acuerdo en un valor y no cambie de opinión, tolerando caídas de una minoría. Es el cimiento de la elección de líder, de la pertenencia al clúster y del commit atómico; Raft y Paxos son las dos formulaciones de referencia.

Se trabaja en 057 — Consenso y transacciones distribuidas: Raft, 2PC y sagas · parte 10

Ver también: elección de líder, commit en dos fases, linealizabilidad

Fuente: In Search of an Understandable Consensus Algorithm (2014)

consistencia causal

Si un evento pudo influir en otro, todos los observadores los ven en ese orden; los eventos sin relación causal pueden verse en cualquier orden. Es el punto dulce entre lo débil y lo caro: evita el efecto «respuesta antes que la pregunta» sin exigir coordinación global.

Se trabaja en 056 — Modelos de consistencia y garantías de sesión · parte 10

Ver también: linealizabilidad, lectura monotona, convergencia

Fuente: Time, Clocks, and the Ordering of Events in a Distributed System (1978)

crecimiento no acotado

Un arreglo incrustado que puede crecer indefinidamente —los comentarios de una publicación viral, el histórico de un sensor—. Acaba chocando con el límite de tamaño del documento y degrada cada lectura, aunque solo se quería un campo. Es la señal de que ese arreglo debía ser una colección aparte.

Se trabaja en 035 — Modelado documental: incrustar o referenciar · parte 06

Ver también: incrustación, patrón de extensión, retención

Fuente: MongoDB: The Definitive Guide (2019)

D

dato

Un valor registrado sin el contexto que lo interpreta: `38`, `Ada`, `2026-03-01`. Por sí solo no afirma nada, porque el mismo valor puede ser una edad, una temperatura o un número de camiseta. Toda base de datos existe para guardar el dato junto al contexto que lo convierte en información.

Se trabaja en 001 — Qué es un dato, un registro y una tabla · parte 00

Ver también: información, campo, tipo

Fuente: Data and Reality (2012)

definición frente a manipulación

SQL se separa en DDL, que define y cambia estructuras (`CREATE`, `ALTER`, `DROP`), y DML, que consulta y cambia contenido (`SELECT`, `INSERT`, `UPDATE`, `DELETE`). La distinción importa porque no todos los motores dan al DDL las mismas garantías transaccionales.

Se trabaja en 003 — Tu primera base de datos: crear, insertar y leer · parte 00

Ver también: DDL transaccional, CREATE TABLE, INSERT

Fuente: ISO/IEC 9075: Information technology - Database languages - SQL (2023)

dependencia funcional en GROUP BY

Regla que permite seleccionar una columna no agrupada si depende funcionalmente de la clave de agrupación —agrupar por `id` y seleccionar `nombre`—. PostgreSQL la reconoce; otros motores exigen listar todo, y MySQL en modo laxo devuelve un valor arbitrario sin avisar.

Se trabaja en 027 — Agregación, GROUP BY y HAVING sin duplicar filas · parte 04

Ver también: dependencia funcional, agrupación, modo estricto

Fuente: Database Systems: The Complete Book (2008)

derecho de supresión

Obligación de borrar los datos de una persona cuando lo solicita y no hay base para conservarlos. Choca de frente con los respaldos, las réplicas y los registros de auditoría, y por eso hay que diseñar dónde vive el dato personal antes de que lo pidan.

Se trabaja en 063 — Privacidad, retención y gobierno del dato · parte 11

Ver también: retención, limitación de finalidad, prueba de restauración

Fuente: Reglamento (UE) 2016/679 - Proteccion de datos personales (2016)

dimensión

Tabla que describe el contexto por el que se filtra y se agrupa: producto, cliente, tiempo, sucursal. Se desnormaliza a propósito para evitar reuniones en cada consulta, y es donde vive casi todo el significado del modelo. (En la parte 13 la misma palabra designa otra cosa: el número de componentes de un vector.)

Se trabaja en 065 — Modelado dimensional: hechos, dimensiones y cambios lentos · parte 12

Ver también: tabla de hechos, dimensión de cambio lento, espacio vectorial

Fuente: The Data Warehouse Toolkit (2013)

disponibilidad

En el enunciado formal de CAP, que toda petición a un nodo no caído reciba respuesta. Es una definición mucho más estricta que el «99,9 % de tiempo activo» del lenguaje operativo, y confundirlas es el origen de casi todas las lecturas erróneas del teorema.

Se trabaja en 055 — CAP, PACELC y lo que realmente se elige · parte 10

Ver también: partición de red, presupuesto de error, linealizabilidad

Fuente: Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services (2002)

E

ejecución vectorizada

El ejecutor procesa lotes de valores por operador en lugar de fila a fila. Reduce el costo por fila del intérprete y permite usar instrucciones SIMD; combinada con el formato columnar, es la explicación de las diferencias de dos órdenes de magnitud frente a un motor de filas.

Se trabaja en 042 — Analítica columnar: por qué el formato cambia el orden de magnitud · parte 07

Ver también: vectorización, almacenamiento columnar, ejecutor

Fuente: DuckDB Documentation (2026)

escritura dual

Que la aplicación escriba a la vez en la base y en la cola. Parece la solución obvia y es un antipatrón: no hay atomicidad entre los dos destinos, así que tarde o temprano uno recibe lo que el otro no. La alternativa correcta es CDC o el patrón de bandeja de salida.

Se trabaja en 066 — Integración: ETL, ELT, captura de cambios y el registro como nexo · parte 12

Ver también: CDC, doble escritura, frontera transaccional

Fuente: The Log: What Every Software Engineer Should Know About Real-Time Data's Unifying Abstraction (2013)

espacio vectorial

Representación de un texto, una imagen o un usuario como un punto de N coordenadas, colocado por un modelo de forma que la cercanía refleje parecido semántico. El parecido es el que aprendió ese modelo concreto: cambiar de modelo cambia el significado de «cerca».

Se trabaja en 068 — Embeddings y métricas de distancia: qué significa parecido · parte 13

Ver también: coseno, dimensión, normalización

Fuente: Dense Passage Retrieval for Open-Domain Question Answering (2020)

estadística

Resúmenes que el motor guarda sobre los datos: número de filas, valores distintos, histogramas, valores más comunes. Cuando están obsoletas el optimizador estima mal y elige planes ruinosos, y ese es el primer sitio donde mirar ante una consulta que «de repente» se volvió lenta.

Se trabaja en 052 — Planes de ejecución: leer EXPLAIN y refutar una hipótesis · parte 09

Ver también: estimación de cardinalidad, autovacuum, optimizador por costos

Fuente: PostgreSQL: Using EXPLAIN (2026)

estimación de cardinalidad

Cuántas filas cree el planificador que devolverá cada paso. Es la entrada de la que depende todo lo demás, y también la parte más frágil: los errores se multiplican al reunir tablas, y una estimación de 1 fila que en realidad son 100 000 explica casi cualquier plan absurdo.

Se trabaja en 052 — Planes de ejecución: leer EXPLAIN y refutar una hipótesis · parte 09

Ver también: estadística, selectividad, costo frente a tiempo

Fuente: Access Path Selection in a Relational Database Management System (1979)

extensión propietaria

Sintaxis o función que solo existe en un motor: `LIMIT` frente a `FETCH FIRST`, `ON CONFLICT` frente a `MERGE`, tipos de arreglo, `RETURNING`. Usarlas es legítimo y a menudo correcto; lo que no lo es, es usarlas sin saber que se está atando el proyecto a ese producto.

Se trabaja en 030 — Portabilidad: qué exige la norma y qué añade cada motor · parte 05

Ver también: norma frente a producto, extensión, matriz de portabilidad

Fuente: PostgreSQL Documentation (2026)

F

familias de motores

Las formas de organizar datos que estructuran este programa: relacional, documental, clave-valor, grafo, columnas anchas y series temporales, más los índices de búsqueda y los vectoriales como casos especializados. Cada familia optimiza un patrón de acceso y paga en los demás.

Se trabaja en 010 — El mapa de los motores: seis familias y un criterio · parte 00

Ver también: modelo de agregado, patrón de acceso, multimodelo

Fuente: NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence (2012)

G

H

HNSW

Grafo navegable de mundo pequeño por capas: las capas altas dan saltos largos y las bajas afinan. Da el mejor compromiso entre recall y latencia de los índices actuales, a costa de un uso de memoria alto y una construcción lenta.

Se trabaja en 069 — Índices vectoriales aproximados: HNSW, IVF y el recall · parte 13

Ver también: búsqueda aproximada, cuantización, recorrido de profundidad variable

Fuente: Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs (2020)

I

idempotencia

Propiedad de una operación que, repetida con la misma entrada, deja el mismo estado que ejecutarla una vez. Es la única defensa realista contra las redes: en un sistema distribuido no se puede distinguir «no llegó» de «llegó y se perdió la respuesta».

Se trabaja en 047 — Concurrencia en la aplicación: idempotencia, reintentos y bloqueo optimista · parte 08

Ver también: clave de idempotencia, reintento con retroceso, entrega al menos una vez

Fuente: Life beyond Distributed Transactions: An Apostate's Opinion (2007)

identificador citado

Nombre de objeto entre comillas dobles —o entre acentos graves en MySQL, entre corchetes en SQL Server—. Al citarlo se vuelve sensible a mayúsculas y se congela tal cual; sin citar, cada motor lo pliega a un caso distinto, y ahí nacen los «la tabla no existe» al cambiar de producto.

Se trabaja en 032 — MySQL, MariaDB, SQL Server y Oracle: divergencias que rompen código · parte 05

Ver también: colación, matriz de portabilidad, norma frente a producto

Fuente: MySQL Reference Manual (2026)

independencia lógica

Poder cambiar el esquema conceptual —dividir una tabla, renombrar una columna— sin romper las aplicaciones, apoyándose en vistas que preservan el contrato anterior. Es más difícil de lograr que la independencia física y es la base técnica de las migraciones sin caída.

Se trabaja en 013 — Independencia de datos y los tres niveles de esquema · parte 01

Ver también: independencia de datos, expandir y contraer, vista externa

Fuente: A Relational Model of Data for Large Shared Data Banks (1970)

IS DISTINCT FROM

Comparación que trata el nulo como un valor más: dos nulos son iguales y un nulo es distinto de cualquier valor, sin producir `UNKNOWN`. Es la forma correcta de comparar columnas opcionales, por ejemplo al detectar cambios en una migración.

Se trabaja en 029 — Nulos y lógica de tres valores · parte 04

Ver también: UNKNOWN, NULL, IS NULL

Fuente: PostgreSQL Documentation (2026)

L

latencia frente a consistencia

La mitad de PACELC que CAP ignora: incluso sin particiones hay que elegir entre responder rápido desde una réplica cercana o esperar la coordinación que garantiza el dato más reciente. Es el compromiso que se paga todos los días, no solo el día de la avería.

Se trabaja en 055 — CAP, PACELC y lo que realmente se elige · parte 10

Ver también: partición de red, linealizabilidad, percentil

Fuente: Consistency Tradeoffs in Modern Distributed Database System Design (2012)

latencia frente a exactitud

El compromiso que gobiernan los parámetros del índice (`ef_search`, `nprobe`): explorar más nodos sube el recall y el tiempo de respuesta. No hay valor correcto universal; se elige midiendo con los datos y las consultas reales.

Se trabaja en 069 — Índices vectoriales aproximados: HNSW, IVF y el recall · parte 13

Ver también: recall, búsqueda aproximada, percentil

Fuente: Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs (2020)

LSN

Número de secuencia del registro: identifica cada entrada del WAL en orden y se estampa en la página que modifica. Permite saber, página por página, si un cambio ya está aplicado —y por eso rehacer se puede repetir sin efectos secundarios.

Se trabaja en 046 — Registro anticipado y recuperación: WAL y ARIES · parte 08

Ver también: WAL, rehacer, retraso de réplica

Fuente: ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging (1992)

M

N

norma frente a producto

La distinción entre lo que exige ISO/IEC 9075 y lo que cada motor añade por su cuenta. Ningún producto implementa la norma entera y todos la extienden; saber en qué lado está cada línea de tu código es lo que decide si una migración de motor cuesta un día o un trimestre.

Se trabaja en 030 — Portabilidad: qué exige la norma y qué añade cada motor · parte 05

Ver también: matriz de portabilidad, extensión propietaria

Fuente: ISO/IEC 9075: Information technology - Database languages - SQL (2023)

O

ON DELETE

Acción referencial que declara qué pasa con las filas hijas cuando se borra la padre: `RESTRICT` lo impide, `CASCADE` las borra, `SET NULL` las desvincula. Es una decisión de dominio, no técnica: `CASCADE` sobre datos contables borra historia.

Se trabaja en 023 — Integridad: restricciones, claves foraneas y acciones referenciales · parte 03

Ver también: clave foránea, integridad referencial, entidad débil

Fuente: ISO/IEC 9075: Information technology - Database languages - SQL (2023)

optimizador por costos

Componente que enumera planes equivalentes y elige el de menor costo estimado a partir de estadísticas. Desde el artículo de Selinger de 1979 el principio no ha cambiado: el motor no ejecuta lo que escribiste, ejecuta lo que calculó que es más barato.

Se trabaja en 052 — Planes de ejecución: leer EXPLAIN y refutar una hipótesis · parte 09

Ver también: estadística, estimación de cardinalidad, equivalencia

Fuente: Access Path Selection in a Relational Database Management System (1979)

P

partición de red

Situación en la que dos grupos de nodos siguen vivos pero no pueden comunicarse. No es un fallo hipotético: es lo que ocurre con un cable, un cortafuegos mal aplicado o una latencia lo bastante alta como para que los tiempos de espera venzan.

Se trabaja en 055 — CAP, PACELC y lo que realmente se elige · parte 10

Ver también: disponibilidad, consenso, latencia frente a consistencia

Fuente: Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services (2002)

precisión y exhaustividad

Precisión: qué proporción de lo devuelto era relevante. Exhaustividad (o *recall*): qué proporción de lo relevante se devolvió. Casi siempre se compensan entre sí, y por eso una búsqueda solo puede evaluarse fijando cuál de las dos importa en ese caso.

Se trabaja en 041 — Búsqueda de texto: índice invertido, análisis y relevancia · parte 07

Ver también: recall, recall@k, precisión@k

Fuente: The Probabilistic Relevance Framework: BM25 and Beyond (2009)

privilegio mínimo

Cada identidad recibe exactamente los permisos que necesita para su función y ninguno más. La comprobación práctica es incómoda y reveladora: si la aplicación se conecta como propietaria del esquema, no hay privilegio mínimo.

Se trabaja en 060 — Control de acceso: privilegio mínimo, roles y seguridad por fila · parte 11

Ver también: rol, separación de funciones, defensa en profundidad

Fuente: NIST SP 800-53 Rev. 5: Security and Privacy Controls for Information Systems (2020)

punto de control

Marca periódica que fija hasta dónde están ya volcadas a disco las páginas modificadas. Acorta la recuperación, porque tras una caída solo hay que releer el registro desde el último punto de control y no desde el principio de los tiempos.

Se trabaja en 046 — Registro anticipado y recuperación: WAL y ARIES · parte 08

Ver también: WAL, rehacer, recuperación

Fuente: ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging (1992)

Q

R

redundancia controlada

Duplicar un dato a propósito, sabiendo dónde está la copia y quién la mantiene al día. Se distingue de la redundancia accidental en que existe un mecanismo declarado de sincronización y un costo de escritura aceptado.

Se trabaja en 019 — Desnormalización deliberada y patrones de acceso · parte 02

Ver también: costo de escritura, desnormalización por consulta, anomalía de actualización

Fuente: NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence (2012)

rehacer

Fase de la recuperación que reaplica desde el registro todo lo confirmado que aún no había llegado a las páginas de datos. ARIES la ejecuta antes de deshacer y de forma que repetirla sea inofensiva, lo que permite recuperarse de una caída ocurrida durante la recuperación.

Se trabaja en 046 — Registro anticipado y recuperación: WAL y ARIES · parte 08

Ver también: deshacer, WAL, punto de control, idempotencia

Fuente: ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging (1992)

S

separación de funciones

Que quien desarrolla no sea quien despliega en producción, y que quien opera no pueda borrar sus propias huellas de auditoría. Es un control organizativo antes que técnico, y sin él el registro de auditoría no prueba nada.

Se trabaja en 060 — Control de acceso: privilegio mínimo, roles y seguridad por fila · parte 11

Ver también: privilegio mínimo, rol, defensa en profundidad

Fuente: NIST SP 800-53 Rev. 5: Security and Privacy Controls for Information Systems (2020)

sesgo de escritura

Dos transacciones leen el mismo conjunto, cada una decide que puede escribir, y juntas rompen un invariante que ninguna rompía por separado —los dos médicos de guardia que se dan de baja a la vez—. Snapshot isolation lo permite; hace falta serializable o un bloqueo explícito.

Se trabaja en 044 — Anomalías de aislamiento y la crítica a los niveles ANSI · parte 08

Ver también: snapshot isolation, invariante, bloqueo optimista

Fuente: Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions (1999)

T

trazabilidad de la cita

Que cada afirmación de la respuesta pueda seguirse hasta el fragmento y el documento del que salió. Es lo que permite auditar el sistema y detectar la alucinación; sin ella no hay forma de distinguir una respuesta correcta de una convincente.

Se trabaja en 071 — RAG evaluable: medir la recuperación antes que la generación · parte 13

Ver también: fragmentación, evidencia, defensa técnica

Fuente: Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (2020)

U

V

vectorización

Procesar lotes de miles de valores por llamada en lugar de una fila cada vez. Amortiza el costo de interpretación del plan y aprovecha las instrucciones SIMD del procesador; es la segunda mitad —junto al formato columnar— de la ventaja analítica de DuckDB o ClickHouse.

Se trabaja en 033 — SQLite y DuckDB: motores embebidos, transaccional frente a analítico · parte 05

Ver también: ejecución vectorizada, almacenamiento columnar, ejecutor

Fuente: DuckDB Documentation (2026)

W

WAL

Registro anticipado: antes de tocar la página de datos se escribe en un registro secuencial qué se va a cambiar, y ese registro se fuerza al disco antes de confirmar. Es lo que hace posible la durabilidad sin escribir cada página en cada `COMMIT`.

Se trabaja en 046 — Registro anticipado y recuperación: WAL y ARIES · parte 08

Ver también: punto de control, rehacer, deshacer, LSN

Fuente: ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging (1992)