在MySQL中对数据库表进行分区

时间:2012-03-28 08:13:04

标签: mysql partitioning database-cluster

制作集群MySQL部署的最佳策略是什么,其中DB的某些表放在一个节点上,而另一些表放在另一个节点上,同时从应用程序的角度看作一个连贯的DB?

假设我有2个数据节点A和B,以及一个包含5个表的数据库,我希望将表1,2和3放在节点A上,将表4和5放在节点B上。 / p>

我们是否需要将此部署作为群集部署,或者典型的MySQL部署是否会处理此问题?如果是,那怎么回事?

如何在A和B上复制表4?

1 个答案:

答案 0 :(得分:2)

MySQL允许使用联合引擎透明地访问存储在其他实例上的表(这已经很长时间了)。

MySQL确实提供了一种称为分区的功能 - 它应用于表以在不同的文件系统之间分配数据 - 但这是非常不同的。

  

如何在A和B上复制表4?

您可以将mysql复制设置为仅复制特定表(请参阅replicate-wild-do-table),但混合联合和复制会很快变得非常混乱 - 弄错了,您将丢弃数据。使用其中一个。不是两个。