Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Ricardo Munoz
El 12 de diciembre de 2010 13:35, Julian
julian.reyes.escri...@gmail.comescribió:

 y donde podria encontrar algo de dcumentacion sobre el proceso de repliegue
 de informacion


creo que aun falta que indiques mas datos acerca de que es lo que realmente
necesitas hacer, ya que lo del servidor central vs. servidores secundarios
suena a una solucion ya encaminada.

si todos los servidores estan fisicamente apartados, y necesitas sincronizar
sus datos, una solucion podria ser algo tan simple como que una vez al mes
se envien (por SSH) los nuevos datos desde los servidores secundarios en
archivos de texto y estos luego son cargados en el servidor central, a su
vez desde el servidor central se envian sus nuevos datos a los servidores
secundarios tambien mediante archivos de texto.

si te quieres complicar con algo mas avanzado puedes revisar el siguiente
articulo [1] acerca de como implementar la replicacion circular en MySQL.
posiblemente encuentres una guia similar para Postgres, pero insisto que
antes deberias analizar bien que es lo que realmente necesitas y buscar la
solucion mas simple.

[1] http://onlamp.com/onlamp/2006/04/20/advanced-mysql-replication.html

-- 
Ricardo Mun~oz A.
http://www.tux.cl


Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Julian Reyes Escrigas

 te comento es una aplicacion que va a funcionar en uno de los departamentos de 
mi pais, donde se va recolectar información madiante digitación de unas 
encuentas, pero obviamente una persona puede ser encuestada en un lugar 
distinto y luego encuentada en otro momento en otra ciudad creando una 
duplicidad que es lo que quieren evitar con este sistema. 


se sugirio que el sistema estuviera totalmente centralizado, es la mejor 
opcion, pero hay municipios (ciudades), que por X o Y motivo pueden o tiene 
problemas de conectividad, y necesitan que el trabajo no se suspenda por falta 
de internet, en otras palabras desean la maxima disponibilidad posible.


las personas que plantearon los requisitos estoy completamente seguro que no 
tiene las minima idea de lo que solicitaron en los terminos del contrato pero 
el contrato debe cumplir a cabalidad lo que se exige o al menos una solucion 
aproximada porque si no se incumpliria en el mismo.


vuelvo y se que las bases de datos se pueden poner a trabajar de una manera que 
cada servidor se conumique con los demas, pero estoy seguro que este tipo de 
configuracion son para que siempre tengan conexion.


digamos que la solucion que tengo en mente hasta el momento es la siguiente




servidor secundario
1. la persona trabaja sobre un servidor secundario
2. al momento de procesar la informacion el intenta comunicar al servidor 
central si no hay conexion se guardan los cambios como si se tratase de una CVS.
3. una tarea programada de cada 15 minutos (por ejemplo) revisa si existen 
datos que sincronizar si existe conexion los sincroniza


servidor central
1. el servidor central recibe peticiones de un servidor secundario hace 
validaciones a los datos y regresa una novedad de dicho registro
2. si no existe conexion con el servidor secundario guarda las respuesta en 
algun lugar 
3. si existe una confrontacion de informacion con otros sistemas el servidor 
genera las novedades de cada servidor secundario
4. una tarea programa de cada 15 minutos (por ejemplo) revisa que exista 
conexion entre el y los servidores secundarios si existe envia las novedades a 
quien corresponda




pues mirandolo de este modo se utilizara algun protocolo para que una tarea 
programa (cron) envie la informacion cuando exista conexion, el resto simple 
aplicaciones, la diferencia es que el servidor principal seria nada mas web 
services para los demas servidores.


yo tengo esta idea pero me gustaria conocer cuales serian esos metodos de 
comunicacion como web services escuche una recomendacion de REST de alguien y 
si estuve mirandola como la solucion viable, tamiben escuche algo con protocolo 
torrent, me llama mas la atencion ya que el torrent puede tener las conexiones 
cifradas y ademas en caso de que la conexion se caiga en plena transferencia no 
se pierde los transferido ya que una vez se haga la confrontacion pueden llegar 
a ser grandes cantidades de datos las tranferidas




Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Ricardo Munoz
El 13 de diciembre de 2010 11:40, Julian Reyes Escrigas 
julian.reyes.escri...@gmail.com escribió:

[...]

digamos que la solucion que tengo en mente hasta el momento es la siguiente




 servidor secundario
 1. la persona trabaja sobre un servidor secundario
 2. al momento de procesar la informacion el intenta comunicar al servidor
 central si no hay conexion se guardan los cambios como si se tratase de una
 CVS.
 3. una tarea programada de cada 15 minutos (por ejemplo) revisa si existen
 datos que sincronizar si existe conexion los sincroniza


 servidor central
 1. el servidor central recibe peticiones de un servidor secundario hace
 validaciones a los datos y regresa una novedad de dicho registro
 2. si no existe conexion con el servidor secundario guarda las respuesta en
 algun lugar
 3. si existe una confrontacion de informacion con otros sistemas el
 servidor genera las novedades de cada servidor secundario
 4. una tarea programa de cada 15 minutos (por ejemplo) revisa que exista
 conexion entre el y los servidores secundarios si existe envia las novedades
 a quien corresponda


en tu mail original decias que la sincronizacion debia hacerse una vez al
mes... ahora indicas que deberia ser cada 15 minutos?

-- 
Ricardo Mun~oz A.
http://www.tux.cl


Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Julian Reyes Escrigas

 Ricardo te has confundido 


te explico en el mail inicial escribi que una vez al mes el servidor central va 
a tener una confrontacion de la informacion de la base de datos con la base ded 
atos de otros sistemas


pero aparte de eso los usuarios van a alimentar los servidores secundarios que 
estos deben a su vez alimentar el principal, es logico que la informacion de 
los servidores secundarios deben llegar en algun momento al principal de esto 
debe ser lo mas pronto posible


Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Ricardo Munoz
El 13 de diciembre de 2010 12:05, Julian Reyes Escrigas 
julian.reyes.escri...@gmail.com escribió:


  Ricardo te has confundido


 te explico en el mail inicial escribi que una vez al mes el servidor
 central va a tener una confrontacion de la informacion de la base de datos
 con la base ded atos de otros sistemas


 pero aparte de eso los usuarios van a alimentar los servidores secundarios
 que estos deben a su vez alimentar el principal, es logico que la
 informacion de los servidores secundarios deben llegar en algun momento al
 principal de esto debe ser lo mas pronto posible


hay una expresion llamada aplicar poder de sintesis que hubiera sido bueno
aplicar en tu thread... ;)

creo que una solucion simple y que no requiera configurar/implementar
replicacion de MySQL o Postgres seria, y tal como ya lo mencionaron, el uso
de webservices (mediante HTTPS). SOAP o REST da casi lo mismo si el servidor
y los clientes los implementaras tu mismo usando el mismo lenguaje (PHP).

-- 
Ricardo Mun~oz A.
http://www.tux.cl


Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Gonzalo Diaz Cruz
En vez de pensar en cocinar cosas... ¿no será mejor probar alguna de estas?:

http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas
 http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas
No he probado nunca algo así, pero suena como una solución a este problema.

-- 
~~~
Atentamente, Gonzalo Díaz Cruz
Estudiante Ingeniería de Ejecución en Computación e Informática
Universidad de Santiago de Chile
~~~
http://card.ly/gon
http://blog.gon.cl/
http://twitter.com/sir_gon
http://flickr.com/photos/sir_gon


Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Julian Reyes Escrigas

 Gonzalo
He leido las soluciones basadas en sistema de base de datos distrbuidas y no 
pienso que sea la solución a pesar de que los servidores tienen en comun datos 
se necesitan realizar datos que sean a ser tratados con PHP por lo que no 
intersa como solución la comunica directa de las bases de datos sino mas bien 
la comunicación entre las aplicaciones de una manera que se garantice que en 
algún momento la información va a ser transferida, sea en el momento de ingreso 
o luego cuando exista conexión.




On lunes 13 de diciembre de 2010 at 11:16, Gonzalo Diaz Cruz wrote:

 En vez de pensar en cocinar cosas... ¿no será mejor probar alguna de estas?:
 
 http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas
 http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas
 No he probado nunca algo así, pero suena como una solución a este problema.
 
 -- 
 ~~~
 Atentamente, Gonzalo Díaz Cruz
 Estudiante Ingeniería de Ejecución en Computación e Informática
 Universidad de Santiago de Chile
 ~~~
 http://card.ly/gon
 http://blog.gon.cl/
 http://twitter.com/sir_gon
 http://flickr.com/photos/sir_gon
 
 
 
 




Re: Arquitectura P2P entre servidores

2010-12-12 Por tema Julian
y donde podria encontrar algo de dcumentacion sobre el proceso de repliegue
de informacion

El 12 de diciembre de 2010 00:00, Juan C. Olivares
juan...@juancri.comescribió:

 Es interesante el tema. Twitter utiliza el mismo protocolo de bit torrent
 para distribuir información entre sus servidores. No es una idea tan
 descabellada.

 La implementación dependerá del lenguaje que domines.

 2010/12/12 Julian Reyes Escrigas julian.reyes.escri...@gmail.com

 
   para darle tambien mas sencilles al tema omitan lo de la confrontacion
 de
  la informacion mensual, no tengo la necesidad de hacer replicas de datos.
  unicamente piensen en que que asi como se comunica un servidor secundario
  con el principal, ahora va en reversa, para enviarle las novedades.
 
 
  otra cosa pensaba en crear un sistema de historial de modificaciones para
  cada registro que es el que indica el estado del registro, si este se
  encuentra sincronizado cuando fue sincronizado y otros datos adicionales
  para un completo control de el estado de cada registro.
 
 
  existe alguna referencia de esto, algo como lo que he visto en python con
  Django pero para PHP
 
 


 --
 Atte,
 Juan Cristóbal Olivares

 *Renovarse o morir: Mi PC de los sesenta tenía veinte mil militantes. Y mi
 PC del siglo XXI tiene cuarenta gigabytes.*




-- 
Si la depuración es el proceso de eliminar errores, entonces la programación
debe ser el proceso de introducirlos
– Edsger W. Dijkstra


Re: Arquitectura P2P entre servidores

2010-12-11 Por tema Patricio Morales
El 11 de diciembre de 2010 18:58, Julian Reyes Escrigas 
julian.reyes.escri...@gmail.com escribió:


 tengo un rato y es que crear una aplicación con un especie de repositorio
 central de información.

 un servidor central que va a contener toda la información de X cantidad de
 locaciones, cada locación tiene su propio servidor donde solo se encuentra
 la información de su locación, cuando un cliente opera, este lo hace
 directamente sobre el servidor local, nunca sobre el central, el servidor
 secundario es el que se conecta con el central (si existe conexión) para
 validar la información, si no hay conexión este simplemente lo deja para
 después.

 la idea es que periódicamente (aproximadamente cada mes) el servidor
 central va a confrontar toda la información con otros sistemas y las
 novedades son enviadas a cada servidor secundario (si existe la conexión).

 alguien tiene idea de si existe algún servicio en especial que ayude con
 una tarea semejante y se esta se puede implementar en PHP, ya que es un
 entorno LAMP


Estimado :Su idea no es descabellada.Para programar dicha aplicación en PHP
investigue sobre SOAP ,ya que dicha librería
permite desarrollar aplicaciones cliente/servidor. Ahora mi duda es sobre la
base de datos en que lo va a desarrollar :Si el proyecto tiene muchas
transacciones, tal vez MySQL sea insuficiente ,y mejor es optar por
PostgreSQL, y por lo demás es mas potente.

Saludos.


Patricio Morales Fariña
Técnico en Computación
Alumno Ing. Informática (Técnicos Vespertino)
Universidad de los Lagos
045-219291- Temuco Chile
cel 78732062
Linux user number 481578
http://counter.li.org/


Re: Arquitectura P2P entre servidores

2010-12-11 Por tema Julian Reyes Escrigas

 bueno lo de la base de datos es discutible aunque no encuentro una razón para 
la cual MySQL no sea capaz de manejar dicho proceso, pero igual lo interesante 
aquí es conocer la forma en la que interactuan los servidores.


me gustaría conocer cuales son las razones (pros y contras) de porque usar 
PostgreSQL en cambio de MySQL.


muchas gracias por tu atención y pronta respuesta



Re: Arquitectura P2P entre servidores

2010-12-11 Por tema Andrés Ovalle Gahona
El sáb, 11-12-2010 a las 17:33 -0500, Julian Reyes Escrigas escribió:
 bueno lo de la base de datos es discutible aunque no encuentro una razón para 
 la cual MySQL no sea capaz de manejar dicho proceso, pero igual lo 
 interesante aquí es conocer la forma en la que interactuan los servidores.
 
 
 me gustaría conocer cuales son las razones (pros y contras) de porque usar 
 PostgreSQL en cambio de MySQL.
 
 
 muchas gracias por tu atención y pronta respuesta

Existen muchas comparativas en internet buscando solamente como mysql
vs postgresql en google.

Mira esta es bastante interesante:
http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL

-- 
Andrés Esteban Ovalle Gahona (kill-9)
Ingeniero (E) Computación e Informática
SysAdmin - Acepta.com S.A www.acepta.com
Staff Debianchile.cl www.debianchile.cl
Movil: 09-5795880
Usuario Linux #456290 (counter.li.org)


signature.asc
Description: Esto es una parte de mensaje firmado digitalmente


Re: Arquitectura P2P entre servidores

2010-12-11 Por tema Julian Reyes Escrigas

 otra pregunta dejando de lado lo de los SGBD, el SOAP se ve como un protocolo 
basado en XML , no hay otras alternativas, algo como JSON o bueno que se yo la 
verdad me gustaría saber como servicios como facebook (creo) o amazon repliegan 
la información entre sus servidores, claro esta no tengo la intención de 
implementar algo mas alla de información de la base de datos.


también me gustaría conocer que mecanismos existen para que la comunicación 
entre dicho servidores sea cifrada algo así como si se comunicaran vía HTTPS, 
ya que la información puede llegar a ser sensible.


Re: Arquitectura P2P entre servidores

2010-12-11 Por tema Aldrin Martoq
On Dec 11, 2010, at 6:58 PM, Julian Reyes Escrigas wrote:
 un servidor central que va a contener toda la información de X cantidad de 
 locaciones, cada locación tiene su propio servidor donde solo se encuentra la 
 información de su locación, cuando un cliente opera, este lo hace 
 directamente sobre el servidor local, nunca sobre el central

OK.

 el servidor secundario es el que se conecta con el central (si existe 
 conexión) para validar la información,

Para esto, debes crear un servicio en el servidor central. Puede ser SOAP o 
JSON como conversaban. Mi recomendación personal es REST con JSON o XML... en 
realidad, lo que te sea mas fácil con el framework en el que estás 
desarrollando (cakephp, codeigniter, symfony, etc...).


 si no hay conexión este simplemente lo deja para después.

Esto parece complicado y no trivial de hacerlo bien de buenas a primera... Ahí 
necesitas algún proceso que se encargue de cuadrar periódicamente... uff, un 
desastre.


 la idea es que periódicamente (aproximadamente cada mes) el servidor central 
 va a confrontar toda la información con otros sistemas y las novedades son 
 enviadas a cada servidor secundario (si existe la conexión).

Si es sólo datos (obviando el tema del servicio descrito arriba), tal vez 
podrías hacerlo a nivel de bases de datos con replicación.

http://www.postgresql.org/docs/9.0/static/different-replication-solutions.html



 alguien tiene idea de si existe algún servicio en especial que ayude con una 
 tarea semejante y se esta se puede implementar en PHP, ya que es un entorno 
 LAMP.

No, desconozco algo para LAMP... este tipo de cosas se resuelve en el mundo de 
apps empresariales con software muy complicado y que muy poca gente entiende... 
no te lo recomiendo.

Puedes hacer lo mismo con PHP usando los conceptos básicos de orientación a 
servicios. No es necesario que sea perfecto, lo usual en este tipo de 
sistemas es que tienes uno o más sistemas que ya existen y los vas 
modularizando de a poco.



Aldrin Martoq
http://aldrin.martoq.cl/







Re: Arquitectura P2P entre servidores

2010-12-11 Por tema Aldrin Martoq

On Dec 11, 2010, at 7:33 PM, Julian Reyes Escrigas wrote:
 me gustaría conocer cuales son las razones (pros y contras) de porque usar 
 PostgreSQL en cambio de MySQL.

En una frase:
- MySQL vale yuyo y PostgreSQL es el oracle del mundo opensource.



En 4 párrafos:
- MySQL en sí no es malo, pero la configuración inicial que trae es muy mala 
para correr sistemas transaccionales cuando quieres tener 
tranquilidad/seguridad que ningún dato se va a corromper. No conozco ningún 
sistema en que el requisito de asegurarme que los datos no se corrompan se 
pueda transar. Ninguno. En todos, la data es lo más importante del sistema.
- Ahora, esto en MySQL tiene solución, pero tendrás que aprender un montón. De 
partida, tendrás que configurar InnoDB con todas sus perillas para que tengas 
transacciones decentes. Después tendrás que revisar otras configuraciones 
idiotas, como el strict mode. Ya sólo con eso tienes para aprender 1 mes, y 
harta pega que hacer en cada sistema que montes bajo MySQL.
- Si no lo haces, cuando alguien inserte datos raros MySQL ni siquiera 
lanzará un error, sino que hará alguna estupidez silenciosamente... este es el 
peor de los escenarios, pues no te estás dando cuenta la JK%#$JK%$ que está 
quedando con tus datos.
- Si eres testarudo y logras dejar MySQL como debe ser, el rendimiento será 
horrible... te habrá salido mas barato y seguro haber partido con PostgreSQL al 
principio.



En varios párrafos: busca en internet, como el link que te mandaron.


Aldrin Martoq
http://aldrin.martoq.cl/







Re: Arquitectura P2P entre servidores

2010-12-11 Por tema Julian Reyes Escrigas

 Aldriq gracias por tus comentarios los tendre en cuenta, aunque ahora mismo no 
me preocupa tanto el sgdb ya que yo no soy el encargado de elllo sino del 
desarrollo del php. 


me gustaria saber mas bien hacia donde enfocar mis investigaciones, algun 
ejemplo si es posible practico


Re: Arquitectura P2P entre servidores

2010-12-11 Por tema Julian Reyes Escrigas

 para darle tambien mas sencilles al tema omitan lo de la confrontacion de la 
informacion mensual, no tengo la necesidad de hacer replicas de datos. 
unicamente piensen en que que asi como se comunica un servidor secundario con 
el principal, ahora va en reversa, para enviarle las novedades. 


otra cosa pensaba en crear un sistema de historial de modificaciones para cada 
registro que es el que indica el estado del registro, si este se encuentra 
sincronizado cuando fue sincronizado y otros datos adicionales para un completo 
control de el estado de cada registro.


existe alguna referencia de esto, algo como lo que he visto en python con 
Django pero para PHP



Re: Arquitectura P2P entre servidores

2010-12-11 Por tema Juan C. Olivares
Es interesante el tema. Twitter utiliza el mismo protocolo de bit torrent
para distribuir información entre sus servidores. No es una idea tan
descabellada.

La implementación dependerá del lenguaje que domines.

2010/12/12 Julian Reyes Escrigas julian.reyes.escri...@gmail.com


  para darle tambien mas sencilles al tema omitan lo de la confrontacion de
 la informacion mensual, no tengo la necesidad de hacer replicas de datos.
 unicamente piensen en que que asi como se comunica un servidor secundario
 con el principal, ahora va en reversa, para enviarle las novedades.


 otra cosa pensaba en crear un sistema de historial de modificaciones para
 cada registro que es el que indica el estado del registro, si este se
 encuentra sincronizado cuando fue sincronizado y otros datos adicionales
 para un completo control de el estado de cada registro.


 existe alguna referencia de esto, algo como lo que he visto en python con
 Django pero para PHP




-- 
Atte,
Juan Cristóbal Olivares

*Renovarse o morir: Mi PC de los sesenta tenía veinte mil militantes. Y mi
PC del siglo XXI tiene cuarenta gigabytes.*