desarrollo deaAplicacion grande

Alvaro Herrera alvherre en alvh.no-ip.org
Lun Sep 24 16:28:10 CLT 2007


Rodrigo Fuentealba escribió:
> El 24/09/07, Alvaro Herrera <alvherre en alvh.no-ip.org> escribió:
> > Ricardo Mun~oz A. escribió:
> > > cierto. pero depende del modelo y la aplicacion si es que en algun momento
> > > se puede producir un conflicto... por algo los mismos desarrolladores de
> > > Slony-I indican que sirve cuando todos los nodos estan disponibles todo el
> > > tiempo...
> >
> 
> Estás poniendo a Slony-I para que se adapte a tu modelo, cuando en
> realidad es al revés, debes adaptar tu modelo para que funcione con
> esta solución. Por eso es que Álvaro hablaba de tablas heredadas; por
> lo que entiendo, y como se me ocurre usarla, es hacer una tabla
> maestra en cada zona que "extienda" a la tabla de datos total,
> utilizando la característica de orientación a objetos de PostgreSQL, y
> a esa tabla que extiende la pones como maestra en la aplicación. ¿Es
> así, Álvaro?

Sí, básicamente de eso se trata.

> > Lo que yo intentaria
> > hacer seria tener copias esclavas de la base de dato en cada una de las
> > sucursales, de solo lectura (con Slony-I); y que las escrituras vayan a
> > la base de datos central.  De este modo no se notaria la lentitud del
> > enlace en las consultas de solo lectura (puesto que son locales a la
> > sucursal), y se requeriria contactar al central solamente para las
> > escrituras.
> 
> Mira, este plugin lo estamos arreglando y usando para un sitio Web en
> el cual tenemos ese inconveniente a nivel nacional, y no ha tenido
> mayor problema hasta ahora (aunque es alfa!):
> 
> http://trac.symfony-project.com/trac/wiki/sfPropelLoadbalancerPlugin

Otra forma de hacer esto sin necesidad de modificar la aplicación es
usando pgpool o pgBouncer.

> > De esa forma, te ahorras todo el problema de la resolucion de conflictos
> > y de replicacion multimaestro.  El inconveniente es que cuando se caiga
> > la conexion sucursal-servidor, no podrias escribir (pero ojo, que eso
> > sucede en casi todos los sistemas multimaestro, incluso los
> > comerciales).
> 
> Inclusive aquí debes apelar a las leyes de la física y no aceptar a
> personas que se crean Criss Angel, para que aparezcan al mismo tiempo
> en dos sucursales distintas solicitando la misma información. Entrete
> caso, :-s

Eso generalmente no es problema cuando se trata solamente de leer
información.  Si hay que escribir, recuerda que las escrituras van
directo a la base de datos maestra, asi que dos escrituras que entran en
conflicto serian detectadas facilmente.

-- 
Alvaro Herrera                          Developer, http://www.PostgreSQL.org/
"La victoria es para quien se atreve a estar solo"


Más información sobre la lista de distribución Linux