Le sugerimos "poner todo en S3" para reducir la factura. Excepto que su PostgreSQL ya se está ejecutando en un volumen de bloques NVMe y un DBA le recuerda que las bases de datos no viven en depósitos.
El almacenamiento en bloque (volumen adjunto a un VPS, disco en la nube, SAN) expone un dispositivo /dev/sdb formateado en ext4 o XFS. El motor base realiza lecturas/escrituras aleatorias, fsyncs y bloqueos. El almacenamiento de objetos expone claves; cada PUT reemplaza el objeto completo. Confundir los dos modelos con datos que cambian cada segundo es uno de los errores arquitectónicos más costosos.
Bloque versus objeto: semántica de acceso
| Necesidad | Disco de bloque | Almacenamiento de objetos |
|---|---|---|
| MySQL/PostgreSQL/MongoDB local | Sí | No |
| Persistencia de Redis AOF/RDB | Sí | No |
| Carga de fotos inmutable | Posible pero pesado | ideales |
| Registros archivados de solo anexar | Bloquear luego rotación → objeto | Ideal (ciclo de vida) |
| Cambios parciales frecuentes | Sí (escritura compensada) | No (reescribir el objeto completo) |
| Instantáneas consistentes con fallas | Sí (con precauciones) | Versionado por objeto |
Poner una base de datos en S3 “porque es escalable” ignora que la escalabilidad de las bases de datos depende de la replicación, no de los PUT HTTP.
Datos que cambian con frecuencia: permanezca en un bloque
Motores relacionales. Directorio de datos, WAL, binlog: la latencia p99 y las IOPS aprovisionadas determinan el soporte. Para ello existen ofertas en la nube "optimizadas para bases de datos" o volúmenes NVMe.
Cachés persistentes. Redis AOF, sesiones de archivos: escrituras pequeñas frecuentes: ajuste incorrecto del objeto.
Aplicaciones POSIX heredadas. ERP que escribe cientos de pequeños archivos temporales en /tmp/app: bloque o SSD local.
Contenedores con estado local. Volumen Docker con nombre para Elasticsearch o Prometheus TSDB: bloque adjunto, instantáneas regulares.
Mejores prácticas de bloqueo: instantáneas antes de una actualización importante; Monitoreo de IOPS y espacio libre con alerta del 80%; Separe los datos y el sistema operativo en dos volúmenes para una restauración específica.
Datos que cambian poco o una vez: el objeto gana
Medios de usuario. Escribe una vez, lee muchas a través de CDN.
Copias de seguridad y volcados. pg_dump comprimido en un depósito con retención de 30 días: clásico y económico.
Registros fríos. Rotación local 48 horas en bloque, agregación al depósito de clase fría.
Artefactos de CI. Binarios versionados, inmutables por hash.
Scaleway, OVHcloud y hyperscalers facturan el bloque y el objeto por separado: compare la salida cuando la base de datos se restaura desde S3 a un nuevo volumen.
La trampa híbrida mal ejecutada
Patrón saludable: basado en NVMe, archivos objeto, metadatos en SQL.
Patrón tóxico: base en bloque y archivos de aplicaciones críticas solo en bloque sin objeto de respaldo: pérdida de volumen = pérdida total. Patrón inverso tóxico: pruebe SQLite en NFS montado desde una puerta de enlace de objetos: latencia y corrupción.
La cumbre: la factura S3 no es la factura de arquitectura
Decide y avanza sin puntos ciegos
Enumere cada almacén de datos con su velocidad de escritura: operaciones por segundo, tamaño promedio, mutable o inmutable. Coloque las bases y las cubiertas en un bloque de tamaño después de la medición de IOPS bajo carga real. Exporte copias de seguridad y medios a objetos con reglas de ciclo de vida.
Pruebe la restauración del volumen en bloque y la restauración de objetos aislados, no solo la creación de la copia de seguridad. Explore ofertas de bloques y objetos en nuestra comparación. Para archivos de aplicación versus NAS, consulte Almacenamiento de objetos o NAS.
Preguntas frecuentes
¿Se puede alojar MySQL en un almacenamiento de objetos?
No en producción estándar. MySQL requiere un sistema de archivos de bloques de baja latencia. Objeto para volcados y archivos.
¿Cuándo reemplaza S3 un volumen en bloque?
Archivos escritos una vez y luego leídos, a través de SDK/CDN. Las reescrituras frecuentes favorecen el bloqueo.
¿Son suficientes las instantáneas de bloques como copia de seguridad?
No solo. Combine instantáneas, exportación de objetos externos y pruebas de restauración.
¿Cómo elegir el tamaño de IOPS?
Perfil en pico: IOPS sostenido, latencia p99. Evite el sobredimensionamiento y el subdimensionamiento de las persianas.
Antes de migrar una base de datos "a la nube", una pregunta: ¿cuántas escrituras aleatorias por segundo? Si no lo sabe, el disco de bloque aún no tiene el tamaño adecuado y S3 no es la respuesta.
