好的,我已经设置了 mysql 集群,但我需要的是将表资产在节点之间拆分,而不是复制。由于我设置集群的目的是由于硬盘空间不足,因此我如何让集群在节点之间拆分表?
我研究过分区,但没有找到任何好的技术。如果有人知道如何对表进行分区,请帮帮我。
我知道 dbshards 等等,所以请不要提及它们,我需要一个仅使用 mysql 的解决方案,而且我不能修改将使用数据库的软件
答案1
使用标准 mysql 是不可能的。您可以看看 nbd 集群,但它是 mysql 制作的完全独立的产品,并且不完全兼容。
您使用的是哪种类型的集群?复制?那不是集群。
如果您遇到的唯一问题是磁盘空间,那么您不需要更多的 mysql 服务器,只需要更多的存储空间。一个可能的解决方案是向您的一个 mysql 服务器提供一堆 iscsi 存储,并将其分成几个大小相等的小卷。然后,您可以使用 mysql 的分区功能并创建较大表的哈希分区,以将它们均匀分布在您的卷上。