Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Trabajar de forma desconectada con FireBird

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Trabajar de forma desconectada con FireBird Responder citando

Hola amigos, tengo una duda, he desarrollado una aplicación la cual mantiene la conexión con el servidor FireBird todo el tiempo que se use la aplicación, el problema es que varias estaciones de trabajo usarán la aplicación al mismo tiempo, y he empezado a dudar de que si esta bien la forma como estoy trabajando.

En ADO.Net la premisa es trabajar desconectado, y solo conectarse cuando se necesite conseguir los datos o actualizarlos, en mi aplicacion he estado usando TIbClienDataSet para representar los datos y he hecho pruebas y efectivamente me permiten trabajar desconectado de la base despues que consigo los datos.

Ahora mi duda es ¿ Que es mejor?
- Estar permanentemente conectado a la base de datos, considerando que en varias estaciones de trabajo se usará al sistema
ó
Solo conectarse cuando se necesite datos o actualizar la información.

El estar permanentemente conectado recarga la red?

Se que el el FireBird no tenemos problemas con la cantidad de conexiones simultaneas que maneja, pero me gustaría hacer a mi aplicación más eficiente.
Agradecería que me orientasen en esto. Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Que tal cecito, pues vaya que es una pregunta un poco dificil de contestar. Ya que normalmente depende de muchos factores.

Muchas veces desarrollamos aplicaciones sin tomar en cuenta varias cosas. Por ej. los requisitos no funcionales. Un ejemplo de este tipo de requisitos puede ser que nuestra apliación tenga un tiempo de respuesta de X tiempo. Y eso se nos dice cuando ya se ha desarrollado y tenemos que empezar a realizar pruebas para optimizar nuestros procesos.

¿A que voy con todo esto? Pues bien, a tratar de responder a tu pregunta "¿Que es mejor?", desgraciadamente no existe una FORMULA que te dicte que es la mejor forma de hacer las cosas, ya que un problema se puede resolver de distintas maneras.... lo importante aqui es aplicar las mejores técnicas que te ayuden a resolver dichos problemas. Por lo que tratando de "responder" a tu pregunta, yo me haria preguntas como:

¿Tu aplicación correra solo en una LAN?
¿Habra clientes que se conectaran desde fuera de la LAN?
¿Solo se hara a través de una aplicacion Windows?
¿O través de la Web?
¿La conexión de usuarios sera muy grande al mismo tiempo?
etc...etc...etc...

En fin, son muchas preguntas... y de las respuestas de ellas depende que es "lo mejor" que puedes diseñar para que tu aplicación funcione bien.

Si el estar siempre conectado te genera algún tipo de problema por el diseño de tu sistema, entonces los mas sano pueda ser trabajar con los datos sin conexión o viceversa.

Como bien dices, con FireBird no tenemos problemas con la cantidad de conexiones simultaneas que maneja.

Otro punto importante es que si trabajas con varios clientes y te preocupa que los datos sean consistentes en todo momento, entonecs debes implementar de manera efciciente tus transacciones. Pero como te digo todo esto depende de la forma en como tengas diseñado tu sistema.

Bien, espero no haberme salido del tema, un cordial saludo!
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Buildero muchas gracias por tu respuesta, tienes razón debo considerar varios factores para poder responderme.

En todo caso me gustaría que solo me disipasen la duda siguiente:

El estar permanentemente conectado, afecta el rendimiento de la red?, considerando que no todo el tiempo voy a estar manipulando los datos ya sea con consultas, actualizaciones, etc Razz
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Bien cecito, desde un punto de vista personal, el tener la conexión abierta no afecta ... incluso esto tiene algo de ventaja. Ej. Pon atención la primera vez que abres las base de datos a través de tu programa, tarda un poco verdad?... ahora imagina que esto se repita cada vez que necesites actualizar información en tu base de datos, incluso si solo tuvieras que actualizar un campo en una tabla, seria, desde mi punto de vista, algo que se restaria eficiencia.

Ahora, como mencionas, la premisa en Ado .Net es trabajar "desconectado", pero aqui cambia la forma en como se tratan los datos... ya que con su famoso "DataSet" no solo cargas los datos en memoria, sino que tambien la estructura de la BD (definición de tablas, columnas, tipos de datos, constraints, relaciones). Es como si tuvieras una copia de la base de datos en tu cliente en donde puedes tratar los datos y en un determinado momento actualizar la base de datos que reside en el servidor.

Asi que nuevamente el trabajar "conectado" o "desconectado" depende de varios factores. Laughing

Saludos!
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Estos post's tienen informacion que puede ayudarte a comprender el uso de Firebird


https://cppbuilder.es/viewtopic.php?t=10273

https://cppbuilder.es/viewtopic.php?t=11361

Consejo: no busques codigo, por que no hay, todo esto es mas de planeacion y logica para el diseño de una buena base de datos, aun que dentro de los post he dejado codigo. es una forma de hacerme comprender

Saludos.
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.