Parte 10 — Distribución, réplica y consistencia
Qué se gana y qué se paga al repartir los datos: replicación, partición, los teoremas que acotan lo posible y el consenso.
5 clases · 17 horas ·
20 conceptos · 17 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
Repartir los datos entre máquinas resuelve problemas de capacidad y de disponibilidad, y crea una clase entera de problemas nuevos que no existían en una sola máquina. Esta parte los nombra con precisión y acota lo que es teóricamente posible, para que las decisiones de arquitectura dejen de apoyarse en eslóganes.
Réplica primero, con las tres arquitecturas y la consecuencia que el usuario nota: guardar algo y al recargar no verlo. Después particionado, con los dos esquemas de reparto y el punto caliente que cada uno genera. Luego CAP dicho con precisión —la disponibilidad del teorema es mucho más estricta que el noventa y nueve coma nueve del lenguaje operativo— y PACELC, que añade lo que CAP calla: el compromiso entre latencia y consistencia existe también los días en que no hay avería. Después el espectro de modelos de consistencia con las garantías de sesión que resuelven en la práctica la mayoría de los síntomas. Y al final consenso, commit en dos fases y sagas.
Es la parte más citada del programa en fuentes primarias: Gilbert y Lynch, Brewer, Abadi, Lamport, Ongaro, DeCandia y Corbett. Merece leerse con los artículos abiertos al lado.
Al terminar esta parte podrás
- Elegir entre líder único, multilíder y sin líder según el patrón de escritura y la tolerancia a conflictos.
- Diseñar un esquema de particionado que evite puntos calientes y permita rebalancear.
- Enunciar CAP con precisión y explicar por qué «elegir dos de tres» es una simplificación errónea.
- Elegir el modelo de consistencia y las garantías de sesión que el caso realmente necesita.
- Comparar consenso, commit en dos fases y saga por lo que cada uno bloquea y garantiza.
Las clases, una por una
Avanzado · 4 h ·
3 fuentes · requiere 043, 046
Las tres arquitecturas de réplica y el compromiso que define cada una. La consecuencia visible para el usuario es el retraso de réplica: guardar algo y al recargar no verlo. Introduce las garantías de sesión que lo tapan y el quórum de los sistemas sin líder.
replicación sincrónica retraso de réplica quórum lectura de tu propia escritura
Avanzado · 3 h ·
3 fuentes · requiere 039, 053
Repartir los datos entre nodos sin crear un cuello de botella. Compara hash consistente y partición por rango por lo que cada una permite y por el punto caliente que cada una genera, y explica por qué el rebalanceo se diseña fijando muchas más particiones que nodos desde el principio.
hash consistente partición por rango punto caliente reequilibrio
Avanzado · 3 h ·
4 fuentes · requiere 053
CAP dicho con precisión y despojado de la versión de póster. La disponibilidad del teorema es 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. PACELC añade lo que CAP calla: el compromiso entre latencia y consistencia existe también los días en que no hay avería.
partición de red disponibilidad latencia frente a consistencia
Avanzado · 3 h ·
5 fuentes · requiere 055
El espectro entre linealizabilidad y consistencia eventual, con las garantías de sesión —leer tu propia escritura, lectura monótona— que resuelven en la práctica la mayoría de los síntomas visibles. Insiste en que la consistencia eventual solo converge si existe una regla determinista de resolución de conflictos.
linealizabilidad consistencia causal lectura monotona convergencia
Avanzado · 4 h ·
4 fuentes · requiere 055, 047
Cómo se ponen de acuerdo varios nodos y cómo se confirma algo que abarca varios sistemas. Raft para el consenso y la elección de líder, el commit en dos fases con su fragilidad conocida —el coordinador que cae dejando cerrojos tomados— y la saga con compensaciones como la alternativa que renuncia al aislamiento para no bloquear.
consenso elección de líder commit en dos fases saga compensación
Errores frecuentes en esta parte
Cada uno de estos es una creencia habitual y su corrección.
- «CAP dice que elijas dos de tres.» El propio Brewer lo corrigió: cuando no hay partición no hay que renunciar a nada, y cuando la hay se elige entre consistencia y disponibilidad solo durante la partición.
- «Consistencia eventual significa que al final se arregla solo.» Solo converge si existe una regla determinista de resolución de conflictos. Sin ella, diverge para siempre.
- «Añado réplicas de lectura y escalo.» Añades retraso de réplica, que es un cambio de semántica visible para el usuario, no solo un ajuste de capacidad.
- «El commit en dos fases resuelve las transacciones distribuidas.» Es correcto y es bloqueante: si el coordinador cae entre las dos fases, los participantes quedan con los cerrojos tomados.
Vocabulario de la parte
Los 20 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
17 obras distintas sostienen lo que se afirma en estas
5 clases.
Otras partes