沈剑:数据库切分技术实践解析

向作者提问
“架构师之路”公众号作者,58到家高级总监,技术委员会主席。前百度高工,58同城高架,技委主席。
查看本场Chat

2017年2月23日周四晚8点30分,“架构师之路”公众号作者、58到家技术委员会主席沈剑带来了主题为《互联网数据库“跨库分页”架构技术实践》的分享,以下是主持人赫阳整理的实录,记录下了作者和读者问答的精彩片段。


问:目前准备做数据库水平切分,需要注意什么关键问题?目前了解需要避免跨库事务,请老师指点。

答:

  1. 需要注意分库patitionkey的选取,要保证两个均衡:数据量的均衡,请求量的均衡。

  2. 需要注意分库后,之前用SQL满足的需求是否还能满足,需要怎么改进满足,例如max、min、avg、sum都需要在服务层再做一次聚合。

  3. 夸库事务,分布式事务,在吞吐量是主要矛盾的互联网场景,目前没有能够很好解决的方案,尽量避免。


问:采用hash取模方式的表扩容策略及采用一致性hash分表的表扩容策略如何实现?

Nemo
关于“跨库分页”文章第四种二次查询法,看了很有启发。但是有一个问题,如果所有分库总体第994条至1005条的数据都在分库1,二次查询得到的数据也是不准确的。分库1从333条开始取出5条数据,结果只是整体994到999的5条,1000到1005的数据就没有取出来待选。
微信扫描登录