Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-08-2006
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
Question Temor por tamaño de BD Firebird

Saludos a todos!

Tengo un sistemita con Firebird 1.5.3 sirviendo desde una PC con Win XP de 32 bits. Creo que con esta configuración cada archivo FDB puede llegar a los 4GB. El tema es que hay una tabla donde guardan ficheros adjuntos a datos maestros, y son de todo tipo (Excel's, Word's, PDF's, Project's, Autocad's, BMP's a toneladas ...). Al tamaño de página lo puse en 8192, por las dudas que algunos de esos archivos estén más gordos que de costumbre ¿Está bien eso? ¿Hace que todo crezca de manera desproporcionada? Supongo que no.

Y bueno... lo que está pasando es que la pobre FDB se va acercando y acercando a su límite práctico, y quiero preparar un "Plan B" a tiempo. Alternativas que pensé:

1) ¿Hay alguna utilidad compresora, que permita de manera transparente comprimir los archivos antes de subirlos y descompactarlos luego de traerlos? ¿Hay alguna forma de usar WinZip o WinRar, en modo "invisible"?

2) ¿Cómo se hace en Firebird para hacer un select, por ejemplo, que relacione dos tablas que estén en diferentes .FDB?

3) ¿Existe alguna utilidad free o paga que permita "partir" las BD Firebird en varios archivos y usarlos como si fueran una sola BD?

4) ¿Qué tal usar win XP 64 bits? ¿Soporta Firebird 1.5.3 archivos mayores sobre este XP? ¿Hay que apostar por la RC4 de Firebird 2?

5) ¿Pueden convivir en una misma PC un Firebird y un MySQL sin conflictos? Creo que MySQL tiene mejor resuelto este tema de los máximos tamaños de archivo, además de permitir una búsqueda full text en blobs llenos de texto.



Podría pasar todo a un PostgreSQL, pero la verdad que Firebird, accediéndose con MDO Mercury es algo inmejorable dentro de lo gratuito, dejo toda mi confianza en ese esquema.

En fin... cualquier ensayo que hayan hecho sobre este tema me será de gran utilidad.

Gracias!
Responder Con Cita
  #2  
Antiguo 30-08-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por axelbb
Saludos a todos!

Tengo un sistemita con Firebird 1.5.3 sirviendo desde una PC con Win XP de 32 bits. Creo que con esta configuración cada archivo FDB puede llegar a los 4GB. El tema es que hay una tabla donde guardan ficheros adjuntos a datos maestros, y son de todo tipo (Excel's, Word's, PDF's, Project's, Autocad's, BMP's a toneladas ...). Al tamaño de página lo puse en 8192, por las dudas que algunos de esos archivos estén más gordos que de costumbre ¿Está bien eso? ¿Hace que todo crezca de manera desproporcionada? Supongo que no.

Y bueno... lo que está pasando es que la pobre FDB se va acercando y acercando a su límite práctico, y quiero preparar un "Plan B" a tiempo. Alternativas que pensé:

1) ¿Hay alguna utilidad compresora, que permita de manera transparente comprimir los archivos antes de subirlos y descompactarlos luego de traerlos? ¿Hay alguna forma de usar WinZip o WinRar, en modo "invisible"?
Puedes usar multitud de utilidades desde delphi para comprimir y descomprimir, una muy cómoda es Abbrevia, que además es libre.

Cita:
Empezado por axelbb
2) ¿Cómo se hace en Firebird para hacer un select, por ejemplo, que relacione dos tablas que estén en diferentes .FDB?
Directamente, que yo recuerde, no puedes, deberás hacer la consulta de una y con el resultado obtenido deberás consultar la otra.

Cita:
Empezado por axelbb
3) ¿Existe alguna utilidad free o paga que permita "partir" las BD Firebird en varios archivos y usarlos como si fueran una sola BD?
El propio firebird permite dividir la base de datos en tantos archivos como necesites, prueba a buscar aquí mismo en estos foros, avisa para que te lo expliquemos si no lo encuentras.

Cita:
Empezado por axelbb
4) ¿Qué tal usar win XP 64 bits? ¿Soporta Firebird 1.5.3 archivos mayores sobre este XP? ¿Hay que apostar por la RC4 de Firebird 2?
La verdad, yo usaría un linux, la diferencia es enorme.
Puedes seguir con firebird 1.5 sin problemas hasta que esté definitivamente lista la versión 2

Cita:
Empezado por axelbb
5) ¿Pueden convivir en una misma PC un Firebird y un MySQL sin conflictos? Creo que MySQL tiene mejor resuelto este tema de los máximos tamaños de archivo, además de permitir una búsqueda full text en blobs llenos de texto.
Sí, pueden convivir, aunque no veo la necesidad
Responder Con Cita
  #3  
Antiguo 30-08-2006
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
Smile Es un comienzo...

Gracias, Casimiro, probaré antes que nada con Abbrevia, a ver qué tanto espacio recuperamos. Compactaré lo que ya hay dentro, haré un backup y lo restauraré a ver qué me queda en limpio, y probaré qué tan bien funciona, es información bastante importante para ellos...

Tu dato me resulta muy, muy valioso.

Ahora, donde yo planteaba:
Cita:
3) ¿Existe alguna utilidad free o paga que permita "partir" las BD Firebird en varios archivos y usarlos como si fueran una sola BD?



me refería a alguna utilidad que permita fraccionar y hacer selects a tablas en dos archivos diferentes como si estubieran en el mismo .FDB. Por eso, aquello de:

Cita:
El propio firebird permite dividir la base de datos en tantos archivos como necesites, prueba a buscar aquí mismo en estos foros, avisa para que te lo expliquemos si no lo encuentras.

está dentro de lo que ya he probado. Desde ya que puedo crear tantos .FDB como necesite y manejarlos "por separado", pero la gracia de una base de datos en parte está en eso, en tener todo junto, como haces con Oracle. Salvando las distancias, pensé que podría haber alguna herramientita que permita hacer transparente esa separación, paga o gratuita.

Luego, pedía opinión sobre XP 64 bits, porque en este SO no habría tamaño máximo de archivo. Pero la limitación podría estar en Firebird 1.5.3, por eso preguntaba si para no tener limitación real de tamaño de archivo había que esperar a la versión 2 sobre XP 64 bits:

Cita:
La verdad, yo usaría un linux, la diferencia es enorme.
Puedes seguir con firebird 1.5 sin problemas hasta que esté definitivamente lista la versión 2

Sí, estamos de acuerdo. No expresé muy bien mis ideas ...

Finalmente, hablaba de hacer convivir Firebird con MySQL, para usar Firebird en la parte del sistema de gestión (es ideal para eso, y no me preocupa el tamaño de archivo porque sobra con 4GB), y una MySQL para guardar los documentos:

Cita:
Sí, pueden convivir, aunque no veo la necesidad.



La necesidad está en que MySQL está mejor preparada para soportar el tamaño máximo de archivo (creo que InnoDB permite distribuir los blobs en distintos archivos) y que adermás tiene indexación full en blobs, cosa que no tiene Firebird y puede ser útil para guardar versiones texto de los documentos almacenados y luego hacer búsquedas muy eficientes. Pero no me gusta nada para hacer bases de datos de sistemas de gestión.

Pero la respuesta está: pueden convivir sin empezar a matarse entre ellos, ¿Ok? Veré en el foro de MySQL con qué puedo accederla desde Delphi 7.

Bueno, solamente me falta que alguien me aclare los conceptos de XP 64 bits.

Gracias!!
Responder Con Cita
  #4  
Antiguo 30-08-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 19
nemesio Va por buen camino
Hay un truco que se llama Inserción masiva en donde en un SQL, se leen 2 BD, no he probado si se puede aplicar a una consulta, pero probar no cuesta nada, a lo mejor y puedas resolver la consulta en 2 BD.

Saludos
Responder Con Cita
  #5  
Antiguo 30-08-2006
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
Ahá?? ya investigaré. Tenkius....
Responder Con Cita
  #6  
Antiguo 30-08-2006
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
Bajé el Abbrevia. Pinta muy bien!! Es beta, ojalá ande bien. Gracias, Casimiro!
Responder Con Cita
  #7  
Antiguo 30-08-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por axelbb
[...]
Cita:
3) ¿Existe alguna utilidad free o paga que permita "partir" las BD Firebird en varios archivos y usarlos como si fueran una sola BD?
Por ejemplo:
Código:
CREATE DATABASE "mibasedatos.fdb"
user "SYSDBA" password "masterkey"
PAGE_SIZE 8192
LENGTH 125000 PAGES
FILE "mibasedatos.fd1" STARTING AT PAGE 125001 LENGTH 125000 PAGES
FILE "mibasedatos.fd2" STARTING AT PAGE 250001 LENGTH 125000 PAGES;
Es una sola base de datos dividida en 3 partes, tú la usas como lo que es: una sola base de datos.
Y además es "ampliable" según necesites con el tiempo.

Cita:
Empezado por axelbb
Luego, pedía opinión sobre XP 64 bits, porque en este SO no habría tamaño máximo de archivo. Pero la limitación podría estar en Firebird 1.5.3, por eso preguntaba si para no tener limitación real de tamaño de archivo había que esperar a la versión 2 sobre XP 64 bits:
Cita:
La verdad, yo usaría un linux, la diferencia es enorme.
Puedes seguir con firebird 1.5 sin problemas hasta que esté definitivamente lista la versión 2
Sí, estamos de acuerdo. No expresé muy bien mis ideas ...
Realmente, la limitación está en el sistema de archivo que se utilice: FAT32, NTFS, ext3, etc... y no en el sistema operativo en sí.

Cita:
Empezado por axelbb
Finalmente, hablaba de hacer convivir Firebird con MySQL, para usar Firebird en la parte del sistema de gestión (es ideal para eso, y no me preocupa el tamaño de archivo porque sobra con 4GB), y una MySQL para guardar los documentos:
Cita:
Sí, pueden convivir, aunque no veo la necesidad.

La necesidad está en que MySQL está mejor preparada para soportar el tamaño máximo de archivo (creo que InnoDB permite distribuir los blobs en distintos archivos) y que adermás tiene indexación full en blobs, cosa que no tiene Firebird y puede ser útil para guardar versiones texto de los documentos almacenados y luego hacer búsquedas muy eficientes. Pero no me gusta nada para hacer bases de datos de sistemas de gestión.
Pero la respuesta está: pueden convivir sin empezar a matarse entre ellos, ¿Ok? Veré en el foro de MySQL con qué puedo accederla desde Delphi 7.
¿Que mysql está preparado para manejar bases de datos mayores que firebird?, pues no lo sé con seguridad, el libro de Helen Borrie dice esto: "Maximun size 7 TB theoretical limit, approximate. There is no known record of a Firebird database as large as 7 TB".




Ah!, sí, el abbrevia lo uso desde hace años y nunca he tenido problema alguno con él.

Responder Con Cita
  #8  
Antiguo 30-08-2006
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Cita:
Bajé el Abbrevia. Pinta muy bien!!
La JVCL tiene un componente para comprimir, se llama el JvZlibMultiple, si la tienes instalada ya ese te puede servir,
Cita:
¿Existe alguna utilidad free o paga que permita "partir" las BD Firebird en varios archivos y usarlos como si fueran una sola BD?
Puedes hacer un backup/restore de la BD para partirla en varios archivos, el IBExpert lo permite

Por cierto, pq no guardar en la BD solo la ruta a esos archivos?
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #9  
Antiguo 30-08-2006
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por axelbb
5) ¿Pueden convivir en una misma PC un Firebird y un MySQL sin conflictos? Creo que MySQL tiene mejor resuelto este tema de los máximos tamaños de archivo, además de permitir una búsqueda full text en blobs llenos de texto.
El limite de 2 GB por archivo NO es un limite de Firebird. Ni de windows. Es un limite de la plataforma de 32 bits. Si lees la ayuda de Delphi, en el apartado de String, dice que el limite maximo tambien es "2 GB". Eso es un limite de TODA plataforma de 32 bits.


Windows 2000/2003 permite extender a 3GB con un hack pero no es recomendado.

Windows XP/2003 64 bits permite archivos muchisimo mas grande.

De todas maneras, el problema radica en que guardar documentos en archivos blob nunca ha sido una buena idea...
__________________
El malabarista.
Responder Con Cita
  #10  
Antiguo 31-08-2006
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
Smile Ahora sí!

Bueno, ¡¡¡muchas gracias a todos!!!, he aprendido una tonelada. Probaré la partición de la BD con el IBExpert, pero antes leeré la documentación relativa al punto (reconozco que me dá "fiaca" leer todo ese inglés ), la verdad ni sabía que existía esa manera de partir la BD en varios archivos y superar el drama del límite del sistema de archivos. De esta manera ni meterse con MySQL...

¿Que por qué guardo los archivos en blobs? Confieso de nuevo mi ignorancia: No sé cómo guardar en carpetas del servidor los archivos sin dar acceso de ningún tipo a las mismas. Me amparé en no compartir nada del servidor y acceder puramente con la IP. ¿Qué alternativas tengo? (el cursito se está poniendo muy bueno ). Mi ignorancia de cuestiones elementales como las que observan, se debe a que no estoy relacionado con la informática, hago estas cosas de puro inquieto, nada más ...

Saludos a todos, y sigan así!
Responder Con Cita
  #11  
Antiguo 31-08-2006
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
Thumbs up Alucinante!

[quote=Casimiro Notevi]Por ejemplo:
Código:
CREATE DATABASE "mibasedatos.fdb"
user "SYSDBA" password "masterkey"
PAGE_SIZE 8192
LENGTH 125000 PAGES
FILE "mibasedatos.fd1" STARTING AT PAGE 125001 LENGTH 125000 PAGES
FILE "mibasedatos.fd2" STARTING AT PAGE 250001 LENGTH 125000 PAGES;
Es una sola base de datos dividida en 3 partes, tú la usas como lo que es: una sola base de datos.
Y además es "ampliable" según necesites con el tiempo.

Simplemente impresionante, Casimiro!!!
Responder Con Cita
  #12  
Antiguo 13-09-2006
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
Talking ¿Más información?

Bueno, he aprendido sobre el tema de dividir las BD Firebird en múltiples archivos, ahora ciertamente me convence 100% Firebird. Es maravillosa, de verdad.

Viendo que pregunté una burrada, me puse a leer un poco la documentación de Interbase 6, y encontré muchas posibilidades. Además, obtuve un apunte de Interbase 5 todo en español, de 350 páginas en Word, ¡Completísimo!. Si a alguien le interesa, me lo pide y se lo envío. Algo anticuado con Firebird 2 en puerta, pero cuando se empieza desde cero ayuda bastante.

Pero sigo con algunas dudas, que espero me ayuden a comprender (reitero que no soy informático). Por ejemplo, el tema de las páginas. Al dividir en archivos, debo poner la cantidad de páginas a guardar en cada uno. ¿Cómo decido ese valor?. Por ejemplo, si tengo un tamaño de página de 8192, si elijo 10000 páginas me creará archivos de unos 80 megas máximo? Es decir, me gustaría saber con qué criterios elijo ese valor de cantidad de páginas. Desde IBExpert no encontré cómo restaurar el backup en múltiples archivos ¿Cómo se hace? (sí pude con las utilidades de comando de Firebird).

Gracias.
Responder Con Cita
  #13  
Antiguo 13-09-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Hola!

Cita:
Empezado por axelbb
el tema de las páginas. Al dividir en archivos, debo poner la cantidad de páginas a guardar en cada uno. ¿Cómo decido ese valor?. Por ejemplo, si tengo un tamaño de página de 8192, si elijo 10000 páginas me creará archivos de unos 80 megas máximo? Es decir, me gustaría saber con qué criterios elijo ese valor de cantidad de páginas.
El criterio es el que ya hasa mencionado... ¿de que tamaño máximo queres que sean los archivos?

No de páginas = Tamaño máximo en bytes/tamaño de la página en bytes.

Por ejemplo,

2.5Gb/8Kb = 327680 páginas.

Así, al llegar a ese número de páginas, firebird sigue automáticamente con el siguiente archivo que has indicado al crear la bd.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #14  
Antiguo 14-09-2006
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
Smile Confirmado!!

Lo sospeché desde un principio .

Gracias!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con tamaño de DB en Firebird 1.5.1 en Linux Debian apicito Firebird e Interbase 10 30-01-2006 20:11:24
Firebird : Llamado para probadores de Firebird 2.0 JOSEPE Firebird e Interbase 0 12-03-2005 20:33:18
tamaño de una transacion en firebird felixgo Firebird e Interbase 0 09-03-2005 13:29:27
Pregunta Sobre Firebird y Tamaño de la base de Datos Abel Garcia Firebird e Interbase 1 12-11-2004 16:11:03
Problemas Firebird Super Server 1.5 con RFunc Firebird v 1.0 Prophoenix Firebird e Interbase 1 09-03-2004 11:40:48


La franja horaria es GMT +2. Ahora son las 06:48:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi