Depende a que llamas grandes volumenes?

Sobre las herramientas de respaldos y recuperación debes saber que hay dinstintos tipos de respaldos y recuperación.

Dependiendo de tus SLA es lo que debes utilizar para poder recuperarte y dependiendo del tipo de operación que te genera la necesidad de volver atraz en el tiempo es el nivel de protección que vas a tener.

Ejemplo, tienes base primaria y secundaria, con replicación por WAL, pero alguien se equivoca y hace un truncate de una tabla Importante, y te debes recuperar, eso es recuperación logica donde pg_dump te puede servir para recuperar una tabla especifica.

Como te mensionan pg_dump no se considera una herramienta de recuperación, es una herramienta para generar respaldos logicos.

pg_backup que es lo que las otras herramientas usan utiliza los WAL que son los archivos con transacciones generados cuando la base de datos esta en modo archive, (en Oracle es archivelog y redologs ).

El modo archive te permite aplicar estas transaciones y recuperarte en el tiempo.

sobre el pg_dump dependendiendo de lo que respaldas y como te recuperas junto con el compresor es lo que se demora.

Ejemplo: una base de 400G que me genera un respaldo pg_dump usando zstd ( compresor nuevo del 2016 ) me queda en 55G y el respaldo es en paralelo. lo que es rapido y la recuperación tambien es en paralelo, mientras mas IOPS tengas y CPU mas rapido es el respaldo/recuperación de pg_dump y pg_restor ( usando -Fd -j (CPUs / 2 )  o algo que use la maquina bien. Dependiendo de tu hardware es que tan rapido es, pero recuerda esto es un DUMP logico, no es un respaldo fisico en caliente. es decir si estas dispuesto a perder las transacciones entre respaldos, esta bien. si necesitas algo mas robusto hay varias herramientas que te permiten recuperarte en el tiempo.

Ten un ojo con PG17 que parece que van a incluir un respaldo diferencial, hay un commit hecho en el 2022 Dic que habla de eso.

Para resumir, con pg16 -zstd ( debes tener el compressor zstd instalado ) y -Fd el respaldo es rapido. Sin -Fd y con -Fc ( puedes usar -j para pg_restore, el dump tiene una estructura que te permite recuperación en paralelo.

Espero que esto te ayude a hacer unas pruebas y disminuir el tiempo de tus respaldos. Este articulo habla del zstd y te puede dar una idea de los tamaños generados.

https://www.cybertec-postgresql.com/en/lz4-zstd-pg_dump-compression-postgresql-16/

De hecho tengo ganas de escribir algo sobre esto por que zstd es super rapido. 300MB/s de entrada comprimiendo, y en un DL360G10 con CPU GOLD de 3.2Ghz descomprime a 1.45GB/s.

PS: DE que tamaño estamos hablando ?

On 26/09/2024 5:14 am, Daymel Bonne Solís wrote:
Hola Fernando:

pg_dump nunca se ha catalogado por ser una herramienta para recuperarse en caso de desastres. Mucho menos aplicable para grandes volúmenes de datos.

Yo te recomiendo herramientas probadas y recomendadas por la comunidad, Barman, PgBackrest. Incluso hacer snapshots de volúmenes + WAL archivíng es mejor que utilizar pg_dump para respaldos.

Saludos


On 25 Sep 2024, at 11:43 AM, Romero, Fernando <fernando.rom...@trenesargentinos.gob.ar> wrote:

Hola como están
Consulta, actualmente estoy realizando respaldos en bases de datos con pg_dump, para las bases de datos de gran volumen los tiempos de respaldo de recuperación son altos. Según la experiencia de uds tendría que hacer backup lógicos o físicos (por ejemplo pg_basebackup).
Me gustaría leer sus recomendaciones.
Saludos
“El contenido del presente mensaje (y sus anexos) es privado, confidencial y de exclusivo uso para el destinatario referenciado; es de público conocimiento que las comunicaciones por medio de Internet no permiten asegurar ni garantizar la confidencialidad de los mensajes transmitidos, así como tampoco su integridad o su correcta recepción; es por ello que SOFSE no se responsabiliza de posibles perjuicios derivados de la captura, incorporaciones de virus o cualquier otra manipulación efectuada por terceros. Las opiniones expresadas en este mensaje y en los archivos adjuntos son propias del remitente y no representan la opinión o políticas de SOFSE, salvo que se diga expresamente y el remitente se encuentre autorizado para ello”

Reply via email to