分库分表
1,使用什么字段作为分片主键?
一般需要考虑三个要求:数据尽量均匀分布在不同的表或库中,跨库操作尽可能少,所选字段的值不会变。
通常将 userID 作为分片主键,因为用户通常通常需要查询所有订单,而这是必需满足的需求。
2,分片策略是什么?
根据范围分片:根据分片主键范围,划分不同分片,如 1 - 10000, 10001 - 20000
根据 hash 值分片:根据分片主键的 hash 值,取模一个数,为方便扩展,这个数通常是2的n次方,这样增加分片时,只要把原来的每个分片迁移一半的数据即可。
根据 hash 值和范围混合分片:先按范围,再按 hash 值分片。
3,历史数据如何迁移?
旧的架构继续运行,存量数据直接迁移,增量数据监听binlog日志,然后通过canal通知迁移程序迁移数据,等到新的数据库拥有全部数据且校验通过后,再逐步切换到新架构。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
2019-06-06 JavaScript this关键字
2019-06-06 Javascript 知识点