shakoon
2020-06-12 13:09:57 +08:00
银行不是现在才开始在 oracle 和 mysql 二选一,银行从八十年代起已经用了几十年 oracle,mysql 是九十年代末才诞生的。大型商业数据库也不是只有 oracle,db2 、ms sql sever 、sybase,甚至 informix,目前在银行业也有大量的用户,还有一些数仓级的数据库暂不提。在二三十年前(国内大部分银行开始信息化时),银行对数据库选型是很“玄学”的,因为大家都没有经验。尽管些产品在国外各自都有一定的市场,但他们自己号称自己的特点,对当时国内银行用户也不太摸得着头脑。当时的数据库之间的区别,是比 fortran 、cobol 、c 等语言之间的区别小得多的。大家都还没有足够能力能理解这些其区别,更没有能力可以评估自己的业务特点所适应的产品。基本上可以说,那个年代银行的决定很大程度上取决于数据库销售人员的能力,或者双方领导的交情。
时至今日,事情就非常简单了。对于一个高可用高于一切的银行系统,如非政治因素(有关部委几年前发文要求逐步减少对国外技术和产品的依赖,即所谓去 IOE 化),没有任何理由改用 mysql 。注意我说的是改用。无论是单纯的换数据库,还是新建一个用 mysql 的系统将旧系统替换,不光是数据迁移(这反而是最简单的)和开发,都意味着整个系统需要重新做一套完整的测试。在其所带来的收益和所耗费资源、所带来的风险之面前,稍微有点脑子的领导都不会同意。
最近这些年 mysql 靠着互联网确实发展了很多,但是在商业数据库成熟的售后维护体系下,其竞争力依然非常弱。据我了解,全国资产在 4000 亿规模以上的银行(接近 50 家)的核心系统,只有中信银行核心系统是用了 mysql 技术,刚刚上线一个月,使用效果还有待观察(足够他们吹上很长时间了)。据说和第三方一起开发了了几年,从去年起就并行运行了很久,现在才敢切换的。以我的行业经验,这个先锋工程所投入的资金可以肯定是在 9 位数以上。注意中信用的也并不是 mysql (可以肯定不会有任何大中型银行的核心会用直接用 mysql 的,即便小银行从成本方面考虑,也不太可能),是基于国产第三方的 mysql 的魔改产品。原因上面楼层已经有人说过了,需要极强的售后服务,银行是不可能像互联网公司自己招一大批人来自己钻研 mysql 的,即便现在大家都独立出来成立金融科技公司。mysql 即便已经被 oracle 收购好些年了,这方面还是非常薄弱的。中短期内(二十年),银行会有越来越多的外围系统会使用 mysql 技术,但是依然不会成为主流。与之类似,能源业、医疗业、gov 等商业用户,mysql 想要成为主流,也还为时尚早。