Nivel 0: Orientación y prerrequisitos · L0.2 Fundamentos de sistema operativo y hardware para arquitectos
Durabilidad: ¿cuándo se guardan de verdad los datos?
Explicar la page cache, fsync y por qué write() no es durabilidad.
12 min · Gratis
Lo que te llevas
- write() copia a la page cache del sistema operativo y regresa; los datos están en RAM volátil, no en el disco.
- fsync() es la llamada que pide que estén en un medio estable, y cuesta ~0.5–2 ms incluso en NVMe.
- Las bases de datos hacen fsync de un write-ahead log, no de los archivos de datos, y juntan muchos commits en un solo fsync (group commit).
- La durabilidad es una elección con precio: el buffering es rápido y pierde las escrituras recientes; un fsync por commit es seguro y limita a un solo escritor a unos cientos de commits por segundo.
Cómo está armada la clase
- El problema
- La versión simple
- Las capas entre tu código y el disco
- Cuánto cuesta, y qué hacen las bases de datos al respecto
- Jerarquía de memoria
- Procesos e hilos
- I/O asíncrono
- Durabilidad
- Comprueba lo que entendiste