遗留系统现代化实战
姚琪琳
Thoughtworks 资深咨询师
5615 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 30 讲
用户故事 (1讲)
遗留系统现代化实战
15
15
1.0x
00:00/00:00
登录|注册

大咖助阵|存储过程的拆分锦囊

你好,我是姚琪琳。我在课程第二十三节课讲到了一些存储过程拆分的通用方法。你读后一定意犹未尽吧。那些方法、技巧可能与你的系统接近,但就是差那么一点儿无法解决实际的问题。比如存储过程过于复杂,根本不可能替换成 API 调用。那今天我就邀请我的同事黄炳洪,为你分享一下存储过程拆分的高阶技巧,希望对你有所帮助。
你好,我是黄炳洪(如果你愿意,可以叫我大饼)。
作为 Thoughtworks 中国区的一名技术顾问,我近年来专注于敏捷软件开发、团队赋能、遗留系统现代化等领域。很高兴受邀和你分享我和团队的一些经验。
在我们帮助客户对遗留系统做微服务化改造的过程中,存储过程是大伙儿最为头疼的一个问题。
这是因为在一些遗留系统里,存储过程是其重要的组成部分,大量的业务逻辑写在存储过程中。而存储过程的拆分,跟上层代码的拆分有着诸多不同,难度甚至高好几个等级。
为什么说它难以拆分呢?原因有以下四个方面:
1. 存储过程中的 SQL 直接读写多个业务的表,表与表之间耦合紧密,不易拆分。
2. 存储过程的业务逻辑分布在 SQL 语句的 select、join、where 部分中,分析工作量大。
3. 主流 IDE 对存储过程的重构、调试、自动化测试的支持非常有限,因此开发工作大量依赖手工修改,出错风险大。
4. 熟悉存储过程的开发人员数量比熟悉高级开发语言的少,导致人手不足、开发进度缓慢。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

存储过程拆分的高阶技巧 本文介绍了存储过程拆分的高阶技巧,旨在帮助读者应对存储过程剥离过程中的挑战。作者分享了两种拆分手法:新增历史表和套壳法,以及两种适用于写数据场景的技巧:用异步任务代替修改操作和用临时表简化创建操作。通过实战模拟案例和详细步骤,读者可以学习如何实施这些技巧,解决存储过程拆分中的挑战。这些技巧不仅能帮助技术人员应对遗留系统现代化改造中的挑战,还能降低维护成本,优化性能,简化重写逻辑的工作量,具有一定的参考价值。 在文章中,作者提到了四个“锦囊”:新增历史表、套壳法、用异步任务代替修改操作,以及用临时表简化创建操作。这些技巧可以帮助读者应对存储过程的拆分问题,提高工作效率。此外,文章还提出了一个讨论题,探讨了套壳法在存储过程调用链路较深时可能面临的问题,并邀请读者分享解决方案。 总的来说,本文通过分享实用的技巧和案例,为读者提供了解决存储过程拆分挑战的思路和方法。这些技巧不仅有助于简化问题,还能为现代化改造提供有力支持,对于需要进行存储过程剥离的技术人员具有重要的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《遗留系统现代化实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • aoe
    还好,面试的时候不问存储过程,工作中大家也不写存储过程。庆幸没遇到有很多存储过程的系统
    2022-06-23
    2
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部