I think I'm missing something from the presentation slides. Why would an API call result in 5 Millions writes? I think he is trying to give a scenario of an API call that creates a rich push for 5M devices. Even queuing the writes is not going to solve the problem.
Fundamentally, I wouldn't have designed the messaging model that would require a write for each client device for each message.
It seemed odd to me too that a single API call could cause that much work. Granted, I have no idea how the actual app works. But one way to do this is to have clients belong to groups, then record if a group got a message (few writes).
Then for each client pull the groups the client belongs to and look for new messages (possibly more reads than storing the messages on a per-client basis).
It's an extra database table and layer of indirection, but that's one way.
Fundamentally, I wouldn't have designed the messaging model that would require a write for each client device for each message.