sql >> Base de Datos >  >> RDS >> Mysql

Chat en vivo con PHP y jQuery. ¿Dónde almacenar la información? ¿Mysql o archivo?

Todo el mundo ha dado una amplia gama de opiniones, pero no creo que nadie haya dado realmente en el clavo.

Cuando se trata de almacenar datos, la cantidad de datos, la velocidad a la que se accede y varios otros factores determinan cuál es la mejor plataforma de almacenamiento.

Algunas personas han sugerido usar memcached. Ahora, aunque esta es una respuesta válida (usted puede usarlo), no creo que esta sea una buena idea, basada únicamente en el hecho de que memcached almacena datos dentro de la memoria de su servidor.

Su memoria no es para el almacenamiento de datos, es para el uso de las aplicaciones reales, el sistema operativo, las bibliotecas compartidas, etc.

El almacenamiento de datos dentro de la memoria puede causar muchos problemas con otras aplicaciones que se están ejecutando actualmente. Si almacena demasiados datos en su RAM, sus aplicaciones no podrán completar las operaciones que se les asignen.

Aunque esto es más rápido que una plataforma de almacenamiento basada en disco como MySQL, no es tan confiable.

Yo personalmente usaría MySQL como su motor de almacenamiento del lado del servidor. Esto reduciría la cantidad de problemas con los que se encontraría y también hace que los datos sean muy manejables.

Para acelerar las respuestas a sus clientes, buscaría ejecutar node en su servidor.

Esto se debe a que se basa en eventos y no bloquea.

¿Qué significa eso?

Bueno, cuando el Cliente A solicita algunos datos que están almacenados en el disco duro, tradicionalmente PHP podría decirle a C++, búscame esta porción de datos almacenados en este sector del disco duro. C++ diría 'ok, no hay problema', y mientras obtiene la información, PHP se sentaría y esperaría a que se leyeran y devolvieran los datos antes de continuar con sus operaciones, bloqueando todos los demás clientes mientras tanto.

Con el nodo, es ligeramente diferente. Node le dirá al núcleo, 'tráeme esta porción de información y cuando termines, llámame', y luego continúa tomando solicitudes de otros clientes que pueden no necesitar acceso al disco.

De repente, debido a que hemos asignado una devolución de llamada al kernel, no tenemos que esperar :), felices días.

Mira esta imagen:

Esta podría ser realmente la respuesta que está buscando, consulte lo siguiente para obtener información más descriptiva y detallada sobre cómo el nodo podría ser la opción correcta para usted: