Hi all,
Just out of curiousity, what would be the ideal structure for Friendster.com's database?
Here are two structures that I came up with. Which one do you think is a better design? Could there be another way that is better?
Structure A:
(signle DB with multiple tables)
******************************************
Database: FriendsterDB
Tables:
Login(Username, Password, ...)
Member_Profile(Username, First_Name, Last_Name, Email, ...)
Member_x_Friend(Username, ...)
...
Structure B:
(Each user has his own DB)
******************************************
Database: General
Tables:
Login(Username, Password), ...
...
Databse: Member_x
Tables:
Profile(Username, First_Name, Last_Name, ...)
Friend(Username, ...)
...
With structure A, each table would be very big because Friendster has over 1,000,000 members. Structure B, however, results in small tables but a large number of DB. 1,000,000 members will result in 1,000,000 DB.
With so many users, I wonder which is the best way to design Friendster's DB. It would be even more interesting to know the actual structure of their DB.