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

Diana Annie Jenosh, Karolina Ruiz Rogelj, and Wei You Pan

感谢 Ainhoa Múgica 对本文的贡献。

开放银行(或开放金融)在银行业掀起了一股颠覆性浪潮,它迫使金融机构(银行、保险公司、金融科技公司、企业甚至政府机构)迎接一个透明、协作和创新的新时代。这种模式转变要求银行与第三方提供商(TPP)公开共享客户数据,通过结合“同类最佳”的产品和服务,提升客户体验,促进创新金融技术解决方案的发展。截至 2020 年,全球有 2470 万人使用开放银行服务,预计到 2024 年这一数字将达到 1.322 亿。这种上升趋势推动了竞争,刺激了创新,并促进了传统银行与灵活的金融科技公司之间的合作。在这一变革格局中,MongoDB 作为领先的开发者数据平台,通过提供安全、可扩展且灵活的基础架构来管理和保护共享的客户数据,在支持开放银行业务方面发挥着至关重要的角色。通过利用 MongoDB 技术的力量,金融机构可以降低成本,改善客户体验,并通过严格的监管合规性来降低与广泛共享客户数据相关的潜在风险。

图 1:开放银行架构示例

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

动态环境和标准

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

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

Natwest 就是一个利用 MongoDB 的原生 JSON 数据管理和灵活性的客户示例。Natwest 是英国一家主要的零售和商业银行,总部位于英国伦敦。随着开放银行业务的增长,该银行在几年内每月的 API 调用次数从零增加到 9 亿次,预计未来几年还将增长 10 倍。在 2022 年 11 月 15 日的 MongoDB 活动中,Natwest 的“API 银行”技术(一个将零售银行服务带给合作伙伴的 API 生态系统)负责人 Jonathan Haggarty 在题为“使用 API 数据驱动客户价值”的演讲中分享了 Natwest不断发展的 API 生态系统使其能够“将大量 JSON 数据推送到 MongoDB 中,[这使得]“从简单的信息到相当复杂的信息都很容易”,并且还可以更轻松地通过数据屏蔽来混淆用户详细信息以保护客户隐私。Natwest 能够通过其 API 生态系统为合作伙伴提供客户数据洞察,例如“客户在电子商务领域的位置”、“[零售商]推出折扣的最佳时间”以及“最有价值客户”的洞察– 使用数据来解决问题;分析和洞察力;和报告。

性能

在开放银行的动态格局中,满足对性能、可扩展性和可用性的不可预测的需求至关重要。应用程序的效率和整体客户体验在很大程度上依赖于 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 确保出色的性能、可扩展性和可用性,以满足行业不断变化的需求。

可扩展性

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

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

可用性

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

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

安全和隐私

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

MongoDB 提供一系列解决方案,可有效解决这些安全和隐私挑战。Queryable Encryption 提供了一种在 MongoDB 中管理加密数据的机制,从而确保即使与第三方提供商共享敏感信息也能保持安全。MongoDB 的全面加密功能涵盖静态数据和传输中数据,在数据的整个生命周期中保护数据。MongoDB 的灵活架构允许金融机构捕获管理数据共享同意的不同数据要求,并将来自不同国家的用户同意统一到单一数据存储中,从而简化对复杂数据隐私法规的遵守。此外,MongoDB 的地理分片功能可确保相关数据和同意信息保留在最近的云数据中心,同时为访问数据提供最佳响应时间,从而确保遵守数据驻留法规。

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

活动监控

由于银行在开放银行生态系统中提供了大量 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 样本仪表盘

实时性

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

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

MongoDB 提供了多种机制来支持数据流,包括用于事件驱动架构的 Kafka Connector 和用于使用 Spark 进行流处理的 Spark Connector。这些解决方案使金融机构能够有效满足其开放银行合作伙伴的实时数据需求,实现无缝集成和实时数据交付,从而增强客户体验。

结论

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