 <p>Both of the big OSS DB's (MySQL and PostgreSQL) can scale to extremely large sites. The trick would be to plan from the start such that data can be broken up ("shard") into multiple DB servers and you can quickly find out which server you need to go to.</p> <p>For example: users having nickname A-G go to server1, H-O to server2, etc. This way you can scale almost infinitely because when a server reaches the limit, you can just split it into smaller pieces.</p>