I’m building a chat widget using pusher service (http://pusher.com) and I need to save all the messages sent by users into database, so that it should be accessible after a period of time. I’m using mysql database and the only way that comes to my mind is that make a new insert each time the chat message event is triggered, but I’m afraid it will not be as fast as it should be.
What databases and techniques would you prefer in this case for saving chat messages?
One approach you can take is to use MySQL’s
INSERT DELAYED. When you do this, the client does not have to wait for the insert to complete. Rather, the server will queue the inserts and execute them as it can. So the process/thread thats handling the chat will not have to wait on them. But you’ll still have a chat history stored in the database that can be retrieved. Assuming you are using pusher to share ‘live’ messages as they come in, and thus dont need immediate access to the chat history, this might do the trick for you.