分库分表

1,使用什么字段作为分片主键?
一般需要考虑三个要求:数据尽量均匀分布在不同的表或库中,跨库操作尽可能少,所选字段的值不会变。
通常将 userID 作为分片主键,因为用户通常通常需要查询所有订单,而这是必需满足的需求。

2,分片策略是什么?
根据范围分片:根据分片主键范围,划分不同分片,如 1 - 10000, 10001 - 20000
根据 hash 值分片:根据分片主键的 hash 值,取模一个数,为方便扩展,这个数通常是2的n次方,这样增加分片时,只要把原来的每个分片迁移一半的数据即可。
根据 hash 值和范围混合分片:先按范围,再按 hash 值分片。

3,历史数据如何迁移?
旧的架构继续运行,存量数据直接迁移,增量数据监听binlog日志,然后通过canal通知迁移程序迁移数据,等到新的数据库拥有全部数据且校验通过后,再逐步切换到新架构。

 

 

posted @   心随所遇  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
历史上的今天:
2019-06-06 JavaScript this关键字
2019-06-06 Javascript 知识点
点击右上角即可分享
微信分享提示