Lecturas en Postgres que causan escrituras: MVCC, poda de páginas y bits de sugerencia
2024-12-25
Este artículo profundiza en el comportamiento aparentemente paradójico en PostgreSQL donde simples consultas SELECT pueden desencadenar escrituras de datos. Comenzando con el mecanismo de Control de Concurrencia de Versiones Múltiples (MVCC), explica conceptos como versiones de filas, páginas y tuplas. A través de ejemplos de código, analiza cómo las actualizaciones de bits de sugerencia y la poda de páginas hacen que las operaciones de lectura modifiquen páginas, llevando finalmente a escrituras en disco. El artículo también analiza la estrategia de optimización de actualización HOT y utiliza herramientas de inspección de páginas para ilustrar cómo se almacenan y actualizan los datos dentro de las páginas.
Desarrollo
Rendimiento de la base de datos