我正在构建一个网站模板系统,其中多个用户可以创建自己的迷你网站。我预计这个系统可能会扩展到数百万用户。最好是将每个人的迷你站点的所有数据存储在一个MySQL数据库中,还是为每个用户创建一个单独的MySQL数据库?
为数百万用户处理未来可扩展性的设置是什么?每个选项的优缺点是什么。
答案 0 :(得分:5)
在一个数据库中拥有数百万条记录很容易,而且无法在一台(或几台)计算机上处理数百万个数据库。
如果您确实每个用户的数据很少,并且确实计划拥有多个用户,请不要尝试为每个用户提供其数据库。使数据库增长并处理许多记录。
答案 1 :(得分:2)
向后工作......创建100万个数据库实例将不太实用。
所以是的,你可能想要使用至少少得多的数据库。这类问题称为Multi-Tenant Application。
如果你在每个网站存储几千个条目,你会发现MySQL使用一个数据库(至少有一个从属服务器用于备份和故障转移......)。
在某些时候,您需要设置第二个主/从数据库对来处理下一批客户。