从“申请信用卡”,帮你向爸妈解释分布式数据库到底是什么

数据库是什么?对于普通人来说,日常生活中可能根本不会接触到,作为数据库从业者说起来也挠头。举个例子,我们打开水龙头就有水,按开开关就有电,很少会追溯源头问水是从哪里来,电从哪里来。今天,我们就来讲一讲你身边的Greenplum。

当我们用手机银行查看收支记录,打开社交应用查看新增消息,数据库就像是我们看不见的水管和电线,在我们一打开各种应用的瞬间,就准备好相应的数据和信息

我们身边各行各业用到Greenplum的案例有很多,其中一个应用和我们日常消费息息相关——信用卡申请。不知道大家有没有经历早期信用卡申请?从提交到出卡起码要等上一到两个月。但是现在不少银行能够“秒批”,用户提交申请之后可以立刻查到进度,一周之内就能拿到卡。这种体验的极大提升就少不了数据库在后台发挥的作用。

信用卡是银行或信用卡公司发放给信用合格的消费者的信用证明。为了保证消费者信得过,到了时间有能力还款,银行就需要根据申请人的个人信息、交易记录、职业特性、已有资产等等不同维度进行判断。这些数据来自于用户提交、其他银行检索、其他的征信渠道,还要对这些数据进行交叉比对,校验数据真伪,避免诈骗。在人工审核的年代,申请人提交纸质申请,银行将这些纸质表邮寄发回信用卡审核中心,审核员一项项校验核查所有材料,还要交叉检索以核实数据真伪,比如一个在二线城市工作的30岁已成家的白领,他的收入和一年的交易记录是否匹配,其职业信息是否属实,公司运营情况是否稳定等。普通人看着一行行银行收支记录尚且头大,要人工核查这么多的信息,还有等数据之间的往返,就耗掉了大部分的时间。

提速的关键,一方面在于走向数字化、无纸化。纸质申请被线上申请替代,信息一提交就能快速录入,生成申请记录。紧接着,机审加人工复审替代纯人工审核。系统能够快速检索银行自身的业务数据库以及其他渠道的数据来源,快速匹配基本要求给出得分,假如申请人能够满足所有要求,就能立刻批准,实现秒批。大部分情况下,银行还是会进行第二轮的人工复审,保证信息得到全面核查,降低逾期风险。

另一方面,银行完善自身的信用数据库以及业务数据库,而且行业通用的数据库得到发展,比如全国个人征信系统以及银联授信风险共享系统等,实现用户信用数据互通。2000年左右,我国央行就牵头建设全国性的个人征信系统,把和个人相关的信息录入到统一的数据库里,这样所有国内商业银行可以接入查询个人的信用信息。

数据连通固然是好事,相当于你人在全国任一省市,都可以办理相应的银行业务,而不用回到原籍地的特定银行才能办理。但是也有种种要解决的技术问题,想象这个征信数据系统像一个巨大的仓库,里面存储的各种个人信息就像是一份份包含个人信息的文件, 当银行想要提取个人信息时,就会遇到如下几个挑战:

  • 业务繁忙时,同时有几百个人同时来提取数据,仓库要如何应答?
  • 假如有几个人同时存或者取同一份记录,仓库要怎么解决?
  • 仓库每日不断有新增数据,要是哪一天装不下了怎么办?

类似Greenplum的分布式数据库就能解决上述面临的问题,也是银行背后快速查询信息、快速得出分析结果的核心技术。分布式数据库是在传统集中型数据库的基础上发展出来的,两者之间的进化可以理解为:以前,所有数据都放在同一个巨大的仓库里,随着数据增加,可用空间越来越小,运营成本越来越高,查找文件的时间越来越久。当数据量达到一定临界值,现有的硬件平台无法承载更多的数据。分布式数据库就是不需要大仓库了,而是建一套小仓库,这些小仓库可以分布在不同地方,但是都由一个系统来管理。管理员可以通过系统在各个小仓库中分别查找到对应的数据。

每天,仓库会接受来自全国各地的查询,2018年我国征信系统已经为9.7亿自然人建立统一的信用档案,日均个人信用报告查询477万余次。想象每天有几百万进出,有的要取,有的要存,稍不留神就有可能“大塞车”。Greenplum是基于大规模并行处理结构(MPP),总部会把这些查询分配到不同的小仓库中同时进行处理。由于每个小仓库有自己的存储空间、计算调度能力。使用者可以根据需要合理配置仓库集群规模,对比单机系统,MPP集群的架构可以驾驭更多的存储和计算能力,理论上有着无限的扩展能力。因此再多的数据量,再大的访问需求都能够游刃有余

此外,当同时有好几个人来存取同一份记录时,Greenplum提供完善的事务支持,通过多版本并发控制和细粒度锁管理,使得多人同时访问、更新操作成为可能。当有人来读取记录时,系统会让他看当前版本的记录;假如同时是有人来修改记录,那系统就会让写的人看一个复印的版本,这样读写两不误,能够降低等待的时间,同时有保证永远读到有效的正确数据,写操作的数据的一致性不被破坏。

随着数据量的增加,仓库就面临空间不足的问题。相比于以往要重新建一个超大型仓库——不仅占地耗资源、成本高昂,而且缺乏灵活性,Greenplum的解决方法是采用一种灵活的“加盟”方式。这些仓库有各自独立的管理系统,独立的存储空间,仓库之间是由网络连接实现的。所以,当空间不足时,只需要新建小仓库就好了,这些小仓库更加廉价灵活,可以满足更严苛的应用场景,带来成本、效益、风控全方面的优势。这就好比是按照特许经营加盟,店与店之前独立运营,但是又由统一的品牌和网络联系在一起。对于银行来说,这样的结构降低了维护数据库的成本,随着业务量加大,能够轻松扩展节点提升整个系统的存储和计算能力。

Greenplum作为全世界第一个开源分布式数据库,帮助中国多家商业银行加快业务处理,为客户提供更好的体验!作为一个主要面向企业的产品,Greenplum在技术上的努力和提升最终是为了服务真实的生活和工作场景,服务实实在在的每一个用户。

参考文章:

https://wiki.mbalib.com/wiki/%E4%BF%A1%E7%94%A8%E5%8D%A1

https://zhuanlan.zhihu.com/p/42800213

http://www.xinhuanet.com/fortune/2018-10/23/c_129977374.htm

2015中国金融发展报告:社会信用体系建设的理论、探索与实践

关于作者

Joy Chen,Greenplum产品设计师,主要负责Command Center的设计工作。


关注微信公众号

VMware 中国研发中心