We are building a notification system on an existing legacy stack of Codeigniter and MySQL. The case is like this : A notification is send to say 100K users. There are two tables in the DB
1) Messages ( Message ID, Phone ) 2) Status ( Phone, Message ID, Status )
When a message is sent there is single insert happening in messages table which holds phones in comma separated format. And when actually message starts sending ( say via some wrapper on google cloud messaging ) an insert happens in status table. Hence for a single notification to 100K users there can be 1 and 100K inserts respectively. The status table further receives updates from devices to change the status to say READ/ DELIVERED etc.
This doesn't look like a great architecture and would MySQL be able to handle that high volume of inserts ( say batched as well ). Any alternative low level design using the same tech stack or an alternate data store ( cassandra, elastic search ) should be an appropriate fit for this ?
Aucun commentaire:
Enregistrer un commentaire