Database Design For Social Network apps I'm going to build a social network app. Each user will have photos, videos, details, posts etc. 

My question is when a new user registers, should I generate many new tables for that user or have one table for all users which may be contain billions of rows?

And which is best database for social network system: MySQL or CassandraDB?

Please help me!
One table for all users.  Period.  End of discussion.  (This is a common question; the answer is always the same.)

When you get to a million rows, we can discuss some other issues and solve them before you embark on the road to a billion.

What is best for project X?  If it will have a billion rows, you will need a database expert to tweak whatever underlying system you are using.  Any system can do it.  But it won't be trivial.

Focus on getting to a million rows.  Reconsider all of your design decisions at that point.  Any decisions made today will not survive to 1 billion.

Would you like me to repeat myself all over again?