Hi Folks, Had a System Design interview question in regards to what kind of storage solutions would you use for a Whatsapp messanger and for TypeAhead. Wanted to see what folks had said in the past -
For TypeAhead, I haven't been able to get a clear answer but it shoulds like ideally you want some form of documentDB, since each Trie would be storing references to other end TrieNodes. That would probably lend it self well to a MongoDB if we focus on consistency or CouchDB if we are focused on Availability.
1 question I had was where does elastic search fit into all of this if at all ?
For Whatsapp Messanger we would probably want some form of Column wide Datastore like a cassandra and HBase. I did read that FB opted for HBase for the consistency requirement versus Cassandra which is a bit more focused on Availability.
What would the Tables look like? I wrote what i think below -
User Table
Conversation
Let me know what you guys think!