今天地铁上看到这个推文,这个话题很有意思,各路大神似乎都在积极回应,但都遮遮掩掩没有定论,也许这就是一个没有定论的问题。
争议 | 银行一定要上分布式数据库吗?有没有其他技术路线满足需求?mp.weixin.qq.com
其实银行要不要上分布式数据,这个问题从三个层面看,一个是银行的体量和在行业的地位,一个是组织中决策层的态度,最终才是技术路线的问题。
银行的体量和在行业的地位
我们国家大大小小银行几百家,有国字辈、股份制、城商行、农商行、民营银行。
国字辈和股份制算第一梯队,这个梯队的体量无疑是巨大的,在金融脱媒和各个互联网公司以及近些年金融科技的大潮的刺激和推动下,都在积极求变,确实从交易并发量、场景以及信用背书的方面需求上决定了他们所走的科技路线一定是紧跟BAT的,所以上云、上分布式等技术创新他们一定是领头羊,也走在其他银行的前面。
城市商业银行、农商行算第二梯队,这个梯队里面又分为领头羊梯队(可以百度搜索城商行领头羊),沿海梯队和内地梯队。
领头羊梯队中的姣姣者资产规模赶超股份制,这个梯队中有在科技演进上非常激进的,也有一开始从换核心开始吃到科技引领的甜头在配合着好的业务转型和场景名气规模都比较大的,他们的技术路线也是相反设法的跟BAT要搭上边,当然主要是运用BAT在技术方面的经验。
沿海梯队,主要是在业务场景和业务转型的压力下,通过技术革新满足客户体验上的要求,当然也有部分银行线上业务做的好的,确实有交易并发量上的需求,所以从技术创新上,这个梯队做了一些,当然也不排除行里面对科技很支持,由挖到了一些业界大牛,整个科技体系从演进上来说偏激进,在不断的尝试。
最后是内地梯队,内地梯队其实从整个行业体量来说应该都是偏下的水平,地处内地或者边陲,体量不超过3000亿,这个梯队从业务量上来说基本上没有要用到分布式的要求,tps最高能到1500也就差不多了。这个梯队近几年面临的技术问题主要是原来核心系统老化,原来的核心大多是2000年左右的产物,能撑到现在其实并不是什么奇迹,而是一个是交易量本身不大,另外一个是业务变革基本没有。但核心系统确实无法在支持现在的业务场景和会计核算的要求,因此近些年都在忙换核心,换核心外围的配套各种系统就顺便跟着换掉。在换心这个过程里面就会无休止的在交流各种分布式好还是集中式好,真双活还是假双活等问题。但内地梯队面临最大得问题并不在科技上,而是在组织和业务基础上,更大的问题是试错成本上。可以做内部梯队没有试错成本,他们的要求基本上就是只许成功不许失败,所有在做技术选择的时候有远见一点的科技领导会提出核心走集中式,互联网相关尝试分布式的双态模式,一些为了换而换的地方么就只能是怎么安全怎了来了。所有从整个技术演进上来说是比较矛盾的,有接受新思想的,也有保守的,但保守居多。
民营银行,基本上都有大的互联网企业做股东,科技的先进性就成为他们一大卖点,这个也无可厚非。
2、组织中决策层的态度
在银行科技的演进过程中草根的力量基本可以忽视,一个银行技术演进的态度其实跟高层组织的态度密切相关。比如最近业界公认科技转型大牛中原银行,从董事长到行长都有很强烈的科技转型变革意识。高层的推动和对科技的态度决定了银行科技部在科技变更中的积极程度。当然科技牵头中层领导人也能做一些努力,但是跟高层态度相比就微乎其微了。
3、技术路线的问题
原文里面也说了CAP问题,C10K问题,包括二阶段提交和阿里提出的柔性事务处理TCC三阶段提交,乐观锁等问题。
作为一个技术出生的人,我个人是非常欢迎和喜欢新技术给这个行业带来的各种前作未有的机遇和挑战。但冷静客观的看待这个问题,银行不能跟互联网电商相提并论,银行代表的是政府信用背书,银行的试错只能是在上线前,不能出现在上线后。最近出现的个别银行挤兑问题如果是技术原因导致,则后果将是灾难性的。因此银行从理论上来说在客户账务处理方面不存在上线试错成本(bug除外)。因此对于涉及客户资金安全的部分必须要保证强一致性。我研究过部分公司提供给银行号称是分布式商用核心系统,其在账务一致性处理上,要么采用了乐观锁,要么采用了事务所,要么采用了中间件锁,均未采用分布式数据库的相关机制,所以涉及核心账务的数据,不论采用什么部署什么样的数据库对目前银行来说只有选择保证一致性一条路。
银行信息技术其实就是一个很大的山寨生态,除了保证核心账务数据一致以外,我个人觉得,其他的先进技术,对于中小银行来说,主要管理层支持,都可以进行积极的尝试。毕竟在业务同质化如此高的行业,提出一些技术亮点对提高银行的知名度和声誉是有必要的。而且山寨生态比拼的就是速度,如果有领先记得技术架构能支持业务快速山寨的能力,也能为银行抢占客户资源。
最后,作为银行科技从业人员,我觉得不论你所处的环境如何,一定要敢想,一定要好学,在条件允许的情况下,多尝试。线下的试错不犯法(当然,你的领导要认可,^_^)。要有颗接受新技术的心,如果连亮剑的都不敢,也就只能嘴上吹吹了。