使用 MongoDB 剖析开放银行:技术挑战和解决方案

请添加图片描述

请添加图片描述

开放银行(或开放金融)在银行业掀起了一股颠覆性浪潮,它迫使金融机构(银行、保险公司、金融科技公司、企业甚至政府机构)迎接一个透明、协作和创新的新时代。这种模式转变要求银行与第三方提供商(TPP)公开共享客户数据,通过结合“同类最佳”的产品和服务,提升客户体验,促进创新金融技术解决方案的发展。

截至 2020 年,全球有 2470 万人使用开放银行服务,预计到 2024 年这一数字将达到 1.322 亿。这种上升趋势推动了竞争,刺激了创新,并促进了传统银行与灵活的金融科技公司之间的合作。

在这一变革格局中,**MongoDB 作为领先的开发者数据平台,通过提供安全、可扩展且灵活的基础架构来管理和保护共享的客户数据,在支持开放银行业务方面发挥着至关重要的角色。**通过利用 MongoDB 技术的力量,金融机构可以降低成本,改善客户体验,并通过严格的监管合规性来降低与广泛共享客户数据相关的潜在风险。

请添加图片描述

图 1:开放银行架构示例

开放银行/金融的本质是利用通用数据交换协议与第三方共享金融数据和服务。本文我们将从数据数据服务的角度深入探讨开放银行的技术挑战和解决方案,并探讨 MongoDB 如何帮助金融机构克服这些障碍并释放这个开放生态系统的全部潜力。

1 动态环境和标准

随着开放银行标准的不断发展,金融机构必须保持适应性,以满足不断变化的法规和行业需求。传统的关系型数据库(Relational database)往往难以跟上开放银行业务的动态要求,原因在于其僵化的模式难以随着时间的推移而改变和管理。在没有标准化开放银行框架的国家,银行和第三方提供商面临着开发多个版本的 API 来与不同机构集成的挑战,这会造成复杂性并阻碍互操作性。幸运的是,开放银行标准或指南(如欧洲、新加坡、印度尼西亚、香港、澳大利亚等)都普遍要求或建议开放 API 为 RESTful,并支持 JSON 数据格式,这为通用数据交换奠定了基础。

MongoDB 通过提供灵活的开发者数据平台来应对这些挑战,该平台本身支持 JSON 数据格式、简化数据建模并为开发者提供灵活的模式更改。借助 MongoDB Data API 等功能,开发者可以通过低代码方式轻松公开数据,从而减少开发和维护工作。稳定的 API 功能可确保数据库升级期间的兼容性,防止代码破坏并提供无缝过渡。此外,MongoDB 还提供提高生产力的功能,例如全文搜索、数据可视化、数据联合、移动数据库同步和其他应用服务,使开发者能够加快产品上市时间。借助 MongoDB 的功能,金融机构和第三方提供商可以更有效地驾驭不断变化的开放银行格局、促进协作并为客户提供创新解决方案。
请添加图片描述

Natwest 就是一个利用 MongoDB 的原生 JSON 数据管理和灵活性的客户示例。Natwest 是英国一家主要的零售和商业银行,总部位于英国伦敦。随着开放银行业务的增长,该银行在几年内每月的 API 调用次数从零增加到 9 亿次,预计未来几年还将增长 10 倍。

Natwest 的“API 银行”技术负责人 Jonathan Haggarty 在题为“使用 API 数据驱动客户价值”的演讲中分享,Natwest不断发展的API 生态系统使其能够将大量 JSON 数据推送到 MongoDB 中,从简单的信息到相当复杂的信息都很容易,并且还可以更轻松地通过数据屏蔽来混淆用户详细信息以保护客户隐私

Natwest 能够通过其 API 生态系统为合作伙伴提供客户数据洞察,例如“客户在电子商务领域的位置”、“零售商推出折扣的最佳时间”以及“最有价值客户”的洞察等等。

2 性能

在开放银行的动态格局中,满足对性能、可扩展性和可用性的不可预测的需求至关重要。应用程序的效率和整体客户体验在很大程度上依赖于 API 的响应能力。然而,如果第三方供应商的业务和技术要求不公开,建立开放银行平台就会变得错综复杂。如果不仔细管理,可能会导致不可预见的性能问题并增加成本。开放银行要求 API 在各种工作负载下都具有高性能。OBIE 建议所有付款邀请(文件付款除外)和帐户信息 API 的每个端点响应的平均 TTLB(到最后一个字节的时间)为 750 毫秒。遵守某些司法管辖区的监管服务级别协议(SLA)进一步增加了复杂性。传统架构和数据库通常很难满足这些苛刻的标准,需要进行大量更改才能确保可扩展性和最佳性能。

这就是 MongoDB 发挥作用的地方。MongoDB 专为通过其 WiredTiger 存储引擎及其压缩功能提供卓越的性能而构建。此外,MongoDB Atlas 根据其智能索引和架构建议、自动数据分层以及用于分析的工作负载隔离来提高性能

著名的金融服务应用程序提供商 Temenos 通过利用 MongoDB Atlas 实现了卓越的交易量处理性能和效率,证明了其能力。他们最近使用 MongoDB Atlas 和 Microsoft Azure 运行了基准测试,并以破纪录的每秒 150,000 笔交易成功处理了惊人的 2 亿笔嵌入式金融贷款和 1 亿个零售账户。这展示了 MongoDB 的强大功能和可扩展性以及无与伦比的性能,使金融机构能够有效应对开放银行带来的挑战。MongoDB 确保出色的性能、可扩展性和可用性,以满足行业不断变化的需求。

3 可扩展性

构建一个为 TPP 提供服务的平台(TPP 可能不会披露其业务用途和技术/性能要求),如果托管不周,可能会带来不可预测的性能和成本问题。例如,新加坡的一家银行面临一个问题,他们的开放 API 每周三都会遇到峰值负载和崩溃。经过调查,他们发现其中一个 TPP 每周三都会开展促销活动,导致 API 调用激增,导致该银行的基础设施不堪重负。除了满足特定已知交易量的性能要求之外,能够在不可预测的工作负载下执行的可扩展解决方案也至关重要。

MongoDB 灵活的架构可扩展性功能有效解决了这些问题。凭借其基于分布式文档的数据模型,MongoDB 允许垂直和水平无缝扩展。通过利用分片,数据可以分布在多个节点上,确保资源的高效利用,并使系统能够在不影响性能的情况下处理大量交易。MongoDB 的自动分片功能可随着工作负载的增长进行动态扩展,为金融机构提供适应不断变化的需求的灵活性,并确保平稳且可扩展的开放银行基础设施。

4 可用性

在开放银行领域,可用性成为一项关键挑战。随着第三方提供商 (TPP) 对银行服务的依赖程度越来越高,确保持续可用性变得更加复杂。以前,银行可以在非高峰时段关闭某些服务以进行维护。然而,由于 TPP 提供 24x7 全天候体验,任何停机时间都是不可接受的。这给银行带来了更大的压力,要求他们保持 Open API 服务的持续可用性,即使在计划的维护窗口或不可预见的事件期间也是如此。

MongoDB Atlas 是完全托管的全球云数据库服务,可有效解决这些可用性挑战。MongoDB Atlas 凭借其多节点集群和多云 DBaaS 功能,可确保高可用性和容错能力。它提供了在多个领先云提供商上运行的灵活性,使银行能够最大限度降低集中风险,并通过跨不同云平台的分布式集群实现更高的可用性。MongoDB Atlas 提供的强大复制和故障转移机制可保证服务不间断,并使金融机构能够为其客户和 TPP 提供可靠且始终可用的开放银行 API

5 安全和隐私

数据安全同意管理是参与开放银行业务的银行最关心的问题。将身份验证和授权机制暴露给第三方提供商会引发安全问题,并带来数据保护方面的复杂技术问题。银行需要精细的访问控制和加密机制来保护共享数据,包括细粒度地管理数据共享同意。此外,银行必须了解《通用数据保护条例》(GDPR) 等数据隐私法规的情况,这些法律提出了与传统银行法规不同的严格要求。

MongoDB 提供一系列解决方案,可有效解决这些安全和隐私挑战。

可查询加密(Queryable Encryption) 提供了一种在 MongoDB 中管理加密数据的机制,从而确保即使与第三方提供商共享敏感信息也能保持安全。

MongoDB 的全面加密功能涵盖静态数据和传输中数据,在数据的整个生命周期中保护数据。

MongoDB 的灵活架构允许金融机构捕获管理数据共享同意的不同数据要求,并将来自不同国家的用户同意统一到单一数据存储中,从而简化对复杂数据隐私法规的遵守。

此外,MongoDB 的地理分片功能可确保相关数据和同意信息保留在最近的云数据中心,同时为访问数据提供最佳响应时间,从而确保遵守数据驻留法规。

为了进一步增强数据隐私,MongoDB 提供了字段级加密技术,支持字段级别的对称加密,以保护敏感数据(例如个人身份信息),即使是与 TPP 共享时也是如此。字段的随机加密增加了一层安全性,并可对加密数据进行查询操作。MongoDB 的可查询加密(Queryable Encryption)技术进一步增强了安全性并防御密码分析,确保开放银行生态系统中的客户数据受到保护和保密。

网络研讨会|MongoDB Atlas安全性和可查询加密

6 活动监控

由于银行在开放银行生态系统中提供了大量 API,活动监控和故障排除已成为维护强大且安全的基础设施的关键方面。MongoDB 通过其监控工具和审核功能简化了活动监控。管理员和用户可以精细地跟踪系统活动、监控数据库系统和应用程序事件。

MongoDB Atlas 具有管理 API,可用于以编程方式管理 Atlas 服务。例如,可以使用 Atlas Administration API 来创建数据库部署、向这些部署添加用户、监控这些部署等。这些 API 可帮助实现 CI/CD 管道的自动化,并监控数据平台上的活动,使开发者和管理员能够从繁琐的工作中解放出来,专注于创造更多业务价值。性能监控工具(包括性能优化顾问)有助于衡量和优化系统性能,确保 API 提供卓越的用户体验

请添加图片描述

图 2:MongoDB Atlas 上的活动监控

MongoDB Atlas Charts 是 MongoDB Atlas 的一项集成功能,可提供分析和可视化功能。金融机构可使用 MongoDB Atlas Charts 创建商业智能仪表盘。这样就不需要与传统商业智能工具相关的昂贵许可,随着越来越多的 TPP 使用 API,成本效益也会随之提高。利用 MongoDB Atlas Charts,金融机构可以向 TPP 提供全面的业务遥测数据,例如保险报价单数量、保单交易、API 调用量和性能指标。这些见解使金融机构能够做出数据驱动的决策,提高运营效率,并优化开放银行生态系统中的客户体验

请添加图片描述

图 3:Atlas Charts 样本仪表盘

7 实时性

开放银行业务给金融机构带来了新的挑战,因为它们努力在 TPP 不可预测的工作负载中提供服务并扩大规模。虽然静态内容带来的难度较小,但需要实时更新或连续流的 API(例如动态账户余额或经 ESG 调整的信用评分)需要近乎实时的实时数据交付功能。

为了使应用程序能够立即对发生的实时更改或更改做出反应,组织可以利用基于其聚合框架的 MongoDB Change Streams 对单个集合、数据库甚至整个部署中的数据更改做出反应。此功能进一步增强了 MongoDB 的实时数据和事件处理和分析能力

MongoDB 提供了多种机制来支持数据流,包括用于事件驱动架构的 Kafka Connector 和用于使用 Spark 进行流处理的 Spark Connector

这些解决方案使金融机构能够有效满足其开放银行合作伙伴的实时数据需求,实现无缝集成和实时数据交付,从而增强客户体验

结论

MongoDB 的技术能力使其成为金融机构踏上开放银行之旅的关键推动力。从管理动态环境和适应不可预测的工作负载,到确保可扩展性、可用性、安全性和隐私,MongoDB 提供了一套全面的工具和功能来有效应对开放银行业务的挑战。以 MongoDB 作为底层基础设施,金融机构可以自信地驾驭不断发展的开放银行格局,提供创新的解决方案,推动银行业的未来。拥抱 MongoDB 使金融机构能够释放开放银行的全部潜力,并在协作和数字化转型的时代提供卓越的客户体验。

MongoDB Atlas

MongoDB Atlas 是 MongoDB 公司提供的 MongoDB 云服务,由 MongoDB 数据库的开发团队构建和运维,可以在亚马逊云科技、Microsoft Azure、Google Cloud Platform 云平台上轻松部署、运营和扩展。MongoDB Atlas 内建了 MongoDB 安全和运维最佳实践,可自动完成基础设施的部署、数据库的构建、高可用部署、数据的全球分发、备份等即费时又需要大量经验运维工作。让您通过简单的界面和 API 就可以完成这些工作,由此您可以将更多宝贵的时间花在构建您的应用上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/37712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在 SQL 中删除一条记录?

如何在 SQL 中删除一条记录? 在 SQL 中,您可以使用DELETE查询和WHERE子句删除表中的一条记录。在本文中,我将向您介绍如何使用DELETE查询和WHERE子句删除记录。我还将向您展示如何一次从表中删除多条记录 如何在 SQL 中使用 DELETE 这是使…

【计算机图形学】期末考试知识点汇总(上)

文章目录 视频教程第一章 计算机图形学概述计算机图形学的定义计算机图形学的应用计算机图形学 vs 图像处理 vs模式识别图形显示器的发展及工作原理理解三维渲染管线 第二章 基本图元的扫描转换扫描转换直线的扫描转换DDA算法Bresenham算法中点画线算法圆的扫描转换中点画圆算法…

面试-J.U.C包的梳理

1.J.U.C包的梳理 Java.Util.Concurrent包简称JUC (1)JUC整体架构图 (2)分析 Executor:线程执行器,任务执行和调度的框架。Tools下存在executor相关的executors类,用于创建executorservice,scheduleexecutorservice,…

哪吒汽车,正在等待“太乙真人”的拯救

文丨刘俊宏 在360创始人、哪吒汽车股东周鸿祎近日连续且着急的“督战”中,哪吒汽车(下简称哪吒)终究还是顶不住了。 6月26日,哪吒通过母公司合众新能源在港交所提交了IPO文件,急迫地希望成为第五家登陆港股的造车新势力…

高精度除法的实现

高精度除法与高精度加法的定义、前置过程都是大致相同的,如果想了解具体内容,可以移步至我的这篇博客:高精度加法计算的实现 在这里就不再详细讲解,只讲解主体过程qwq 主体过程 高精度除法的原理和小学学习的竖式除法是一样的。 …

【Sklearn-驯化】一文搞懂机器学习树模型建模可视化过程

【Sklearn-驯化】一文搞懂机器学习树模型建模可视化过程 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 免费获取相关内容文档关注&#xff…

OpenCV学习之cv2.imshow()函数

OpenCV学习之cv2.imshow()函数 一、简介 cv2.imshow 是 OpenCV 库中用于显示图像的基本函数之一。在图像处理和计算机视觉的过程中,使用该函数可以快速预览处理后的图像,便于调试和结果展示。 二、基本语法 cv2.imshow(WindowName, Imgmat)三、参数说…

如何制作鼠标悬浮后伸缩的搜索框

引言 许多博客都在使用的伸缩搜索框制作教程 成品展示&#xff08;颜色自行搭配&#xff09; 初步布局 居中盒子&&初始化样式 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewpo…

2SK241 LTSpice模型及仿真

2SK241是东芝生产的一款NMOS&#xff0c;早已停产&#xff0c;但是在收音机圈子里还是有很多死忠粉&#xff0c;所以在淘宝上也是一堆打磨改标的假货。 言归正传&#xff0c;在矿坛上找到了2SK241的模型&#xff1a; .model M2SK241bottom NMOS(Level1 Rd1 Rs10 Rg50 Kp8mV…

在高并发场景下,怎样避免 PostgreSQL 的死锁问题?

文章目录 &#xff08;一&#xff09;不当的事务设计&#xff08;二&#xff09;不正确的锁使用&#xff08;三&#xff09;并发操作冲突&#xff08;一&#xff09;优化事务设计&#xff08;二&#xff09;正确使用锁&#xff08;三&#xff09;调整数据库参数&#xff08;四&…

mindspore打卡第9天 transformer的encoder和decoder部分

mindspore打卡第9天 transformer的encoder和decoder部分 import mindspore from mindspore import nn from mindspore import ops from mindspore import Tensor from mindspore import dtype as mstypeclass ScaledDotProductAttention(nn.Cell):def __init__(self, dropout_…

2024年6月29日 (周六) 叶子游戏新闻

老板键工具来唤去: 它可以为常用程序自定义快捷键&#xff0c;实现一键唤起、一键隐藏的 Windows 工具&#xff0c;并且支持窗口动态绑定快捷键&#xff08;无需设置自动实现&#xff09;。 喜马拉雅下载工具: 字面意思 《星刃》性感女主私密部位细节逼真 让玩家感到惊讶《星刃…

clion ctrl+左键只能跳转到虚函数的声明处

右击函数 -> GOTO -> Definition 这样不够便捷&#xff0c;但是我没有找到更好的办法 可能是因为该函数是虚函数的重写&#xff0c;clion 无法识别出该函数是虚函数的哪个重写版&#xff0c;只能跳转到唯一的虚函数位置

springboot注解@ComponentScan注解作用

一 ComponentScan作用 1.1 注解作用 项目会默认扫描SpringBootApplication注解所在路径的同级和下级的所有子包&#xff0c;使用ComponentScan后他会取代掉默认扫描。 ComponentScan 是Spring框架的注解&#xff0c;它的作用是扫描指定的包路径下的标有 Component、Service、…

力扣300. 最长递增子序列(动态规划)

Problem: 300. 最长递增子序列 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 明确题目涉及到求取最值问题因此我们可以考虑使用动态规划来解决问题 1.定义状态&#xff1a;定义int类型的dp数组表示以nums[i]结尾的序列的最长长度&#xff0c;初始化均为1即表示…

Python | Leetcode Python题解之第198题打家劫舍

题目&#xff1a; 题解&#xff1a; class Solution:def rob(self, nums: List[int]) -> int:if not nums:return 0size len(nums)if size 1:return nums[0]first, second nums[0], max(nums[0], nums[1])for i in range(2, size):first, second second, max(first nu…

LNBxx21的功能

LNBxx21功能&#xff1a; LNBxx21 家族是为卫星LNB模块供电/连接LNB块与接收机的集成化解决方案。LNBxx21的很多功能可以让LNB电源/接口符合国际标准&#xff0c;此外&#xff0c;模块内还包括一个I2C总线接口&#xff0c;因为集成了一个升压直流-直流控制器&#xff0c;所以可…

MySQL高级-InnoDB引擎-事务日志- redo log(事务持久性的保证)

文章目录 1、redo log1.1、重做日志缓冲&#xff08;redo log buffer&#xff09;1.2、重做日志文件&#xff08;redo log file&#xff09; 2、如果没有redo log&#xff0c;可能会存在什么问题的&#xff1f;2.2、我们一起来分析一下。 2.2、那么&#xff0c;如何解决上述的问…

利用Matlab制作Gif图

Gif图相当于是由许多张图片拼接而成的一个“短视频”&#xff0c;因此在制作Gif图之前我们需要先准备多张图片。以下代码实现的是在当前路径下创建了一个image文件夹&#xff0c;并将绘制的HRRP通过saveas函数保存至image文件夹中&#xff0c;并命名为1.png、2.png、 %% 绘制H…

012、GridFS文件查询过程深度解析

目录 GridFS文件查询过程深度解析 1. GridFS基本概念 2. 查询过程详解 2.1 查询文件元数据 2.2 计算块数量和范围 2.3 查询文件块 2.4 组装文件内容 3. 优化查询性能 3.1 索引优化 3.2 流式处理 4. 高级查询技巧 4.1 范围查询 4.2 元数据查询 5. GridFS查询性能研…