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

标签 mysql load-balancing

假设您有一个用户登录才能使用的网站。每个用户访问页面,在其中向单个数据库表添加和删除信息。只有他们才能查看和访问他们的数据。非常简单。

现在,假设该网站非常受欢迎。更多用户 + 更多数据 = 一个包含大量记录的非常大的表。

所以我想知道,出于负载平衡的原因,是否最好不要让每个人都添加相似的数据的一个表,而是拥有多个相似的表,并将用户分配给与一定数量的用户共享的表.

因此,您可能有 100 个表,每个表仅由 10 个用户访问,而不是 1000 个用户选择并更新一张大表。

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

抱歉,我以为我在 ServerFault 上发布了此内容。请迁移。

最佳答案

如果您确实遇到了与数据库相关的瓶颈,那就是事件数据集的大小超出了服务器上的 RAM 量。到那时,在同一服务器内拆分表不会给您带来任何好处;它不会改变磁盘 IO 比 RAM 慢几个数量级的事实。您将升级 RAM,或者在尽可能完成升级后将数据分片到多个服务器上。

关于mysql - 拆分数据库表以平衡负载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6922197/

相关文章:

mysql - 合并表而不覆盖mysql phpmyadmin中的现有表

mysql - 使用现有 MySQL 数据库创建 Rails 应用程序而不丢失数据

php - mysql查询具有联合和限制的多表

mysql - 什么时候在主用户表中存储用户设置或信息是不好的?

mysql - 如何合并多个时间跨度

kubernetes - 如何对 Kubernetes 服务的请求使用 session 亲和性?

java - 如何集群和负载平衡 Spring + OSGi 应用程序

azure - 新的 Azure IaaS 云上的 AWS Route53 和弹性负载均衡器等效项

Azure 应用程序网关 : Subnet must only have application gateway

WebLogic负载均衡