我的数据库中有一个表,我需要根据外键属性进行分区。因此,分区表的数量与外键的不同值的数量相同。
编辑: 我有复制设置,其中主服务器中的表被复制到四个从服务器中。从属服务器不需要在主服务器中复制WHOLE表,而只需要复制它的一个分区,如图所示。怎么能实现这个?
答案 0 :(得分:0)
根据需要访问哪些设备,将数据拆分为单独的表或单独的数据库。然后有3层:
大师 - >继电器 - >设备
每个中继都是从属(对主)和主对一(或多)设备。在中继中,您不要转到设备的表格被声明为ENGINE=BLACKHOLE
。继电器中的其他表正常声明。
中继可以与主服务器位于同一服务器上,但是您需要单独的mysqld实例,每个实例都有一个单独的端口(3306除外)。开销相当小,特别是因为继电器除了切换数据的子集外什么也没做。
修改(基于图片)
要限制Slaves中的 space ,请在Slaves上使用“replicate_do / ignore”命令。这不会减少主机或从机的带宽。然后,replicate_ *设置将丢弃大部分复制数据。
如果您需要将带宽限制为 Slaves,请介绍上述继电器和Blackhole。