Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   ¿Delphi- Firebird - mantener base de datos abierta o cerrar cada vez? (https://www.clubdelphi.com/foros/showthread.php?t=97243)

jourdan 24-02-2025 20:41:32

¿Delphi- Firebird - mantener base de datos abierta o cerrar cada vez?
 
Estoy reescribiendo una aplicación que tengo en Delphi que usa la base de datos Firebird, tengo la duda de que es mas conveniente, al cargar el programa abrir la base de datos y dejarla abierta o cada vez que sea necesario accesar a los datos se abre y al terminar la consulta o el manejo de datos la cerremos y así en cada ooperación con base de datos?

chenech 24-02-2025 22:08:02

Llevo usando Firebird desde la primera versión y he conocido bastantes casos de Bases de datos corruptas de compañeros, yo con mas de 300 instalaciones y centenares de usuarios, y muchas instalaciones que se ejecutan en local y remoto las 24 horas nunca me ha paso, se que he tenido suerte :-), pero también que pasé a programar en capas, y como los accesos son en el mismo servidor que Firebird, abro la conexión para ejecutar lo que sea y la cierro, no noto diferencia, pero repito, el servidor de Firebird y la aplicación servidor se ejecutan en local siempre si a eso sumamos los discos actuales SSD.
Si la aplicación está en una red con mucha latencia, si que notarás la diferencia, también depende de cada cuanto tiempo se acceda, tenerla abierta para que cada media hora se acceda no tiene sentido, si es cada segundo x accesos, quizás si.
La pregunta que haces es muy genérica, depende muchos factores.
Mi opinión en base a mi experiencia.
Un saludo.

jourdan 24-02-2025 23:27:59

Muchas gracas por tu respuesta, en este caso es una aplicación de punto de venta y generalmente se generan movimientos cada 5 minutos.
Afortunadamente no me ha pasado que la base de datos de corrompa, lo que si ya me paso varias veces es que el disco duro deje de funcionar (discos que no son ssd)

pgranados 25-02-2025 00:47:15

Yo en mis aplicaciones al cerrar el programa cierro la conexión, y al entrar en cada modulo abro los fdquery necesarios

jourdan 25-02-2025 02:06:32

Muchas gracias!

Casimiro Notevi 25-02-2025 10:09:46

Conectar al iniciar el programa, hacer commit cuando sea procedente hacerlo, y cerrar la conexión al salir.
Usando firebird desde que existe y con miles de clientes desde pequeños hasta grandes empresas con cientos de conexiones en tiempo real y bases de datos de decenas de gigas, nunca se rompió una base de datos.
Lo que sí se rompió algunas veces fueron los discos, pero teniendo un buen sistema de backups sólo era cuestión de hacer restore y seguir trabajando.

jourdan 25-02-2025 18:03:20

Muchas gracias!

LOGISTICASOFT 03-03-2025 12:57:14

Cita:

Empezado por jourdan (Mensaje 562210)
Estoy reescribiendo una aplicación que tengo en Delphi que usa la base de datos Firebird, tengo la duda de que es mas conveniente, al cargar el programa abrir la base de datos y dejarla abierta o cada vez que sea necesario accesar a los datos se abre y al terminar la consulta o el manejo de datos la cerremos y así en cada ooperación con base de datos?

En la version 4 de firebird existe el pool de conexiones que fue creado con el objetivo de conexion y desconexion rapida, pero ya que es una migracion vale la pena mirar la version 5 que tiene otras mejoras interesantes con nombres mas grades de tablas y campos

mamcx 03-03-2025 15:55:56

Cita:

Empezado por LOGISTICASOFT (Mensaje 562368)
vale la pena mirar la version 5 que tiene otras mejoras interesantes con nombres mas grades de tablas y campos

Siempre es mejor idea tener la ultima version de un motor!. Es muy escaso los problemas reales que he encontrado en +25 años migrando 4 o 5 motores diferentes.

jourdan 03-03-2025 17:46:42

Muchas gracias!

jourdan 03-03-2025 17:47:48

Gracias, dicen que si no esta roto ni le muevas, ja ja ja, pero creo que si lo voy a hacer!


La franja horaria es GMT +2. Ahora son las 00:46:14.

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