分片和索引

时间:2012-05-22 12:57:48

标签: mysql indexing sharding

我想对我的数据库进行分片,但我在这个主题上并不专业。所以这是我的考虑因素。虽然分片密钥是将请求定向到正确节点的极好索引,但是在我的表上定义的其余索引呢?我希望引用这些索引的请求也被传递到正确的节点,以便只有一个节点处理请求。据我所知,为此必须存在一些集中式索引节点。所以我的问题是这个功能是否已经存在于像MYSQL这样的RDBMS中,或者我是否应该使用其他特殊产品。

2 个答案:

答案 0 :(得分:0)

免责声明:我为ScaleBase工作,我每天都活着并且每天都在呼吸......

我在此建议,如果您根据A列进行分片,则具有columnA = xx的WHERE将转到单个shrad。由于在所有分片中可能都有columnB = xx,因此columnB = xx必须遍历所有分片。除非columnA和columnB相关。然后你真的需要在映射表中保存关系。 我可以说在所有数据库上运行可以超快,你需要并行运行并合并结果。在ScaleBase,我们支持合并ORDER BY,GROUP BY等。这并不容易......

嘿,在我的博客中看到更多信息:http://database-scalability.blogspot.com

答案 1 :(得分:0)

Andrey,您所描述的正是Clustrix数据库的工作方式,数据和索引自动分配,然后查询跨节点分布。 Clustrix“brings the query to the data”并且具有无共享架构(因此不需要集中索引)。 MySQL没有任何内置的分布式计算功能,虽然有各种螺栓固定选项,但在达到集中资源限制时,它们最终会遇到扩展限制。