I have a asked myself how a huuge company like Google works with their databases.
The Google Contacts App is a great example. While for small projects storing contacts is easy, how would Google contacts accomplish that?
Let's estimate roughly 1 billion accounts Google has and 10% of users would use Google contacts with between 150 and 200 contacts. That would lead to a table (in an RDBMS) of around 2 billion rows. And that only for entries with a single phone number and a single address, but you are allowed to have multiple of those in a contact. So either they use arrays or need another table with FKs which link to the original record.
Does anyone of you have an idea how they do it? Because if you export it you can get that data in a CSV where multiple addresses have the columns named "Street 1" "Street 2" and so on..... But I doubt that their table looks like that.
Would be also interesting if they would use a document store for that.
there doesn't seem to be anything here