Porque borrar cuentas no tiene sentido

Publicado por Kentaurus en el blog Rigel Kentaurus. Vistas: 98

Cuando el foro tiene que mostrar una discusión esto es lo que hace (muy simplificado):

paso 1. según el número de discusión va y la busca, si hay, por ejemplo 70,000 discusiones tiene que buscarla entre esas 70,000

paso 2. según el número de discusión va y busca todos los posts que pertenecen a esa discusión, si hay, por ejemploe 2,500,000 posts entonces tiene que buscar los 40 o 50 posts de esa discusión entre todo eso.

paso 3, para cada uno de los posts, busca la información del usuario que hizo el post, de esa forma, de entre 50,000 usuarios busca a los dueños de los posts, y se trae su nombre, perfil y avatar

Cierto, las computadoras hacen todo más rápido que nosotros las personas :) pero aun asi hay una regla de oro, bajo la misma estructura y condiciones es mucho más rápido buscar 1 post entre 100,000 que entre 2,500,000


Si quisieran que ver una discusión fuera más rápida entonces... ¿que harían?
1) opción 1, optimizar el buscar 1 entre 70,000
2) opción 2, optimizar el buscar 1, entre 2,500,000
3) opción 3, optimizar el buscar 1 entre 50,000

obviamente el optimizar la parte de los posts resulta mucho más beneficiosa que, digamos, borrar 10,000 usuarios :)



Hay también otro detalle interesante.
Cuando se borra a un usuario nunca realmente lo "borramos", simplemente lo desaparecemos del mapa. O dicho de otra forma, lo archivamos a él junto a toda su información... sin embargo, los posts hechos por él no se archivan, ¿porque? debido a que varias discusiones perderían sentido si desaparece el post hecho por el usuario.

Esto que significa? que entonces para cada post necesitamos revisar dos escenarios distintos, para cuando el post tiene dueño y para cuando el post no tiene dueño. ¡Excelente! entonces ahora es una búsqueda de 1 entre 2,500,000 con dueño más una búsqueda de 1 entre 2,500,000 sin dueño :) Vaya, por borrar al usuario acabamos de duplicar el trabajo del foro, en donde ya tenía más trabajo.

(esto es, por supuesto, el escenario pesimista, no optimizado, y que no ocurre tal cuál como lo estoy ejemplificando, esta así solo por motivos académicos)

¿curioso? bastante. Borrar usuarios hace que el servidor vaya más lento.
  • Helios
  • veta
  • Vicentico
  • Kenny®
  • Aura Lance
  • GM-
Necesitas tener sesión iniciada para dejar un comentario