Así PlanetScale ejecuta backups paralelos de Postgres a escala de petabytes

Fuentes: Massively parallel Postgres backups — PlanetScale

PlanetScale ha detallado el sistema interno con el que realiza copias de seguridad de bases de datos Postgres particionadas (sharded) en su oferta Neki, capaz de respaldar volúmenes de datos del orden de petabytes en pocas horas y a tasas superiores a 50 GB/s. El proceso parte de una premisa: cada 12 horas hay que convertir el estado completo de una base de datos en producción en una instantánea cifrada y consistente, sin afectar al tráfico de consultas.

La compañía logra ese objetivo mediante un alto grado de paralelismo. Para cada shard se levanta dinámicamente una instancia EC2 nueva dedicada al respaldo, lo que aísla la carga de trabajo de los servidores primarios. Sobre esa instancia se restaura la copia anterior desde almacenamiento de objetos (Amazon S3 o equivalente), se reproducen los registros de Write-Ahead Log (WAL) —archivados continuamente con la herramienta wal-g— para poner al día la copia y, una vez alcanzado el instante T, se congela la réplica, se cifra el resultado y se sube a un bucket distinto. En el caso de una base de datos recién creada, el primer ciclo se siembra con pg_basebackup y a partir de ahí se sigue el flujo de restauración, actualización y guardado.

Según PlanetScale, este diseño permite demostrar de forma periódica que las copias previas son restaurables, reduce al mínimo el impacto en producción —solo se transmiten desde el primario los últimos minutos de WAL— y mantiene un formato homogéneo entre el respaldo inicial y los sucesivos, simplificando la operación de recuperación.