具有相同架构的多个数据库用于单个应用程序


multiple database with same schema to use with a single app

在最近的PHP训练中,我遇到了一个共享服务器。

而且,Web主机为每个MySQL数据库提供了有限的存储空间(比如1GB)。

在这种情况下,我的应用程序将处理10k以上的用户和大量特定于站点的数据,每个数据库最多可以存储1GB(在这种情况中),但我可以添加1GB存储容量的无限数据库。

那么,如果我的MySQL数据库大小达到了允许的最大存储空间,并且我正在添加更多的数据库,我可以将负载/查询/数据传输到添加的数据库,并可以从这两个数据库执行类似查询的搜索吗?

或者从一开始,我可以添加两个或多个具有相同模式的数据库,所以我可以对这两个数据库执行搜索查询并检索数据吗?

DB1TBL1 TBL2 TBL3
DB2TBL1 TBL2 TBL3

USER1的信息存储在DB1
USER2000的信息存储在DB2

如果您从一开始就知道表中有多少数据,那就很容易了。您拆分数据(例如,按id或表),您的应用程序必须拥有所有数据库的详细信息,并决定从哪里获取数据。不过,你应该考虑至少25%的储备金。

示例:

database 1: table users, comments with ids 1-200.000
database 2: table posts with ids 1-10.000
database 3: table users, comments with ids 200.000-400.000
...

如果你不知道每个id将存储多少数据,你应该选择一个允许每个数据库存储更多数据的主机,因为处理多个数据库(每个数据库都包含不同的数据集)将是可怕的。