Copias de seguridad de PostgreSQL 101

Imagen de Steve Buissinne de pixabay

Hacer una copia de seguridad de su base de datos es esencial para garantizar la continuidad del negocio en caso de falla o desastre. Tener sus datos seguros garantiza que pueda recuperarse y restaurar las operaciones rápidamente. Siga leyendo para obtener más información sobre varios métodos de respaldo para bases de datos PostgreSQL.

Tipos de copia de seguridad de PostgreSQL

Las copias de seguridad de Postgres pueden ser físicas o lógicas. Las copias de seguridad físicas se conocen como instantáneas a nivel de sistema de archivos. Las copias de seguridad lógicas se conocen como volcados de SQL. Ambos tipos de copia de seguridad son útiles y cada uno tiene sus ventajas o desventajas.

Por un lado, una base de datos es un grupo de archivos en un disco en un centro de datos. Por otro lado, una base de datos se percibe como una secuencia de sentencias SQL utilizadas para crear y manipular los datos.

Volcado SQL

Este método funciona generando un archivo de texto con comandos SQL para recrear el clúster de Postgres, una base de datos o una tabla determinada. Utiliza comandos pg_dump y pg_dumpall, aunque solo para exportaciones lógicas. Esto lo convierte en una mala elección para grandes bases de datos, ya que lleva demasiado tiempo importar y exportar.

Archivado continuo (CA) y recuperación de un punto en el tiempo (PITR)

Es una combinación de una copia de seguridad a nivel de sistema de archivos con una copia de seguridad de los archivos WAL (Write Ahead Log). Este método funciona al archivar los registros WAL continuamente en una ubicación segura, donde se pueden usar para PITR. Los archivos WAL proporcionan atomicidad y durabilidad (dos de las propiedades ACID) en los sistemas de bases de datos. Funciona escribiendo todas las modificaciones en un registro antes de aplicarlas. Este método recupera los datos del recuperación de un punto en el tiempousando así el WAL para recuperar la última versión

PostgreSQL tiene varias herramientas que ayudan a realizar incrementalrecuperación continua y puntual a partir de una copia de seguridad, por ejemplo, pg_basebackup, archivo_comando, restaurar_comando y pg_archivecleanup.

Hay varias soluciones para copias de seguridad postgres que ayudan a aprovechar las numerosas herramientas que proporciona la plataforma para la copia de seguridad y la recuperación.

Pros y contras de cada método de copia de seguridad de Postgres

Ambos métodos pueden ser útiles según las necesidades de respaldo de su organización, por ejemplo, los volcados de SQL son más adecuados para bases de datos pequeñas y medianas, mientras que PITR es más adecuado para bases de datos grandes. Repasemos los pros y los contras de ambos enfoques.

Volcados de SQL

Este enfoque se caracteriza por su granularidad, lo que lo convierte en un respaldo flexible con respecto a los componentes de la base de datos. Algunas de sus ventajas y desventajas son:

ventajas

  • Compacto—solo contienen sentencias de creación de datos y objetos. Un volcado reduce los índices a una simple línea, utilizando GZip para comprimirlos. Además, puedes elegir el nivel de compresión.
  • Portátil—los volcados son independientes de la plataforma, por lo que puede restaurar la base de datos en cualquier sistema operativo compatible con PostgreSQL (Linux, Windows, MacOS). Además, puede transformar un volcado de Postgres para que otro sistema de base de datos pueda leerlo mediante el modo INSERTAR. Puede crear un volcado durante las operaciones normales sin necesidad de detener el tráfico para hacerlo.
  • Flexible— puede crear un volcado a partir de una tabla, una sola base de datos o un clúster. Al restaurar, puede usar formatos personalizados y la herramienta pg_restore.
  • Coherente— a través de su control de concurrencia de múltiples versiones patentado y las funciones de instantáneas, PostgreSQL garantiza que el volcado sea como una imagen de la base de datos en el momento en que comenzó, incluidas las restricciones y los permisos.
  • Prueba la base de datos—PostgreSQL escanea todas las tablas para crear un volcado, por lo tanto, si hay errores en las páginas de datos, el programa envía una alerta.

Contras

La restauración desde volcados suele ser más lenta que otros métodos, especialmente cuando se crea con un paralelismo agresivo. Las bases de datos cambian constantemente, por lo tanto, si necesita restaurar varias horas después de la última copia de seguridad del volcado, puede correr el riesgo de perder los cambios de datos.

estrategia de renta fija

La recuperación de un punto en el tiempo le brinda la flexibilidad de recuperarse de acuerdo con una línea de tiempo. Tiene ventajas y desventajas como:

ventajas

  • copia rápida—la velocidad depende de su red y discos, puede planificar que el sistema siga funcionando durante la copia de seguridad Además, dado que las funciones de restauración usan las mismas métricas, puede predecir cuánto tiempo llevará la recuperación en caso de desastre.
  • Recuperación más rápida—ya que no hay necesidad de recalcular índices. La restauración implica reproducir suficiente WAL para tener una base de datos consistente. Puede reproducir todos los WAL, restaurando al momento más cercano al incidente, manteniendo la pérdida de datos al mínimo.
  • Recuperación de un punto en el tiempo– puede decirle a PostgreSQL que deje de reproducir WAL st en un momento dado. Por ejemplo, darle una marca de tiempo para detener la reproducción en WAL un segundo antes de un incidente. Además, puede marcar el inicio de una operación y, en caso de desastre, restaurar hasta esa marca.
  • Copia de seguridad de base de datos en vivo: este método requiere que realice la copia de seguridad con una base de datos activa. Guarde desde las lecturas del disco y el procesamiento de la red, todo lo demás se puede hacer de forma remota.

Contras

  • no portátil— solo puede restaurar la base de datos en la misma versión de PostgreSQL, en el mismo sistema operativo. Por ejemplo, no es posible restaurar un origen de Linux de 64 bits en un Linux de 32 bits.
  • sin flexibilidad: solo puede hacer una copia de seguridad de todo el clúster con todas las bases de datos, tablas y objetos. Para garantizar la coherencia, el WAL debe repetirse al mínimo. Además, dado que la copia no es atómica, significa que la copia de seguridad se copiará y restaurará tal cual, incluso con fallas y errores.

La línea de fondo

PostgreSQL ofrece dos enfoques principales para la copia de seguridad, para abordar las diferentes necesidades de sus usuarios. Cuál elegirá dependerá de sus necesidades de copia de seguridad y recuperación. Por ejemplo, si necesita poder restaurar tablas o bases de datos individuales, el volcado de SQL puede ser una buena opción.

Sin embargo, si su base de datos cambia constantemente y necesita mantenerse al día con los cambios de tiempo, entonces PITR podría ser el enfoque para usted. Cualquiera que elija, puede aprovechar los beneficios de la replicación de transmisión y las copias de seguridad incrementales que forman parte de PostgreSQL.

Similar Posts

Leave a Reply

Your email address will not be published.