If I have a NoSQL database (Redis, Couche, Mongo..) and want to model people with messages and friends, I would model it like this: http://pastebin.com/0aPKQPrM. Wouldn't this be terrible for performance when I want to get all messages of my friends in chronic order (because I first have to find each friend, then fetch their embedded messages and sort them according to dates..)? In a relational db, I would do a SELECT IN ORDER, ho