We have a requirement to store millions of notification with future date time and whenever they are ready to send or matches with send date time of those messages matches with current date time we should send it.
- The messages to send will come to the system with a rate of 20K-100K notification per minute.
- We need to send notification 20k per minute.
So this simultaneous read, update and insert is required Other points
- Insert - > Will add new records in the system
- Update -> Will update the status of the message which say it is ready to be sent or we can skip this if the filter is supported
- read -> This is important currently we have 5 servers which will read from the inserted records but we want to do it concurrently so no same message is sent more than once.
- We need a capacity to store the messages with at least 1-10 billion future date.