PDA

Ver la Versión Completa : Dividir Base de Datos FireBird


Blasito
18-12-2007, 14:14:48
Cordial Saludo,

Resulta que tengo una Base de Datos FireBird que se me ha vuelto bastante grande hay muchos registros ya hasta necesito una buena maquina para poder consultarla.

Necesito poder dividir esta Bases de Datos en varias partes, quiero saber si esto es posible agradeceria cualquier informacion.

Cordialmente,

Ing. Bladimir Silva
Colombia

duilioisola
18-12-2007, 14:52:59
Es posible, pero no creo que ganes mucho en performance (velocidad de acceso, de backup, restore, etc.)
Esto se utiliza cuando se supera la limitación de espacio de archivos para el sistema operativo.

Yo tuve ese problema en FB 1.0, porque solo dejaba hacer ficheros de hasta 2GB.
Con FB1.5 y superiores este problema no existe y los linux/windows actuales tampoco padecen estas limitaciones.

No recuerdo bien, pues hace mucho que no la uso, pero era algo así :

- primero haces un backup
gbak -t nombre.fdb backup.fbk
- luego restore
gbak -r backup.fbk nombre.fdb 400000 nombre_2.fdb 400000 nombre_3.fdb 400000

Creo que 400000 era 1GB por lo que creará los tres partes. La primera es el nombre por la que la vas a llamar y el resto puede ser cualquier otra cosa.

Cuando hagas un backup. debes decirle solo el nombre de la primera parte.

duilioisola
18-12-2007, 15:02:20
Encontré la instrucción que utilizaba:
El backup está en : /home/tec/backup/g2ktb_050605.gbk
El resture se generará en : /usr/datos/g2k/
La base se llama g2ktb.gdb
El tamaño de cada parte es de 200000 páginas. (cada página tiene 4K, pero puede ser diferente)

/opt/interbase/bin/gbak -r /home/tec/backup/g2ktb_050605.gbk /usr/datos/g2k/g2ktb.gdb 200000 /usr/datos/g2k/g2ktb2.gdb 200000 /usr/datos/g2k/g2ktb3.gdb 200000 -Y restore

Casimiro Notevi
18-12-2007, 19:52:16
Efectivamente, no ganarás prestaciones por el mero hecho de dividir la base de datos.
Esto se usa/usaba solamente por motivos de limitaciones por culpa del "filesystem" donde se almacena la base de datos, algo que hoy no es problema.


Is it better to use single or multiple database files?
Performance is the same when all files are on the same disk. But, you can split multi*file database on several
disks, so it can speed up queries a bit if you have multiple users. However, you might already be spreading your
main system, swap and temporary space to separate disks, which gives us three or four disks already. Adding
more RAM in order to cache more database pages is usually much better investment than adding more disks.
Multiple files are really only needed when your database grows and reaches the filesystem limit for a single file.
Otherwise it is probably not worth the effort.
Por cierto, ¿qué tamaño tiene tu base de datos?