Ver Mensaje Individual
  #3  
Antiguo 06-09-2006
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Reputación: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por atani123
Tengo una aplicacion que continuamente esta grabando informacion, aproximadamente 1 registro compuesto de unos 30 enteros cada minuto.
La aplicacion no se reinicializa nunca, es decir el pc esta encendido dias y dias con este proceso. Cuando cambia de dia los registros del dia anterior son borrados automaticamente.

Mi problema es el siguiente, ya expuesto en otro hilo sin encontrar solucion, La base de datos me llega a alcanzar 2GB en un par de dias, donde me dice que tengo 133548 paginas reservadas. De las que luego al hacer un backup y restore se me queda en 200 mas o menos. Existe alguna forma de eliminar estas paginas no usadas de una forma rapida. Podria realizar un backup/restore, pero el proceso que realiza el pc es muy critico, cada minuto exacto. No puedo entretenerlo mas de 20 seg.

No se que hacer
La única forma de eliminarlas es haciendo un backup/restore.

Lo que te ocurre está provocado por el sistema de "multiversión" que usa interbase/firebird, llamado: "Arquitectura multigeneracional (MGA)", cada vez que insertas, modificas, etc cualquier registro, siempre se crea una copia (una versión del mismo) para el caso que luego hagas rollback o por si otro usuario está accediendo al mismo registro, etc. Esto permite un sistema multiusuario total sin los problemas de bloqueos que provocan otros sistemas de bases de datos.
Te recomiendo que leas el informe sobre transacciones del compañero Juan José Rodríguez.

Lo que cuentas ahora no es lo mismo que comentabas en el otro hilo, que por cierto, algún moderador te aconsejará que hubieses seguido el otro hilo en lugar de iniciar este nuevo. Pues lo que te comentaba: en el otro hilo decías que así porque sí, se ponía la base de datos a crear registros y no paraba hasta tener cientos de megas, algo que no tenía sentido y había sido el problema que he estado intentando resolver estos días contigo. Sin embargo, ahora dices que poco a poco, al cabo de los días, la base de datos ha aumentado de tamaño, o sea, no de golpe, como comentabas en el otro hilo.
Son dos cosas muy distintas, en el primer caso denota un problema, fallo o error de programación que inserta multitud de registros en plan "bestia". Lo que explicas en este hilo es, simplemente, normal.

Bueno, de todas formas, a lo que iba: si la base de datos va bien, responde bien, funciona correctamente, ¿qué importancia tiene que ocupe 2 gigas?.
Puedes seguir trabajando tranquilamente, haciendo backups online, no hay problema (precisamente gracias al sistema multigeneracional del que hablamos).

Si el problema es otro o si simplemente no te gusta que ocupe mucho la base de datos... entonces me temo que tendrás que cambiar a otra o inventar algún sistema de tablas temporales en memoria que se actualice cada cierto tiempo mientras se hace un backup/restore de la base de datos, etc.

En fin, que habría que estudiar a fondo el caso y conocer toda la problemática de la empresa para poder llegar a la solución adecuada.

Ya nos comentarás y perdona el "rollo" que he escrito
Responder Con Cita