Mysql
 sql >> Database >  >> RDS >> Mysql

Chat dal vivo con PHP e jQuery. Dove memorizzare le informazioni? MySQL o file?

Tutti hanno espresso un'ampia gamma di opinioni, ma non credo che nessuno abbia davvero colpito nel segno.

Quando si tratta di archiviare i dati, la quantità di dati, la velocità di accesso e molti altri fattori determinano qual è la migliore piattaforma di archiviazione.

Alcune persone hanno suggerito di usare memcached. Ora, sebbene questa sia una risposta valida (puoi puoi usalo), non penso che questa sia una buona idea, basata esclusivamente sul fatto che memcached memorizza i dati nella memoria del tuo server.

La tua memoria non è per l'archiviazione dei dati, è per l'uso delle applicazioni reali, del sistema operativo, delle librerie condivise, ecc.

L'archiviazione dei dati all'interno della memoria può causare molti problemi con altre applicazioni attualmente in esecuzione. Se memorizzi troppi dati nella tua RAM, le tue applicazioni non sarebbero in grado di completare le operazioni loro assegnate.

Sebbene sia più veloce di una piattaforma di archiviazione basata su disco come MySQL, non è altrettanto affidabile.

Personalmente userei MySQL come motore di archiviazione lato server. Ciò ridurrebbe la quantità di problemi che incontreresti e renderebbe anche i dati molto gestibili.

Per accelerare le risposte ai tuoi clienti, cercherei di eseguire node sul tuo server.

Questo perché è basato su eventi e non bloccante.

Cosa significa?

Bene, quando il client A richiede alcuni dati che sono archiviati sul disco rigido, tradizionalmente PHP potrebbe dire al C++, portami questo pezzo di dati archiviato su questo settore del disco rigido. C++ direbbe "ok, nessun problema", e mentre va a ottenere le informazioni, PHP si siede e aspetta che i dati vengano letti e restituiti prima di continuare le sue operazioni, blocco tutti gli altri clienti nel frattempo.

Con il nodo, è leggermente diverso. Node dirà al kernel, "portami questo pezzo di informazioni e quando hai finito, chiamami", e quindi continua a ricevere richieste da altri client che potrebbero non aver bisogno dell'accesso al disco.

Così all'improvviso, poiché abbiamo assegnato una richiamata al kernel, non dobbiamo aspettare :), giorni felici.

Dai un'occhiata a questa immagine:

Questa potrebbe davvero essere la risposta che stai cercando, consulta quanto segue per informazioni più descrittive e dettagliate su come il nodo potrebbe essere la scelta giusta per te: