I am making an app that is similar to Chatroulette.
When a user starts the app it finds someone that is not currently talking to anyone and have them talk to each other. At any point a user could skip that person and get a new partner. I want to store the conversation history so every message will be saved.
Is this well suited for a relational database like PostgreSQL or should I be using a NoSQL system like MongoDB?
Right now I have it modeled as follows. Suggestions on the schema would be helpful as well!
`User`: has basic information
`Conversation`: `user1_id`, `user2_id`, `end_date`, `status` (ended or waiting or active)
`Message`: `message`, `conversation_id`, `sent`
So the user has many conversations and a conversation has many messages.
This is just in PostgreSQL. I just want to get some feedback before I model it in case something could be improved.