【IT老齐023】阿里开发规范解读,存储过程:阿里我tmd谢谢你啊!

166 阅读2分钟

配合视频效果更佳:www.itlaoqi.com/chapter.htm…

本文内容

image.png1. 为什么银行都在用存储过程
2.存储过程为什么成为互联网弃子

来自某乎的阿里大佬评论

我这里举个例真实例子,那时我还在阿里当DBA,某日下午帐务团队发版,要更新一个帐务库里面某个存过,存过的sql写得有问题,更新后,卧槽,load瞬间就起来了,马上找到上一版存过代码覆盖回去,卧槽,更新失败,因为一堆会话都在执行这个存过,杀会话,不行,新的请求进来,触发新建会话,杀不完,关监听杀会话,帐务就不能连db,赶紧回滚存过,开监听,请求浪涌般进来,又是一轮load飘升,幸好db顶住了,不至于全库故障,后续就是一堆差错处理的数据订正,再后来账务团队主动把这个存过下掉,改用iava实现其逻辑,从此再无业务存过在数据库中了。

金融业常见的业务系统ETL过程

image.png

为什么存储过程会成为金融业常见内容

  • 银行业务以数据为核心
  • Oracle、DB2一统江湖,存储过程与语言无关
  • 预算充足,好多个W采购小型机满足性能要求
  • 存储过程几乎是每一个信息科技处开发员工的入职要求

为什么互联网不欢迎存储过程

国家要求与信息安全

image.png

银行被Oracle、DB2绑架数据好迁移,存储过程要全部重写,谁来/谁敢承担核心业务的风险呢?

存储过程在互联网分布式场景的问题

无法有效处理数据分片情况
image.png
无法保证分布式全局事务

image.png

存储过程难以调试,没有内置的版本管理方案
image.png

业务执行碎片化
image.png