Parte 06 — Documentos y clave-valor
Modelos sin reunión en el servidor: el agregado como frontera de consistencia, cuando incrustar y que se pierde en una caché.
4 clases · 13 horas ·
16 conceptos · 9 fuentes
Antes de esta parte
Esta parte se apoya en lo trabajado antes. Si vienes de fuera del programa, revisa al menos el vocabulario de:
De qué trata esta parte
La primera salida del relacional, y se hace por la puerta correcta: no por la moda, sino por una idea con nombre propio. El agregado es el conjunto de datos que se lee, se escribe y se mantiene consistente como una unidad, y en los motores documentales la frontera transaccional coincide con él. Diseñar el agregado es, por tanto, decidir dónde termina la garantía del motor y empieza el trabajo de tu aplicación.
Las cuatro clases desarrollan esa idea. La primera la establece. La segunda la aplica a la decisión central del modelado documental —incrustar o referenciar— con sus dos criterios: si el dato se lee siempre junto, y si puede crecer sin techo. La tercera enseña a consultar e indexar lo modelado, con la regla que más rendimiento decide en una canalización de agregación. La cuarta trata el clave- valor y la caché diciendo con precisión qué se pierde: la consulta por contenido, la integridad declarada y, según la configuración, parte de la durabilidad.
Nada aquí sugiere abandonar el relacional. Sugiere saber qué se está comprando y con qué moneda se paga.
Al terminar esta parte podrás
- Identificar los agregados de un dominio y justificar dónde se pone la frontera transaccional.
- Decidir entre incrustar y referenciar con criterios de patrón de lectura y crecimiento acotado.
- Diseñar índices y canalizaciones de agregación que usen el índice en lugar de recorrer la colección.
- Declarar la política de caché —TTL, invalidación y durabilidad— en términos de pérdida aceptable.
Las clases, una por una
Intermedio · 3 h ·
3 fuentes · requiere 019, 023
El agregado como unidad de lectura, escritura y consistencia, y la consecuencia que ordena toda la parte: en los motores documentales la frontera transaccional coincide con el agregado. Diseñar el agregado es, por tanto, decidir dónde termina la garantía del motor y empieza el trabajo de la aplicación.
agregado frontera transaccional entidad actividad
Intermedio · 4 h ·
3 fuentes · requiere 034
La decisión central del modelado documental —incrustar o referenciar— con sus dos criterios: si el dato se lee siempre junto y si puede crecer sin techo. Presenta el crecimiento no acotado como el fallo característico del modelo documental y los patrones de extensión que lo evitan.
incrustación referencia crecimiento no acotado patrón de extensión
Intermedio · 3 h ·
3 fuentes · requiere 035
Cómo se consulta e indexa lo que se modeló en la clase anterior: índices compuestos y multiclave, cobertura, y la canalización de agregación con la regla que más rendimiento decide —poner `$match` al principio para que el índice sirva, no después.
índice compuesto canalización de agregación índice multiclave cobertura
Intermedio · 3 h ·
3 fuentes · requiere 034
Qué se gana y qué se pierde exactamente al poner una caché delante. Trata el TTL como política de retención, la invalidación como el problema difícil que es, la estampida como fallo predecible, y la durabilidad configurable de Redis como una decisión de negocio que hay que escribir en segundos de pérdida aceptable.
TTL invalidación estampida de caché durabilidad configurable
Errores frecuentes en esta parte
Cada uno de estos es una creencia habitual y su corrección.
- «En documentales no hay esquema.» Hay esquema; lo que no hay es quien lo imponga. Se traslada de la base a la aplicación, donde nadie lo comprueba en cada escritura.
- «Incrustar es más rápido siempre.» Hasta que el arreglo incrustado crece sin techo y cada lectura arrastra megabytes que nadie pidió.
- «Redis es una base de datos.» Puede serlo con la configuración adecuada, pero por defecto es una caché: si no declaraste la durabilidad, aceptaste perder datos.
- «El `$lookup` es como un `JOIN`.» Existe, pero no está optimizado como una reunión relacional; si tu modelo lo necesita en cada consulta, el modelo probablemente era relacional.
Vocabulario de la parte
Los 16 términos que esta parte introduce. Todos están también
en el glosario del programa con sus términos
relacionados.
Fuentes usadas en esta parte
9 obras distintas sostienen lo que se afirma en estas
4 clases.
Otras partes