我想对我的数据库进行分片,但我在这个主题上并不专业。所以这是我的考虑。尽管分片键是将请求定向到正确节点的出色索引,但是将在我的表上定义的其余索引呢?我希望引用这些索引的请求也被传递到正确的节点,以便只有一个节点处理请求。据我了解,为此必须存在一些集中式索引节点。所以我的问题是这个功能是否已经存在于像 MYSQL 这样的 RDBMS 中,或者我应该使用其他特殊产品。
问问题
1139 次
2 回答
0
免责声明:我为ScaleBase工作,我每天都生活和呼吸分片......
我会在这里建议,如果您根据列 A 进行分片,例如,列 A=xx 的 WHERE 将转到单个分片。WHERE columnB=xx 必须去所有分片,因为所有分片中可能都有 columnB=xx。除非列 A 和列 B 相关。然后你真的需要将关系保存在映射表中。我可以说在所有数据库上运行可以超快,您需要并行运行并合并结果。在 ScaleBase,我们支持合并 ORDER BY、GROUP BY 等。这并不容易...
嘿,在我的博客中查看更多信息:http: //database-scalability.blogspot.com
于 2012-05-24T19:30:58.820 回答
0
Andrey,您所描述的正是 Clustrix 数据库的工作原理,其中数据和索引是自动分布的,然后查询是跨节点分布的。Clustrix“将查询带到数据”并具有无共享架构(因此不需要集中索引)。MySQL 没有任何内置的分布式计算功能,虽然有各种附加选项,但当达到集中式资源限制时,它们最终会遇到扩展限制。
于 2013-05-09T22:37:42.130 回答