Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-07-2006
stator stator is offline
Registrado
 
Registrado: abr 2006
Posts: 3
Poder: 0
stator Va por buen camino
Thumbs up

hola a todos y gracias por las respuestas..

la idea es la siguiente..

hay una central y n delegaciones.

todos pueden y deben hacer las mismas operaciones.. imaginaros, las típicas de dar de alta clientes, facturación, etc...

en principio, todos van a estar conectados al servidor firebird de la central. (la central y las delegaciones tirando de la misma BD)...

hasta ahí todo correcto y perfecto..

el problema es ir un paso más allá y plantearnos el supuesto de que la conexión o el servidor principal se caigan.. qué hacemos?

la solución que se me ocurrió es tener una réplica en cada una de las delegaciones de la bd principal para así no depender de las conexiones a inet.. el problema es que esta solución, o yo no se como enfocarla, o no he dado con las herramientas adecuadas, o todavía está en pañales..

mi entorno ideal sería tener un "grupo" de servidores geográficamente dispersos que actuasen como si fuese UNO solo... me refiero a protocolo de bloqueos de registros, etc...

el caso es que no he encontrado como hacerlo en firebird y también desconozco si con otro SGBD se puede hacer...

alguién más quiere aportar sus 2 cents?

thanks..
Responder Con Cita
  #2  
Antiguo 10-07-2006
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.679
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por stator
hola a todos y gracias por las respuestas..
la idea es la siguiente..
hay una central y n delegaciones.
todos pueden y deben hacer las mismas operaciones.. imaginaros, las típicas de dar de alta clientes, facturación, etc...
en principio, todos van a estar conectados al servidor firebird de la central. (la central y las delegaciones tirando de la misma BD)...
hasta ahí todo correcto y perfecto..
el problema es ir un paso más allá y plantearnos el supuesto de que la conexión o el servidor principal se caigan.. qué hacemos?
la solución que se me ocurrió es tener una réplica en cada una de las delegaciones de la bd principal para así no depender de las conexiones a inet.. el problema es que esta solución, o yo no se como enfocarla, o no he dado con las herramientas adecuadas, o todavía está en pañales..
mi entorno ideal sería tener un "grupo" de servidores geográficamente dispersos que actuasen como si fuese UNO solo... me refiero a protocolo de bloqueos de registros, etc...
el caso es que no he encontrado como hacerlo en firebird y también desconozco si con otro SGBD se puede hacer...

alguién más quiere aportar sus 2 cents?

thanks..
El problema es ese, que 2 céntimos es poco para hacer algo en "condiciones" que garantizase la continuidad del trabajo en caso de "cortes". Habría que estudiar a fondo el asunto para buscar soluciones... que costarían un poco más de esos 2 cénts.
Responder Con Cita
  #3  
Antiguo 10-07-2006
stator stator is offline
Registrado
 
Registrado: abr 2006
Posts: 3
Poder: 0
stator Va por buen camino
Wink

nos ha jodido mayo!!!

gracias Casimiro Notevi por tu respuesta.. me has clarificado mucho mis dudas.

un saludete
Responder Con Cita
  #4  
Antiguo 10-07-2006
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.679
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por stator
nos ha jodido mayo!!!

gracias Casimiro Notevi por tu respuesta.. me has clarificado mucho mis dudas.

un saludete
Es que los milagros no existen. Es como cuando un cliente me dice:
cliente: qué puedo hacer para seguir trabajando si se va la luz?
yo: poner un SAI (UPS)
cliente: ¿y si se queda sin batería y aun no ha vuelto la luz?
yo: poner un generador de electricidad
cliente: pero eso cuesta mucho dinero
yo: pues te esperas a que venga la luz... no existen los milagros.

En tu caso es parecido, para evitar problemas de "caídas" del servidor, la única solución es tener otro servidor con la base de datos actualizada, esto no es problema, salvo el económico, se puede mantener una "shadow" o "réplica" en tiempo real y si se cae el servidor, lo único que hay que hacer es cambiar la IP al "secundario" y ya está trabajando de nuevo todo el mundo.
Pero si se corta la conexión de internet... en ese caso se puede tener otra conexión de internet, se redirige el servidor al otro router y listo.
Pero si no hay línea telefónica alguna... ¿entonces qué?, se debe mantener una copia de la base de datos de la central en cada una de las sucursales, dependiendo de la lejanía, se puede copiar a "mano", por internet, en CD, etc... Pero si no es posible mantener la copia actualizada de la central en cada una de las sucursales... pues entonces no hay nada que hacer. Apuntar en papel los cambios y luego actualizarlos cuando funcione la red, internet, el servidor o lo que estuviese averiado.

Si la base de datos de la central no es muy grande y se hace factible el copiarla en cada sucursal, pues entonces se puede habilitar alguna posibilidad de crear ficheros "log" con los movimientos que se realicen, y en caso de "cortes o caidas", restaurar los datos desde ese fichero log.

En fin, que todo es muy relativo y depende mucho de cada uno, en tu caso habría que saber cuántas sucursales, qué tipo de conexión, qué hardware tenéis, qué sistema operativo, qué prioridades, con qué presupuesto se cuenta, cuál es el tamaño de la base de datos, etc...

Por ejemplo, en caso de uno de mis clientes con una base de datos que mide al día de hoy: 3.866.357 Kb (casi 4 Gigabytes) no sería factible copiarla por la red, ni por internet, ni en cds... así que habría que eliminar muchas posibilidades, pero si es la base de datos de otro cliente que mide menos, alomejor es factible, habría que estudiarlo.

En fin, que no hay nada nuevo que facilite hacer lo que quieres, existe lo de siempre. Así que hay que estudiarlo en profundidad y decidir según lo que interese más.
Responder Con Cita
  #5  
Antiguo 10-07-2006
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Tienes varias alternativas. Ninguna facil.

1- Creas un "cache" local de los datos. Puedes usar una firebird embeida.

La idea es que para tablas como listas de ciudades y esas cosas haces un select al servidor y lo ingresas a la BD local. Luego sigues usando la local, a menos que se actualize la remota.

Si la remota se actualiza, re-descarga los datos.

Si estas offline, creas los datos SIN ID (o pones un ID negativo) y tienes que hacer una operacion de reconciliacion.

Lo horrible empieza con tablas de movimiento. Esto nos lleva a:

2- Utilizas un sistema de mensajeria

Los sistemas de mensajeria son los que estan diseñados para este tipo de operaciones, pero exigue depender de un sistema como el de MS o del de IBM u otro. Las operaciones son en batch... este tema es un poquin complejo...

3- Usas la funcionalidad de tu base de datos

Que en este caso, debes buscar una solucion de terceros para hacer replicacion.

Por donde lo veas, es complicado. Te recomiendo eso si de una buena vez usa una columna timestamp en todas las tablas donde se necesite, ya que simplifica mucho estos esquemas.

Tambien, seria bueno que miraras DataAbstract de RemObjects (www.remobjects.com) que tienen una solucion (igual ASTA y otros)

Con RemObjects se soporta clustering, failover (a nivel de comunicaciones) y esta bien la parte de manejor offline de datos...
__________________
El malabarista.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 23:42:59.


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