制作集群MySQL部署的最佳策略是什么,其中DB的某些表放在一个节点上,而另一些表放在另一个节点上,同时从应用程序的角度看作一个连贯的DB?
假设我有2个数据节点A和B,以及一个包含5个表的数据库,我希望将表1,2和3放在节点A上,将表4和5放在节点B上。 / p>
我们是否需要将此部署作为群集部署,或者典型的MySQL部署是否会处理此问题?如果是,那怎么回事?
如何在A和B上复制表4?
答案 0 :(得分:2)
MySQL允许使用联合引擎透明地访问存储在其他实例上的表(这已经很长时间了)。
MySQL确实提供了一种称为分区的功能 - 它应用于表以在不同的文件系统之间分配数据 - 但这是非常不同的。
如何在A和B上复制表4?
您可以将mysql复制设置为仅复制特定表(请参阅replicate-wild-do-table),但混合联合和复制会很快变得非常混乱 - 弄错了,您将丢弃数据。使用其中一个。不是两个。