Although I am fairly used to SQL, I am new to Couchbase (and NoSql in general), so please be kind.
I would like to understand how to model storing billions of chat messages originating from a typical IM app in Couchbase. I have modeled it in my SQL database as a table with appropriate columns for MessageId, Sender, Receiver, Message content and a couple of delivery status and acknowledgement fields. The typical use case for me is rapid inserts of new messages, and updates mostly updating the delivery and acknowledgement fields of recent messages as they are delivered to clients. Once a message is delivered to and acknowledged by a client, its rarely (if ever) read back from the database again.
What would be the correct way to model this in Couchbase? Assume 10000 new messages/sec inserts and 40000 updates on these 10000 messages/sec. Assume, one to one chat as the primary use case, although each person would have many buddies - pretty much like Whatsapp
Thanks, appreciate all feedback.