PDA

Ver la Versión Completa : firebird ... alla vamos


Patricio
23-01-2008, 14:56:23
Hola gente, les cuento un poco, yo estoy trabajando con delphi 5 (el cual quiero cambiar por otro pero bue...) e interbase 6 server, tengo un pequeño sistema en red corriendo en varias pc, que anda medianamente bien, el tema es que en pc´s muy poderosas interbase anda muy lento (eso me pasa a mi...) y me quiero cambiar a Firebird.

Mi base de datos cuenta con tablas y views solamente, entonces me baje el firebird 2.0, borre el interbase 6, instale el firebird como un servicio, ahora pregunta 1. El firebird 2.0 corre en win98, y win2003 server? pregunto porque lo instale en un xp y anduvo.

Despues de instalarlo no sabia como trabajar con la base de datos en forma visual, asi que lei por ahi y me baje el ibexpert, que lo corri y pude configurar la base de datos que tenia gdb y la abrio lo mas bien. Vi todas las tablas, vistas.
Pregunta 2, en el Panel de control donde defino el alias, en el bde, no dice en la lista Firebird, deje Interbase y anduvo, Pregunta 3. eso esta bien o tengo que poner otro motor...cual?

Pregunta 3, antes yo en los clientes instalaba el interbase cliente y configuraba en el mde la ruta del server, ahora con firebird en un cliente como tengo que hacer, que instalo y se configura igual en el bde?

Bueno gente disculpen tantas preguntas pero es que me suergieron todas juntas.

Gracias

Chris
23-01-2008, 15:55:41
Hola gente, les cuento un poco, yo estoy trabajando con delphi 5 (el cual quiero cambiar por otro pero bue...) e interbase 6 server, tengo un pequeño sistema en red corriendo en varias pc, que anda medianamente bien, el tema es que en pc´s muy poderosas interbase anda muy lento (eso me pasa a mi...) y me quiero cambiar a Firebird.

Vas por muy buen camino. Auque Interbase/Firebird es uno de los motores más rápido que existen en la arquitectura Cliente / Servidor. Es raro que funcione lento a como tu dices. Puede ser a que sea debido al procesamiento de la DB que haces o a su tamaño. Lo mejor que puede hacer para aumentar el rendimiento es aumentar la RAM, ya que estos servidores van cargando en memoria los datos que van necesitando y los "dejan ahí" por si acaso los vuelves a solicitar. Por consecuencia, cuando se acaba la RAM, el sistema usa el archivo de paginación.

Otra recomentación, es que el equipo donde está instalado el servidor, no funcione también como estación de trabajo.


Mi base de datos cuenta con tablas y views solamente, entonces me baje el firebird 2.0, borre el interbase 6, instale el firebird como un servicio, ahora pregunta 1. El firebird 2.0 corre en win98, y win2003 server? pregunto porque lo instale en un xp y anduvo.

Así a como puede correr en cualquier versión de windows, puede correr en Linux -que te lo recomiendo-.

Auque puede, evita instalarlo en Win98, ya que esto trae graves problemas de seguridad para tus archivos DB. Además, estos sistemas (win9x) no están pensados para funcionar como servidores.


Despues de instalarlo no sabia como trabajar con la base de datos en forma visual, asi que lei por ahi y me baje el ibexpert, que lo corri y pude configurar la base de datos que tenia gdb y la abrio lo mas bien. Vi todas las tablas, vistas.

A como te dije en un hilo anterior, para trabajar como Firebird, puedes utilizar FlameRobin que es gratuito y de gran calidad.


Pregunta 2, en el Panel de control donde defino el alias, en el bde, no dice en la lista Firebird, deje Interbase y anduvo, Pregunta 3. eso esta bien o tengo que poner otro motor...cual?

Vete a "C:\Archivos de Programa\Firebird\Firebird_2_0\" ahí hay un archivo que se llama "aliases.conf", abrelo en el bloc de notas y mete ahí el nuevo alias. El formato sale explicado en ese mismo archivo, ya que hay un ejemplo. Luego tendrás que reiniciar el servidor desde el panel de control.


Pregunta 3, antes yo en los clientes instalaba el interbase cliente y configuraba en el mde la ruta del server, ahora con firebird en un cliente como tengo que hacer, que instalo y se configura igual en el bde?

Praticamente es igual. No tengo experiencia en utilizar firebird por medio del DBE. Te recomiendo que utilizes conecciones nativas, pero eso ya depende de la forma en que estén desarrolladas tus Aplicaciones Cliente. Con respecto a tu inquietud sobre la lentitud del servidor, puede deberse al hecho que hagas la conección por el DBE, ya que en conecciones directas es realmente rápido.


Practicamente es igual. No utilizes el DBE, mejor utiliza
Bueno gente disculpen tantas preguntas pero es que me suergieron todas juntas.
Gracias
No hay de que :)

Saludos.

Osorio
23-01-2008, 21:57:29
otra recomendación es cambiar la extension del archivo de la base de datos para que no quede con la extension GDB. No recuerdo exactamente pero creo que windows hace unas cositas con esa extension de tal manera que a aveces el acceso al mismo es un poco lento.

Aqui hablan algo:
http://www.clubdelphi.com/foros/showthread.php?t=25137

Saludos.

Patricio
24-01-2008, 14:45:55
gente lo de la lentitud de interbase 6, en maquinas poderosas, desde un pentieum 4 para arriba lo lei en algun lado, no me acuerdo bien, pero eran varias las personas con lo mismo, y me paso en la practica el mismo sistema corre muy bien en un equipo con xp....y en una maquina poderosa con el mismo xp mas ram mas hard disk para "abrirse tarde 3 minutos" cuando en la maquina lenta tarda 2 segundos"
Bueno voy a leer de nuevo sus respuestas gracias y despues les cuento....

Patricio
24-01-2008, 14:59:55
Gente, volviendo un poco, mi aplicacion es comun, lo que hacia con interbase era del lado del cliente, instalar el interbase cliente, el bde, y en el bde ponia el path de la base
Server:\......

Ahora al manejarme con Firebird 2.0 en los clientes tengo que instalar algo? hay firebird cliente? en el bde se define igual?

D y W, yo hasta ahora siempre use el bde pero me puedes comentar un poco la idea de conexiones nativas...

Muchas Gracias a todos

Patricio
24-01-2008, 15:45:11
D & W, te hago una consulta, abri el archivo que me dijiste con el block de notas y lo que aparece es:


# List of known database aliases
# ------------------------------
#
# Examples:

# dummy = c:\data\dummy.fdb

te hago una consulta, yo lo defino aca el alias en lugar de el bde no? pero en el modulo de datos dentro de delphi, cuando pongo un elemento de tipo Database como le pongo el alias? porque no me aparece en la lista de alias definidos

Chris
24-01-2008, 16:11:09
D & W, te hago una consulta, abri el archivo que me dijiste con el block de notas y lo que aparece es:


# List of known database aliases
# ------------------------------
#
# Examples:

# dummy = c:\data\dummy.fdb

te hago una consulta, yo lo defino aca el alias en lugar de el bde no? pero en el modulo de datos dentro de delphi, cuando pongo un elemento de tipo Database como le pongo el alias? porque no me aparece en la lista de alias definidos
Patricio, lo que pasa es que la mayoría de las respuestas que te he dado son tomando en cuenta que haces una conección nativa o mejor dicho directa al servidor desde el Cliente.

Cuando utilizas la DBE, estás creando un "servidor virtual" del lado del cliente -no sé si me explico-. El problema de la lentitud te aseguro que debe ser por lo que estás trabajando con DBE, practicamente, los datos pasan por un intermediario antes de llegar a tus cliente.

En el sitio oficial de Firebird podrás encontrar un driver para DBE para firebird. http://www.firebirdsql.org/index.php?op=files&id=odbc

Con respecto al crear el alias en el DBE, no te puede ayudar ya que no tengo experiencia en esa herramienta. Pero, seguramente aca hay muchos miembros que te puedan dar ayuda al respecto.


D y W, yo hasta ahora siempre use el bde pero me puedes comentar un poco la idea de conexiones nativas...

Muchas Gracias a todos
No es tan sencillo. Cuando has desarrollado una aplicación cliente para trabajar con DBE, tendrás que modificarla para que esta pueda hacer una conección directa al servidor Firebird/Interbase.

Ve esto hilos publicados en el wiki del club:
Tutorial - Primera Parte (http://wiki.clubdelphi.com/wiki/index.php/Tutorial_Conexi%C3%B3n_con_Firebird_desde_Turbo_Delphi)
Tutorial - Segunda Parte (http://wiki.clubdelphi.com/wiki/index.php/Tutorial_Conexi%C3%B3n_con_Firebird_desde_Turbo_Delphi_%28Parte_II%29)

Saludos.

Patricio
25-01-2008, 14:05:25
gracias D & W voy a leer el tutorial a ver si las cosas me quedan mas claras

RONPABLO
25-01-2008, 16:14:31
Yo antes trabajaba en Paradox con BDE y pase a Firebird con sistemas nativos, un gran error que cometí al hacer dicha transición fue la de seguir trabajando con el esquema que usaba con bde, como usar el tTable, eso para que tengas en cuenta a la hora de hacer un cambio, los componentes nativos como los MDOLibs o los IBExpress (que son los únicos con que he trabajado) permiten usar elementos muy similares a los TTable llamados MDOTable o IBTable, el problema de usar dichos componentes radica en un mayor consumo de recursos en u servidor y un mayor consumo de ancho de banda de la red local (en ocasiones llegue a ver como una aplicación con 3 tablas abiertas simultáneamente en 4 equipos se comía toda una Intranet).

2. Con respecto a el cliente que instalabas anteriormente de IB, si se necesita un "cliente de FIrebird", es como tal una librería (o biblioteca??) llamada fbclient.dll, que en algunas ocasiones la renombran gds32.dll, por ejemplo en los mdolib permite elegir entre una u otra, pero los IBX (IBExpress) piden la gds32...

3. Con lo de la lentitud puede ser lo que comente anteriormente lo de las tablas, para esto la mejor solución es trabajar únicamente con los datos estrictamente necesarios (por medio de componentes equibalentes a Query, DataSet.... hasta Tables pero muy bien filtradas y teniendo cerradas las que no se usen en el momento).... otro motivo de lentitud puede ser unas validaciones que hace windows (XP y creo que desde el 2000 y posteriores) sobre los archivos que crecen (como una base de datos cuando se le ingresa información), ante esto es recomendable llenar la bd con mucha información y luego borrarla, así el archivo de la bd quedará muy grande (de varias megas) y con mucho espacio antes que se llene nuevamente y vuelva a crecer.... Y otra posibilidad de la lentitud es la de la extensión del archivo, ya que WIndows XP (y creo desde 2l 2000 tambien) en los archivos gdb ve a un archivo usado por el sistema y también entra a mirar porque están siendo usados