Foros del Web » Programando para Internet » PHP »

Creación de red social

Estas en el tema de Creación de red social en el foro de PHP en Foros del Web. Hola buenas tardes como están, actualmente estoy realizando un sitio web que va a tener un fin de red social pero de médicos, actualmente tengo ...
  #1 (permalink)  
Antiguo 08/07/2015, 12:23
 
Fecha de Ingreso: noviembre-2012
Mensajes: 26
Antigüedad: 12 años
Puntos: 1
Creación de red social

Hola buenas tardes como están, actualmente estoy realizando un sitio web que va a tener un fin de red social pero de médicos, actualmente tengo es un problema con la lógica en php y el MySQL, la cuestión es en el modulo de publicaciones y notificaciones que va a ser muy parecida a la de facebook pero con la diferencia que nada mas me avisara cuando mis amigos hagan una publicación (nada de cuando cambian su información personal o cambian su foto de perfil), a continuación trataré de explicar detalladamente como funciona el sitio y mi problema.

en el sitio web existen únicamente 3 tablas en el mysql que son países, especialidad y usuarios_id, cuando una persona se registra se realiza un query para crear 8 tablas (información del usuario, estudios, etc), entre esas tablas hay 2 que van con mi problema que son mis_publicaciones_(id del usuario) y notificaciones_(id del usuario).

como tenía pensado hacer el método de publicaciones y notificaciones al momento de de que yo haga una publicación esta se guarda en mi tabla llamada mis_publicaciones y luego hacer un Select para traer el id de todas las personas que yo tenga agregadas como amigos e insertar en sus respectivas tabla de notificaciones el id de la publicación y el id de quien realizo dicha publicación, pero el problema es que si tengo a 400 personas agregadas se van a realizar 400 iteraciones y eso se va a demorar demasiado y quería ver que opinan ustedes al respecto.

Tenía la idea de cambiar la tabla de notificaciones por un xml y así ya no tendría que ir insertando en la las tablas de notificaciones de cada usuario, sino crear un xml con la misma información pero me ahorro el tiempo de carga. Saludos y gracias.
  #2 (permalink)  
Antiguo 10/07/2015, 02:03
 
Fecha de Ingreso: febrero-2013
Mensajes: 115
Antigüedad: 11 años, 9 meses
Puntos: 5
Respuesta: Creación de red social

Oye creo que esta mal que se creen tantas tablas, imaginate si se registran 8000 personas, cuantas tablas vas a crear? si no multiplico bien 8x8 = 64 entonces serian 64.000 tablas?

Siempre hay que pensar en futuro, yo estaba haciendo una red social, pero la deje para aprender mucho mas del tema porque la queria en tiempo real.

Y por lo que se el metodo que usas esta mal, ya que relentiza el sistema.

Te dare un consejo:
Ve este video tutorial sobre como crear una mini red social con dreamweaver

Fue mi primer video, te enseñan a gestionar la base de datos y a aprender de las relaciones entre las tablas... Espero haber podido ayudarte...
__________________
http://tutorialesdelweb.blogspot.com/TutorialesWeb(principiantes)
  #3 (permalink)  
Antiguo 10/07/2015, 02:04
 
Fecha de Ingreso: febrero-2013
Mensajes: 115
Antigüedad: 11 años, 9 meses
Puntos: 5
Respuesta: Creación de red social

Ah no es hecho por mi, solo fue el primero que vi sobre redes sociales y me enseño mucho...
__________________
http://tutorialesdelweb.blogspot.com/TutorialesWeb(principiantes)
  #4 (permalink)  
Antiguo 13/07/2015, 09:12
 
Fecha de Ingreso: noviembre-2012
Mensajes: 26
Antigüedad: 12 años
Puntos: 1
Respuesta: Creación de red social

Hola horusorion gracias por responder yo ya me había planteado hacerlo como dices pero pensando en futuro si se registran 8000 persones nada mas imagínate el tamaño que tendría la tabla de mensajes y el tiempo de espera para la carga de dichos mensajes por usuario seria demasiado largo, actualmente en la base de datos hay 100 usuarios registrado de prueba y no ha habido demoras de cargas en las pruebas.
  #5 (permalink)  
Antiguo 26/07/2015, 01:14
 
Fecha de Ingreso: febrero-2013
Mensajes: 115
Antigüedad: 11 años, 9 meses
Puntos: 5
Respuesta: Creación de red social

De igual modo sera tardio buscar entre las tablas cual pertenece a cual usuario... por tanto la velocidad de procesamiento de informacion de tu pagina web tiene mucho que ver con el rendimiento de la maquina de tu servidor... por tanto si creas 8 tablas por cada usuario... y vas a mostrar las publicaciones y los comentarios que hicieron en cada publicacion, entonces pasara lo siguiente, tendras que buscar en cada table de amistad de cada usuario a ver quien es amigo de quien... lo que tardara mas... y luego ir por cada tabla de publicacion y comentarios de cada usuario para ver si estan relacionados contigo... lo que hara que el sistema sea mas lento...
Por eso estan los modelos relacionales de bases de datos... Te sera mas trabajoso el hacerlo de la manera que planteas... y si quieres evitar que sea lento tu sistema, puedes hacer uso de node.js. Este permite un numero mucho mayor de conexiones que un servidor php.

Espero entiendas lo que te explico y tambien espero poderte ayudar...
  #6 (permalink)  
Antiguo 26/07/2015, 02:33
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Creación de red social

Una tabla puede tener perfectamente varios de millones de registros sin que notes que se vuelva lento.

Sea como sea, ir creando tablas (¡ocho!) según usuarios me parece un poco salvaje.
__________________
(:
  #7 (permalink)  
Antiguo 26/07/2015, 23:44
 
Fecha de Ingreso: febrero-2013
Mensajes: 115
Antigüedad: 11 años, 9 meses
Puntos: 5
Respuesta: Creación de red social

Lo mismo opino yo, y que asi sera mas dificil de mostrar la informacion, ya que estara regada por las tablas de cada usuario.. no habra orden...
__________________
http://tutorialesdelweb.blogspot.com/TutorialesWeb(principiantes)

Etiquetas: creación, mysql, red, select, social, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:23.