速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

汇丰银行将 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:104198

评论 3 条评论

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

《中国民用航空业零代码应用与推广白皮书》正式发布

明道云

AITO问界,先经沧海而后造船

脑极体

智能汽车

HTTP接口性能压力测试

javalover123

性能测试 压测 API 压力测试 HTTP API

Python爬虫超详细讲解(零基础入门,老年人都看的懂)

Java随想录

Java Python

如何理解小程序插件?微信及支付宝官方详解

没有用户名丶

Unity 发布《2023 移动游戏增长与变现报告》,聚焦游戏行业高效增长策略

Geek_2d6073

[Huggingface]系列文章(1)-认识Transformers

alexgaoyh

文本分类 文本生成 huggingface sentiment-analysis text-generation

前、后端通用的可视化逻辑编排

悠闲的水

低代码 逻辑编排 低代码平台 可视化编排 可视化开发

英特尔x MAXHUB:以创新解决方案掀起“智能协作”新浪潮

E科讯

阿里商旅账单系统架构设计实践

阿里技术

账单 阿里商旅 账单系统 账单数据

新兴技术对中药学的革命|社区征文

爱技术的药学生

AI AIGC 年中技术盘点

AI绘图:艺术与科技的交融 | 社区征文

IT蜗壳-Tango

年中技术盘点

第四届“先导杯”全国挑战赛正式开赛 百万奖金等你来拿

科技热闻

【Linux系统】fdisk相关分区命令。

百度搜索:蓝易云

云计算 Linux 运维 服务器 fdisk

2023-07-20:假设一共有M个车库,编号1~M,时间点从早到晚是从1~T, 一共有N个记录,每一条记录如下{a, b, c}, 表示一辆车在b时间点进入a车库,在c时间点从a车库出去, 一共有K

福大大架构师每日一题

福大大架构师每日一题

Spring高手之路1——深入理解与实现IOC依赖查找与依赖注入

砖业洋__

ioc 依赖注入 spring框架 依赖查找 IOC面试题

Spring高手之路2——深入理解注解驱动配置与XML配置的融合与区别

砖业洋__

XML配置 spring框架 注解驱动配置 组件注册 组件扫描

Filter for GO

数由科技

英特尔携钉钉及新华三以创新解决方案变革未来远程协作体验

E科讯

C语言 typedef的用法示例讲解

梦笔生花

AI与HPC融合,未来会朝什么方向发展 | 社区征文

瓜瓜猪

年中技术盘点

掌控MySQL并发:深度解析锁机制与并发控制

砖业洋__

表锁 MySQL并发控制 隐式锁 插入意向锁 行锁

性能最快的代码分析工具,Ruff 正在席卷 Python 圈!

EquatorCoco

Python 开源 框架

我来泼盆冷水:正面迎击AI的时代千万别被ChatGPT割了韭菜

EquatorCoco

人工智能 信息安全 ChatGPT

Nautilus Chain 主网上线,创世 ZBC 质押即将开启

股市老人

【有奖互动】开发者版本新特性,你期待哪些更新?#HDC.Together2023#

HarmonyOS开发者

HarmonyOS

Nautilus Chain 主网上线,创世 ZBC 质押即将开启

大瞿科技

Docker 镜像的导出与导入

陈皮

Docker save load

AI 改变我们的工作方式 | 社区征文

宇宙之一粟

年中技术盘点

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