Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

¿Que consume más? txt vs. mysql

Estas en el tema de ¿Que consume más? txt vs. mysql en el foro de Mysql en Foros del Web. Buenas! Vengo con una duda en la que provocaron cierta confusión en mi pobre y poco utilizado cerebro. Tengo un chat en mi foro y ...
  #1 (permalink)  
Antiguo 06/01/2012, 11:42
 
Fecha de Ingreso: febrero-2008
Mensajes: 269
Antigüedad: 16 años, 2 meses
Puntos: 5
¿Que consume más? txt vs. mysql

Buenas!

Vengo con una duda en la que provocaron cierta confusión en mi pobre y poco utilizado cerebro. Tengo un chat en mi foro y lo hice escribiendo el texto en un txt pensando que así el consumo seria menor que si utilizo un chat en BD...el problema es que me veo muy limitado en ciertos aspectos y el código es guarrisimo.

Me decidí escribir un ticket a mi host preguntando cual sería el limite de ancho de banda permitido (aunque tengo el plan ilimitado) o por el contrario, si un chat conectado a la BD con 5 - 6 usuarios activos al mismo tiempo mas o menos, seria soportado por mi servidor compartido o no.

Muy amablemente ignoraron mi pregunta pero me dijeron algo que me ha vuelto loco. Me dijeron que "en cualquier caso, abrir un fichero txt y escribir en el consume mas que escribir en la BD"...¿enserio? ¿Viví una mentira?

Yo antes tenia un chat muy bonito en BD con comandos entretenidos y pequeño juego de batalla y todo hasta que un dia fui a entrar a mi foro y...¡tachan! Página cerrada por sobrecarga. Me decido a mirar que pasó y me veo cerca de 20 millones de peticiones cada hora (o algo asi, una burrada), ¡una locura! Me dijeron que no tenian servidores para aguantar tal cosa y que ya habia reventado un router (ciertamente, mi pagina estuvo off varias horas dias atrás). Corriendo pedí que reactivaran mi dominio, era culpa del chat. Lo reescribí pero en lugar de usar BD utilizo un txt y todo a ido perfectamente.

¿Entonces que fue lo que pasó? Si abrir un txt consume mas que escribir en la BD porque tenia 20 millones de peticiones y ahora tengo una porqueria de 6000 al mes?

Agradecería opiniones, respuestas concisas. Si estoy equivocado yo, hare el chat en BD porque si se han equivocado ellos...me plantearé el cambiar de servidor.

PD: No usaba ajax ni nada. De hecho, aun no era popular (no se siquiera si existia por aquel entonces) pero era simple sql.
  #2 (permalink)  
Antiguo 06/01/2012, 11:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Que consume más? txt vs. mysql

Es bien simple como esto: ¿entonces para que crees que si diseñaron los sistemas de base de datos?

Si usar archivos fuera eficiente toda la vida entonces jamás se hubieran tomado la molestia.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/01/2012, 12:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 269
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: ¿Que consume más? txt vs. mysql

Porque imagino que gestionar un sistema de usuarios es mucho más complejo que abrir un archivo, guardar una linea y mostrar el archivo :P Ademas del tamaño que alcanzaria el archivo seria descomunal. Yo estoy hablando de un txt con 20 lineas.

Supongo que depende de la complejidad del sistema, lo que me pica es el hecho de haber recaudado millones de peticiones usando BD y al pasar a usar un txt las peticiones bajaron a un numero mediocre. Por eso pensé que el txt era más eficiente y ahora me dicen eso.

Así que estoy realmente confuso. Sé que si existen las bases de datos es por algo pero sigo estando confuso ^^U a nadie se le ocurre algo coherente por lo que pudo pasarme eso? Por desgracia ya no puedo mostrar imagenes ni revisar estadisticas porque era otro servidor pero no sé, alguna idea...para desenredar mis neuronas XD
  #4 (permalink)  
Antiguo 07/01/2012, 18:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ¿Que consume más? txt vs. mysql

Explicar qué diferencias entre el manejo de datos en una base de datos y de hacerlo en un archiv de texto son grandes, requerirían muchas explicaciones, algunas extremadamente técnicas y que necesitan de un conjunto de conocimientos bastante extenso (hardware, sistemas operativos, redes, programación, etc.), porque todas esas cosas aportan un poco a la complejidad del asunto. No es como algo para responder en un solo post.

De todos modos algunas cosas se pueden decir:

- La lectura de un archivo de texto es secuencial, mientras que en un DBMS es directo o usa algoritmos no secuenciales.
- En un .TXT tienes que leer linea a linea para buscar algo, mientras que en una BBDD usas índices.
- La lectura del txt dependerá de cómo la programes, la lectura de una consulta posee múltiples algoritmos que se aplican en forma estadística para optimizar los tiempos,
- En las BBDD la consistencia e integridad de la información son fundamento y consecuencia del diseño de la base. En los TXT sólo el programador puede tener alguna idea de qué tan buenos son los datos.
- Muuuuchos otros...

Parafreaseando un poco a Pateketrueke, si te pones a pensar que los sistemas de base de datos nacieron para precisamente ser la más optima, eficiente, segura y rápida forma de almacenar y recuperar datos, y que todo el comercio mundial se basa en ellos... Es de suponer que usar un TXT es como mínimo, una mala idea...

Ahora bien, yendo a uno de tus problemas:
Cita:
(...)Me decido a mirar que pasó y me veo cerca de 20 millones de peticiones cada hora (o algo asi, una burrada), (...)
Eso, a mi me hace suponer que tu problema podía estar en una deficiente programación, y no necesariamente en un problema de tráfico. Esto es muy habitual cuando, por ejemplo, los desarrolladores se tragan la estupidez que dicen algunos docentes de que debes abrir y cerrar una conexión cada vez que haces una consulta a la base... Lo que es una total burrada.
Si ese era el caso, entonces, y considerando que en una sesión de una hora, un usuairo podría tranquilamente hacer unas 500 acciones que afecten a la base, y que cada acción representase al menos 10 interacciones con la base, 100 usuarios concurrentes podrías estar creando y destruyendo 500.000 conexiones por hora... O sea, medio millón de peticiones a la base cada hora...

Lo que quiero que te quede claro es que yo tengo más sospechas de que se trataba en realidad de un problema de programación del sitio, que de verdadera concurrencia de usuarios. Por lo que el que hayas transformado un buen sistema en uno primitivo, al decir lo menos, fue un error de evaluación de problemas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 09/01/2012, 12:33
 
Fecha de Ingreso: febrero-2008
Mensajes: 269
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: ¿Que consume más? txt vs. mysql

Bueno, cabe decir que el chat en BD lo hice hará 4 años y medio, lo pasé a txt porque el propio servidor me habia cerrado el sitio por sobrecarga y probé con el txt para ver si así aguantaba o tenia que despedirme del chat pero sí, viendo lo que dices y quedandome más claro las diferencias entre uno y otro, seguramente metí la pata en algun lugar. Lo de cerrar conexión nunca lo he hecho, no le encuentro sentido cerrar la conexión si en cuanto actualices o cambies de página necesitaras conectarte de nuevo.

Gracias a los dos, sobretodo a gnzsoloyo por tomarse el tiempo de explicarmelo pero sin desmerecer a pateketrueke, aunque respondiera lo justo

PD: Gracias tambien al que me ha votado en negativo, muy amable él, con lo que me habia costado conseguir 100 de karma

Etiquetas: sql, txt, usuarios
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 12:37.