Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/01/2012, 18:23
Avatar de gnzsoloyo
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)