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