Skip site navigation (1) Skip section navigation (2)

Re: Backups Acotados

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Vladimir Damian <vladimirsoftware(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Backups Acotados
Date: 2011-01-12 22:31:20
Message-ID: 1294870928-sup-6439@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Excerpts from Vladimir Damian's message of mar ene 04 13:06:28 -0300 2011:

> Tengo una base de datos extremadamente grande y se desea armar una base de
> datos para desarrollo y esta debe tener un numero limitado de registros
> no se dispone de un backup o politica parecida. y ante la necesidad
> expuesta, deseo me orienten en el tema.
> 
> me explico:
> 
> 1. O hacer que todas las tablas solo resguarden ejemplo 1,000 por tabla o
> 2. Poder determinar la cantidad de registros por cada  tabla.

Esto no es un problema trivial, pero lo he visto descrito antes (creo
que en una charla en el 10th Anniversary Summit, pero no me acuerdo
bien).  Creo que deberías escribir un sistema que te permita hacer un
traspaso filtrado de datos; pero no simplemente copiar 1000 registros al
azar de cada tabla (ni los 1000 primeros), sino que debería ser
configurable.  Además, muchas tablas tendrán llaves foráneas definidas,
y tu sistema de traspaso debe permitir que se copien los valores
correctos dependiendo de las FKs.  Por otro lado, aquellas tablas que
definan "categorías" de cosas deben copiarse completas.

Me parece que deberías pensar en diseñar un pequeño modelo de apoyo que
indique qué tablas se copian completas, cuáles se copian parcialmente, y
para estas últimas, criterios que permitan determinar qué datos copiar
desde otras tablas (FKs).  Luego programas un sistema para hacer la
copia en forma automatizada basándose en ese modelo.  A futuro, cuando
crees nuevas tablas, etc, puedes refrescar tu base de pruebas
simplemente agregando las nuevas tablas al modelo y re-ejecutando el
programa de copia.

Me da la sensación de que si los registros a copiar se escogen al azar,
el sistema de pruebas podría no ser representativo de lo que quieres
emular; por ej. si el cliente XYZ tiene 1000 facturas más que otros
clientes, y resulta que ejecutas la copia y el cliente XYZ no se copia
porque por azar no fue escogido, las pruebas pueden salir todas bien en
el servidor de pruebas, pero en producción te puedes llegar a encontrar
con que algunas consultas son muy lentas para ese cliente.  Si este es
un problema importante para ti quizás deberías permitir indicar
registros específicos que copiar incondicionalmente.

-- 
Álvaro Herrera -- Se vende casa en Ñuñoa: www.portalinmobiliario.com/993147

In response to

pgsql-es-ayuda by date

Next:From: Joel A. IturraDate: 2011-01-13 15:30:03
Subject: Re: Backups Acotados
Previous:From: Dorian KurokiDate: 2011-01-12 14:07:05
Subject: Re: vacuum a las tablas

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group