分库分表&百亿级数据迁移(3)

简介: 分库分表&百亿级数据迁移

五  总结&反思


本文介绍了菜鸟积分系统拆库&数据迁移整个过程,总结了基于菜鸟现业务下的数据迁移方案,同时介绍了迁移时遇到的问题以及解决方案,整个迁移过程从方案制定到最终的迁移完成持续约一个多月时间,最终完成迁移。无论是利用数据库工具还是利用服务对数据进行迁移,目标都是一致的那就是数据无差异,用户无感知,异常可监控,方案可回滚。下面是自己反思的几个点:

  • 敬畏生产环境,敬畏线上数据,操作数据迁移需要核对仔细校验,迁移数据库表结构以线上数据为准,切勿以日常数据库表结构为准。在迁移前尽可能进行演练,通过一些测试编写的自动化脚本能否高效发现一些潜在的问题。


  • 同时存储是有状态的,迁移难度比较大,开发者需要具备前瞻性,尽量在选型的时候慎重,选择合适的数据库,避免进行数据库迁移。发现数据库选型有潜在的问题时,需要当机立断,尽早迁移。不要以为出现问题的概率不大,就拖延了。否则一旦出现问题,就是重大故障,造成的损失难以估量。


  • 在业务高速发展的同时更应该注重系统的稳定性建设,在对积分系统拆库完成之后在也不用担心积分系统在大促期间性能瓶颈问题了,只有将系统稳定性筑基好,业务才能跑的更健康更快。但是拆库仅仅是使系统变健壮的某一小步,后续系统稳定性建设可能还有更长的路要走。以此为鉴,砥砺前行。


  • 没有过程的结果叫垃圾,没有结果的过程叫放屁,有意义的目标,并且拿到结果,个人认为这才是一个人、一个团队之所以努力工作的根本原因。整体上切库任务重,时间紧,风险高,在与时间赛跑的过程中,虽然难题层出不穷,路途磕磕绊绊,但最终菜鸟积分系统分库分表迁移项目顺利完成,为后续大促服务提供健壮的技术支持。


六  参考资料


[1] TDDL开源Github地址 https://github.com/alibaba/tb_tddl

[2] 阿里愚公开源Github地址 https://github.com/alibaba/yugong

[3] 阿里云DTS产品官网 https://www.aliyun.com/product/dts

相关文章
|
缓存 移动开发 关系型数据库
Linux 内存 占用较高问题排查
Linux 内存 占用较高问题排查
1355 2
|
6月前
|
前端开发 JavaScript 测试技术
告别Selenium时代:用Playwright解决Selenium的三大痛点
本文分享了团队从Selenium迁移至Playwright的完整历程。通过对比两者架构差异,Playwright因直连浏览器协议,显著提升了测试速度与稳定性。文章详述了分阶段迁移策略、实践技巧与避坑指南,最终实现回归时间缩短60%、维护成本下降70%。这次迁移不仅是工具升级,更推动了团队从“消防员”到“质量建筑师”的思维转变。
告别Selenium时代:用Playwright解决Selenium的三大痛点
阿里面试:每天新增100w订单,如何的分库分表?这份答案让我当场拿了offer
例如,在一个有 10 个节点的系统中,增加一个新节点,只会影响到该新节点在哈希环上相邻的部分数据,其他大部分数据仍然可以保持在原节点,大大减少了数据迁移的工作量和对系统的影响。狠狠卷,实现 “offer自由” 很容易的, 前段时间一个武汉的跟着尼恩卷了2年的小伙伴, 在极度严寒/痛苦被裁的环境下, offer拿到手软, 实现真正的 “offer自由”。在 3 - 5 年的中期阶段,随着业务的稳定发展和市场份额的进一步扩大,订单数据的增长速度可能会有所放缓,但仍然会保持在每年 20% - 30% 的水平。
阿里面试:每天新增100w订单,如何的分库分表?这份答案让我当场拿了offer
|
11月前
|
关系型数据库 MySQL Java
MySQL 分库分表 + 平滑扩容方案 (秒懂+史上最全)
MySQL 分库分表 + 平滑扩容方案 (秒懂+史上最全)
|
机器学习/深度学习 存储 人工智能
MNN:阿里开源的轻量级深度学习推理框架,支持在移动端等多种终端上运行,兼容主流的模型格式
MNN 是阿里巴巴开源的轻量级深度学习推理框架,支持多种设备和主流模型格式,具备高性能和易用性,适用于移动端、服务器和嵌入式设备。
4094 18
MNN:阿里开源的轻量级深度学习推理框架,支持在移动端等多种终端上运行,兼容主流的模型格式
|
Python
Python 中的 self 是什么?
【8月更文挑战第29天】
2518 5
|
存储 缓存 分布式计算
菜鸟积分系统稳定性建设 - 分库分表&百亿级数据迁移
拆库&数据迁移说白了,考验的不是一个人的技术功底,而是一个人干活的细致程度,以及抗压能力。无论在哪个公司,数据库迁移的机会都不会太多,因此,我也是非常珍惜这次历练,用阿里的一句老话来说就是 “因人成事,借事修人”。写这篇文章的目的主要是自己进行一个总结,也希望能给需要的同学们一些参考。
菜鸟积分系统稳定性建设 - 分库分表&百亿级数据迁移
|
网络协议 Python
面试题:三次握手,为什么要三次而不是两次四次?
字节跳动面试题:三次握手,为什么要三次而不是两次四次?
663 0
|
SQL 存储 算法
ShardingSphere数据分片
坚持是一件比较难的事,坚持并不是自欺欺人的一种自我麻痹和安慰,也不是做给被人的,我觉得,坚持的本质并没有带着过多的功利主义,如果满是功利主义,那么这个坚持并不会长久,也不会有好的收获,坚持应该带着热爱,带着思想,把它当成习惯,但是并不是内卷,而是一种发自内心的喜欢和平实!希望我们都有自己的坚持,坚持写一篇文章,坚持爱一个人,坚持读一本书,坚持走向远方!
433 0
|
存储 数据采集 消息中间件
互联网积分任务体系架构演进
互联网积分任务体系架构演进
1327 0