我需要进行基于MySQL的数据库切分(水平)。我的数据库架构如下:
我的问题是:
请注意,在本例中,我将不使用MySQL读取副本。
发布于 2012-10-12 21:44:15
你可以自己做这件事,而不是使用像dbShards或ScaleBase这样的商业产品,但是你最终会构建同样的东西,这不是简单的事情。
不过,要回答您的问题,在所有碎片之间复制A和B是有意义的,因此您需要应用程序在所有碎片上复制写入,或者需要一些复制技术来完成。我不认为您可以轻松地配置MySQL复制来做到这一点。
要实现负载平衡,您需要客户端在对这些表运行查询时随机选择一个碎片,就像您的客户端在访问表C时需要确定使用哪个碎片一样。
对于HA,您需要为每个碎片设置主/从设置,以便在丢失主碎片的情况下进行故障转移。
致以敬意,
安迪·格罗夫首席建筑师http://www.dbshards.com
发布于 2012-10-12 01:08:46
发布于 2012-10-08 08:13:47
你在一个问题中问了多个问题-- Sharding,High Availability和Load Balancing。这些本身就是广泛的话题。
关于这些技术,因特网上有很多可用的资源。我建议您首先阅读它们,如果您对某些概念不清楚,或者在实现这些概念的过程中陷入困境,您可以随时回到StackOverflow上来。谢谢。
编辑:
我想与大家分享我刚才发现的一个链接:
如何实现MySQL切分
希望能帮上忙。
https://dba.stackexchange.com/questions/25604
复制相似问题