在分片环境中,数据将被分割为各种机器/分片。我想知道如何创建一个返回分页结果的查询(前2页,10结果或第10页,20结果)?
我知道它与主键有关。使用单个RDBMS很容易,因为您有一个自动增量列,因此很容易获得最后10个项目并返回分页数据。
答案 0 :(得分:-1)
我为ScaleBase工作,它是一个完整的横向扩展解决方案的制造商,如果你愿意的话,可以自动分片机,分析数据和SQL流,在数据库节点之间分割数据,负载平衡读取,并在运行时聚合结果 - 所以你不必这样做!
您可以在此主题中看到我对自动增量的回答:Sharding and ID generation as instagram
另外,请查看http://database-scalability.blogspot.com/关于Pinterest的帖子,然后现在......
具体来说 - 将几个分片的结果合并到1个结果是HELL。可能是边缘情况,GROUP BY,ORDER BY,JOIN,LIMIT,HAVING。我必须说,在SB我们支持大多数组合,它花了我们年龄。确实,我们需要一般地做,而你可以“弯曲”到专有......但仍然......