2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

汇丰银行将 65 套关系数据库迁移到 MongoDB

  • 2020-06-17
  • 本文字数:1917 字

    阅读完需:约 6 分钟

汇丰银行将65套关系数据库迁移到 MongoDB

近日,汇丰银行数据设计师 Narasimha Reddy 在 MongoDB.Live 上发表演讲称,汇丰银行已经将 65 套关系型数据库成功迁移到 MongoDB 全球统一实例中。


据了解,汇丰银行业务遍及 60 多个国家,为全球 4000 万客户提供服务。随着业务规模的不断扩大,运营的复杂性也随之大大提高,导致应用程序与数据模型的交付变得愈发艰难。通过此次调整,汇丰方面能够在各个国家维持不同的应用场景需求,而又不再需要依赖于对应的特定国家 / 地区数据库。他们创建的这套全新数据模型不仅能够帮助汇丰节约成本与资源,同时也让他们能够更自由、更灵活地推进模型设计。


Reddy 在演讲中展示了以下示意图,并解释汇丰此前如何为全球应用程序创建起一套复杂的全局数据模型。这套模型会在软件开发周期的各个环节当中建立起对应的高成本模型,导致变更灵活性大大降低,最终令业务运营成本持续增长。他指出:


目前,全球实体普遍在世界范围内的大多数国家 / 地区都运营着相同的应用程序。但需要强调的是,不同国家 / 地区所运行的具体应用程序版本必然有所区别。各个国家有着自己的特殊情况,旨在遵循>本地或者区域内的运营、功能以及法规需求。

换言之,我们无法单纯利用关系数据库维护起统一的应用程序版本与数据模型。

因此,我们只能面对一套又一套既相同又有所区别的代码库。众所周知,数据模型已经成为驱动大多数系统设计的关键所在。在使用关系数据库时,我们只能针对不同国家 / 地区建立起不同的数据模型,这彻底破坏了维持统一应用程序版本的可能性。



汇丰银行原有全球数据模型示意图

汇丰银行全球数据模型

汇丰银行一直在努力建立一套全球数据模型,并借此支撑起一套全球数据库,最终逐步实现真正的“全球统一应用程序”版本。据了解,这次转型给汇丰带来的收益包括降低成本、增强灵活性,同时也让汇丰银行获得轻松运行全球分析与报告的能力(各个国家 / 地区将对应统一的数据模型)。


如上图所示,之前汇丰银行就已经建立起一套核心应用程序环境,其中包括了应用场景所必需的大部分核心功能。但由于数据模型与数据库间存在差异,他们无法在所有国家 / 地区运行同一套统一的应用环境。


因此,汇丰银行需要在这套核心环境之上再分别面向各个国家 / 地区建立多个对应的独立环境,才能满足这些区域提出的特定应用需求。当来自不同国家 / 地区的用户访问应用程序时,实际指向的都是属于自己的独特路径。以此为基础,特定国家的程序环境及核心程序环境将共同接入与该国家对应的数据库,进而完成应用程序处理。


更具体地讲,不同国家 / 地区都拥有自己的函数、字段、业务逻辑接口、数据规则、数据生命周期以及数据访问控制方案。因此,如果需要对数据模型进行调整,则当前程序环境将无法与变更后的数据模型相兼容——这就迫使 IT 部门重建新的程序环境。


汇丰银行的大部分应用程序已经在 iSeries、大型机系统以及 DB2 上运行了数十年之久。Reddy 表示:


受到以上因素的综合影响,我们发现真的很难面向多个国家 / 地区以单实例加单数据库的形式进行应用程序设计。这样一套传统模型还带来了其他影响。我们需要开发并应用另外一套数据模型加数据库组合,用于运行数据分析并对全局数据进行报告。这肯定会带来额外的资源开销,对应的成本也会以不同方式渗透到整个业务体系当中。


好消息是,汇丰银行现在迎来了新的整体架构,他们终于能够在全球范围内的各国市场上使用相同的应用程序,并借此降低资源的整体使用量。如今,汇丰银行在所有国家 / 地区建立起统一的服务环境、数据库与执行路径。在 MongoDB 文档模型与子文档功能的支持下,各个国家 / 地区对应的所有不同表都能够映射至同一套数据集合当中。换言之,只要使用特定于各个国家 / 地区的标识符,全部数据内容都可简化为统一的集合形式。



汇丰银行新数据模型示意图


Reddy 进一步解释道:


应用程序当中将内置有面向各个国家 / 地区本地要求的机制,意味着汇丰银行不再需要维护单独的数据模型或者数据库。我们可以使用 MongoDB JSON schema 模式轻松设计出全局数据模型与数据库。由于来自所有运营国市场的数据都被整合进同一套数据库内,我们的应用程序也终于能够立足单一数据库实现运行,这大大降低了资源与维护成本。


此次转型的另一大收益,在于汇丰可以使用同一套数据库进行全局数据分析与报告。无需进行任何数据模型或数据库转换,我们就可以直接运行指向特定数据内容的分析与报告任务。这一切,又进一步帮助汇丰节约了宝贵的资源与成本。


在使用 MongoDB 之后,我意识到对于这样一套无 schema、且查询与索引功能都极为强大的数据库来说,我们能够真正以数据——而非数据库——作为模型设计的基本出发点。


原文链接:


https://diginomica.com/hsbc-moves-65-relational-databases-one-global-mongodb-database


2020-06-17 16:104312

评论 3 条评论

发布
用户头像
搞业务的2,没想到搞技术的也够
2020-06-19 10:48
回复
用户头像
哈哈, 确实钱可以取走了..
2020-06-18 20:07
回复
用户头像
暂时先把钱从汇丰取出来吧,看看再说
2020-06-17 17:27
回复
没有更多了
发现更多内容

告别“自建房”,华为云ECS为企业提供更优选

科技说

安全、高效、便捷,华为云CDN助力企业体验升级!

i生活i科技

CDN

CSDN 2022年度榜单揭晓,华为端云协同智能流程机器人斩获大奖

极客天地

2023-01-12:一个n*n的二维数组中,只有0和1两种值, 当你决定在某个位置操作一次, 那么该位置的行和列整体都会变成1,不管之前是什么状态。 返回让所有值全变成1,最少的操作次数。 1 <

福大大架构师每日一题

算法 rust Solidity 福大大

扩展接口SmartInstantiationAwareBeanPostProcessor解析

石臻臻的杂货铺

接口

华为云OBS对象存储,企业存储的好帮手

科技说

【深入浅出Seata原理及实战】「入门基础专题」带你透析认识Seata分布式事务服务的原理和流程(1)

码界西柚

分布式事务 seata Alibaba SpringCloud Alibaba Seata框架

本地数据怎么备份上云?华为云对象存储服务OBS帮你实现

科技说

看不见的控制流 — Rust 异步取消问题的几点思考

Greptime 格睿科技

数据库 rust 异步编程 tokio

数据上云难?华为云对象存储服务OBS给企业最便捷体验

路过的憨憨

嗨 Jina,帮我画一幅高山流水图

Jina AI

图像生成 Diffusion

华为云数据库,安全、专业,值得信赖

与时俱进的时代

华为云云原生数据库,激发数据活力

与时俱进的时代

华为云OBS助力企业解决数据存储难题

科技说

企业优秀网络环境,为何离不开华为云CDN全站加速服务?

科技怪授

CDN

企业如何轻松上云?华为云弹性云服务器ECS给出答案

IT科技苏辞

华为云CDN引领网站性能优化,助力企业更好发展

科技怪授

CDN

华为云CDN全站加速助力网站性能全面优化

i生活i科技

CDN

瑞萨E1/E20烧录工具自检方法

不脱发的程序猿

嵌入式 汽车电子 MCU 瑞萨 RH850

华为云数字化解决方案激活企业市场空间,为企业稳健发展再加码!

IT科技苏辞

华为云桌面Workspace荣获CSDN年度创新产品与解决方案大奖

极客天地

架构实战营 模块四作业

白杨

Atlassian FaaS 云开发平台 Forge 解析

跟YY哥学Jira

Jira Atlassian 云版 app development Forge

Jira + GitLab 实践 DevOps

跟YY哥学Jira

DevOps gitlab jenkins Jira

解决企业数据存储难题:华为云OBS,企业“上云”的不二之选

路过的憨憨

华为云ECS,专为您打造安全、灵活、高效的应用环境

与时俱进的时代

华为云CDN为企业下载加速,极大提升客户体验

i生活i科技

CDN

Python数据可视化:数据分布图表可视化

不脱发的程序猿

Python 数据可视化 大数据分析

聊一聊华为云弹性公网IP的那些事儿

路过的憨憨

华为云数据库GaussDB(for Redis),如何为人们日常生活保驾护航

科技怪授

数据库

dcm4che 依赖下载异常

JefferLiu

汇丰银行将65套关系数据库迁移到 MongoDB_数据库_Derek du Preez_InfoQ精选文章