In designing instagram, it says we need an additional UserPhoto table if we go for nosql databases. Why do we need an additional table. Upon googling more I found out that joins are difficult and generally avoided in nosql databases. But this additional table also results in joins right ? We still need to join it to the Photos table to get the photos for a user. Am I missing something ?