拆分数据库表以平衡负载?

时间:2011-08-03 05:48:14

标签: mysql load-balancing

假设您有一个用户登录使用的网站。每个用户访问他们添加的页面并将信息删除到单个数据库表。只有他们可以查看和访问他们的数据。很直接。

现在,让我们说这个网站非常受欢迎。更多用户+更多数据=一个包含大量记录的非常大的表。

所以我想知道,对于负载平衡的原因是更好的是,而不是让每个人都添加类似数据的表,有多个类似的表,并且用户被分配到与一定数量的用户共享的表

因此,不是1000个用户选择和更新一个大表,也许你有100个表,每个表只有10个用户访问。

我想知道这是一种数据库组织策略,可以改善负载平衡吗?或者它会导致相同的负载量?这是一种常见的策略吗?如果有的话,它有什么名称吗?

抱歉,我以为我是在ServerFault上发布的。请迁移。

2 个答案:

答案 0 :(得分:1)

如果您遇到与数据库相关的瓶颈,那么当活动数据集的大小超出服务器上的RAM量时,就会出现这种情况。此时,将表拆分在同一服务器中并不会给你带来任何好处;它不会做任何事情来改变磁盘IO比RAM慢几个数量级的事实。您将要么升级RAM,要么在尽可能多地完成RAM之后,在多个服务器之间分割数据。

答案 1 :(得分:0)

查找分片。但我建议你现在不要理会这件事。你实际上并不知道你的系统的慢点是什么,直到它实际上很大并且你可以测量它。

另见:http://dev.mysql.com/doc/refman/5.1/en/partitioning.html