导语:
与互联网行业广泛使用开源的MySQL数据库不同,银行对可用性、安全性的要求更高,任何创新、业务都必须以此为前提。同时手机银行、网上银行等业务也具备客户量、交易量大,交易峰值特别高(例如大促)的特点,而且银行业务绝大多数情况下要满足ACID要求,不能出现数据幻象,这些都对数据库选择、架构、性能、运维带来极大挑战。那么,银行到底都在使用哪些数据库?今天本文就将为你一一揭秘,供选型参考。
本篇为《行业数据库应用与创新大调查》第二期银行篇,一期为互联网篇,采访知名互联网企业11家,包括蚂蚁金服,腾讯、百度外卖,京东、去哪儿,魅族,新浪网,新浪微博、58到家、美团外卖、本来生活网。
如果你想了解互联网行业在使用哪些数据库,请阅读第一期(点击传送门:上、下)
本期内容,老鱼在采访中尽可能去涵盖更多不同类型的银行,以供大家参考。采访银行既有四大行的中国银行、中国工商银行,也有股份制银行的招行银行、浦发银行,还有城商行江苏银行。
文 | 老鱼
大数据已经成为国家战略,而大数据首先所面临的问题就是大数据的存储问题,这就绕不开数据库,因为数据库就是用来存储数据的应用软件。任何数据库,都有其优缺点, 无论是传统关系型数据库还是 NoSQL 数据库又或者 NewSQL 数据库。因此,到底选择哪个数据库,对企业而言这个决策过程都非常复杂。
与互联网行业广泛使用开源的 MySQL 数据库不同,银行对可用性、安全性的要求更高,任何创新、业务都必须以此为前提,同时手机银行、网上银行等业务也具备客户量、交易量大,交易峰值特别高 (例如大促) 的特点,而且银行业务绝大多数情况下要满足 ACID 要求,不能出现数据幻象,这些都对数据库选择、架构、性能、运维带来很大挑战。那么,银行到底都在使用哪些数据库? 今天本文就将为你一一揭秘,供选型参考。
本期内容,笔者在采访中尽可能去涵盖更多不同类型的银行,以供大家参考。采访银行既有四大行的中国银行、中国工商银行,也有股份制银行的招行银行、浦发银行,还有城商行江苏银行。
(特别说明:部分受访者所属部门局限,因此,以下所列企业业务线对应数据库并不全面,仅列出主要应用数据库,供参考。)
中国工商银行
中国工商银行 (简称:工商银行) 是四大银行之一,拥有中国最大的客户群,2016 年末,公司客户 578.4 万户,个人客户 5.30 亿户,连续第 4 年蝉联《银行家》全球 1000 家大银行、美国《福布斯》全球企业 2000 强和美国《财富》“500 强商业银行子榜单”3 个权威排行榜的榜首。
采访对象:吴辉,工商银行数据中心平台数据库负责人,负责开放平台 10 多种、数千套各类数据库的日常维护,职责主要包括各类数据库的架构部署、系统上线、高可用建设、故障诊断、升级退库等全生命周期的管理操作。
工商银行基于商用数据库自主建设了银行全线应用系统,涵盖个人、对公、信用卡等多条业务线,数百个应用系统。
使用的数据库类型较多,既有传统的商用数据库,包括 DB2、Oracle 、SQL Server 等,又有开源数据库如 MySQL 等; 既有关系型数据库,又有非结构化的比如 Hadoop、Spark 平台,还有基于 Redis 的分布式缓存平台用于关系型数据库补充。
工商银行核心业务系统多跑在 DB2、Oracle 之上。在开源 MySQL 应用方面,工商银行重点推进在人工智能、物联网等创新领域广泛使用,并匹配银行特点在架构部署、参数调优等方面进行多项创新,成为后续 OLTP 关系型数据库转型的重点方向, 目前已上线数百套系统。
工商银行很早就开始了企业级数据仓库的建设,最早基于 Teradata 产品构造了企业级数据仓库体系,实现对数百个应用进行数据加工、汇总,给下游提供数据。
基于 Hadoop、 spark 等开源大数据库产品,工商银行自主构造了应对非结构化数据的大数据平台,目前节点超过 700 个 ,数据量达到 6PB 上,为网银、融 e 联等 40 多个应用提供数据支撑。
中国银行
中国银行是 1912 年 2 月 5 日正式成立,是中国唯一持续经营超过百年的银行,也是中国四大银行之一。2016 年,获《银行家》“全球银行品牌 500 强排行榜” 排名第六位,世界 500 强排行榜名列第三十五名。
采访对象:张海滨,中国银行数据中心数据库运维团队高级经理。工作包括:数据库日常巡检、问题解决、常规保障及重点时段、重要项目保障、外部服务厂商管理等,开展数据安全保障,架构设计及调整、性能优化、重点难点问题解决等内容,还包括新技术引入、创新、人才培养等。
中国银行在数据库的选择上更为多元化,既有商用数据库 Oracle 、DB2、SQL Server,也有开源数据库 MySQL、MongoDB、Hbase,还有国产数据库浪潮 K-DB。
其中,DB2 主要用在主机 (MainFrame) 上,在银行核心系统上使用。
开放平台 (UNIX) 平台主要是 Oracle 数据库,涉及大量外围系统,包括关键渠道系统、总线系统、报表处理系统和账务系统,等。
在 Win 平台上的应用,主要是分行前端相关的系统,主要使用 SQL Server。在 x86 平台的应用,数据库种类就比较多,有 Oracle、MySQL,也有 MongoDB,Hbase 等数据库。
中国银行在应用上也有颇多创新,主要体现以下几个方面,在自动化方面,有数据库的自动化安装、配置,自动化健康检查,搭建数据库问题排查平台,还包括性能数据仓库及数据挖掘等。搭建主库和备用库环境,优化数据结构和应用架构。结合 ADG 技术,实现数据高可用保障,部分应用系统实现读写分离,优化应用功能实现,提升数据库服务效率。结合存储设备数据复制技术,提供部分系统的 T+1 数据查询功能。
招商银行
招商银行是中国第一家完全由企业法人持股的股份制商业银行,成于 1987 年 4 月 8 日,由香港招商局集团有限公司创办,是中国内地规模第六大的银行、香港中资金融股的八行五保之一。
采访对象:田永江,招商银行数据中心数据库及应用管理室经理。负责数据库及应用的规划建设与日常运维管理。
招商银行数据库类型也比较多,而用得最多的是 Oracle、DB2、MySQL,分别用在重要业务系统或高复杂度业务系统,以及普通系统。
田永江说:“金融科技的创新发展很快,为业务保驾护航,甚至技术促进、引领业务发展,是我们不断地追求,需要我们更多地了解和掌握行业发展动向,做好技术引进和消化方面的工作。”
或许出于涉密原因,他并没有谈到招行具体创新,但他也指出,无论哪种数据库,只要有可用性、性能容量的要求,都进行分库分表、读写分离、多活等架构规划和设计,并两地部署,结合容灾和一键切换,形成高可用、多中心部署、可横向扩展的架构。
浦发银行
上海浦东发展银行 (简称:浦发银行) 是 1992 年 8 月 28 日批准设立、1993 年 1 月 9 日开业、1999 年在上海证券交易所挂牌上市的国有控股全国性股份制商业银行,总行设在上海。2016 年 8 月,上海浦东发展银行在 "2016 中国企业 500 强" 中排名第 49 位。
采访对象:杨欣捷,浦发银行信息科技部架构处数据库架构师,负责数据库架构管理、设计。
浦发银行在数据库的选择上更为多元化,既有商用数据库 Oracle、DB2、Informix、SQLserver、Sybase,也有数据仓库和 OLAP 类:Teradata、GreenPlum。还有开源数据库 MySQL,Redis,Hbase。
其中,Oracle 在浦发银行主要应用于信用卡业务,浦发银行目前已经全面拥抱 12c 的多租户体系,正在全面推进 DBaaS。未来所有数据库部署在少数几个集群 (数据库资源池) 上。目标实现动态伸缩、快速部署、自服务。DB2 则在全面拥抱 Purescale 架构。
而 Informix 、Sybase 正在逐渐退出。MySQL 正在一些外围和渠道系统上逐步试点和推广。在大数据平台上也有使用 Hbase。
江苏银行
江苏银行是在江苏省内无锡、苏州、南通等 10 家城市商业银行基础上,合并重组而成的现代股份制商业银行, 2007 年 1 月 24 日正式挂牌开业,是江苏省唯一一家省属地方法人银行。截至 2016 年末,资产总额达 15983 亿元,各项存款总额达 9074 亿元,各项贷款总额达 6494 亿元。
采访对象:朱滔,江苏银行信息科技部系统管理团队负责人,负责总行生产及同城容灾中心内部硬件及数据库,中间件等软件的管理和维护工作。
江苏银行在用数据库类型也很多,主要有 Oracle,也有新兴的开源和分布式数据库。目前 MySQL、Gbase、MongoDB、Redis、Hbase、GoldenDB、TDH 在江苏银行都有小规模使用。
其中,Oracle 数据库在江苏银行主要用于传统 OLTP 环境应用,对于传统 Oracle 数据库,江苏银行改变了传统的一个应用一套数据库的模式,对数据库进行了大量的整合,最近三年新上的 Oracle 数据库更是全部运行在 PC 服务器 RAC 集群上 ,每套 RAC 均承载多套应用。并且持续迁移老的单机版本数据库到集群环境,单机数据库的数量持续降低。
与其他银行不同的是,江苏银行在使用的数据库中,我们看到更多了国产数据库的身影,其中 Gbase 数据库为南大通用的国产列式分布式数据库,据了解,主要用于江苏银行的部分分析类系统; GoldenDB 为中兴通讯的分布式关系型数据库,目前用于江苏银行的部分后台系统。上海星环的 TDH,在江苏银行已广泛应用在数据集市、客户标签、流计算等多方面。
小结
实际上在长达 3 个月的选题采访过程中,我们采访的银行及行业人士远不止于此。总的来说,银行在数据库上的选择上普遍都比较多元化,一般在重要业务系统或高复杂度业务系统多以 Oracle、DB2 等传统商业数据库为主,普通系统也会选择 MySQL 等开源数据库和国产数据库产品。
调查发现,过去在银行业占有绝对优势地位的 IBM DB2 日子并不那么好过,开放平台 DB2 略好,但大机 DB2 受去 IOE 影响较大,加之 IBM 对于 DB2 没有太多作为的市场策略,虽然 DB2 产品很优秀,但依然抵挡不住市场份额的萎缩,有从第一梯队向第二梯队滑落趋势。甲骨文 CEO 马克 - 赫德不久前提到,“如果迁移数据库这么容易,DB2 的市场份额可能就变成零了。” 虽然这话是在怂对亚马逊时所说,但言语中不无对 DB2 日趋边缘化地位的嘲讽。
因此,如果 IBM 对于 DB2 没有更多的新举措,被淘汰恐怕就将会是早晚的事,但短时间 DB2 市场地位不会有太大变化。另外,有个因素也不容忽视,银行引入 DB2 不排除还有出于商务制衡的考虑。
而 Sybase 在被 SAP 收购之后,就被其雪藏,市场上鲜有声音,从调查看,境况不佳,采访中唯一一家在用的银行也有计划将其淘汰。
值得注意的是,我们发现在银行业内出现了不少国产数据库的身影, 如南大通用、浪潮、星环、中兴。虽然其产品并非应用于银行核心系统,但至少这是一个好的开始,意味着国产数据库在可用性和安全性上取得了长足进步,实现了在银行业 0 的突破。至于未来国产数据库能否更进一步,我们拭目以待。