 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
cecito Capt

Registrado: 25 Nov 2003Mensajes: 164Ubicación: Arequipa - Perú
|
Publicado: Sab 25 Nov, 2006 12:22 pm Asunto: Trabajar de forma desconectada con FireBird |
|
|
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.  |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Mar 28 Nov, 2006 5:05 pm Asunto: |
|
|
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 |
|
 |
cecito Capt

Registrado: 25 Nov 2003Mensajes: 164Ubicación: Arequipa - Perú
|
Publicado: Mie 29 Nov, 2006 12:35 pm Asunto: |
|
|
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  |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Mie 29 Nov, 2006 4:46 pm Asunto: |
|
|
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.
Saludos! _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Sab 02 Dic, 2006 6:33 pm Asunto: |
|
|
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. _________________
 |
|
| Volver arriba |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|