Monzo最近重新设计了其数据仓库,以支持 100 多个团队在 12000 多个 dbt 模型上的协作。通过引入所谓的“meshy”方法,Monzo 将仓库成本降低了约 40%,并将数据交付速度提升了 25%。
在过去一年中,这家英国数字银行围绕清晰定义的建模分层重建了数据平台,明确声明了跨团队数据依赖的接口模型,并通过 CI 强制校验结构、命名与访问模式。本次迁移覆盖了数千个 dbt 模型,并引入了数百个受治理接口,减少了冗余查询与重复计算,缩短了数据落地时间,也扭转了仓库成本增长的趋势。
尽管每个团队都拥有并维护自己的数据模型,Monzo 仍通过自动化护栏与共享工具支持分布式所有权。Monzo 分析工程师Antonia Badarau、Irina Mugford和Massimo Frangiamore这样描述他们面临的挑战:
在 Monzo,100 多个独立且高度授权的团队共同为我们由 12000 多个 dbt 模型组成的数据仓库贡献内容。数据健康由这些团队共同负责。这样的分布式所有权很有力量,但在大规模下场景下也很难做好。另外,随着 AI 辅助编码成为常态、每个人都能参与生产级 dbt 项目,一个问题变得非常关键,那就是,我们如何确保产出仍然具备性能、一致性和高质量?
dbt模型是将原始数据转换为结构化数据集的 SQL 查询,被设计为可模块化复用的组件,用于构建和维护数据管道。Monzo 为其数据架构定义了三项原则:执行清晰的标准、通过显式接口规范数据共享、依靠自动化与 CI 检查而非人工审查来保障质量。
该银行将数据模型划分为四层:用于扁平化原始事件的自动落地模型、表示实体完整历史的生成式规范化模型、由业务逻辑组合实体的逻辑模型,以及面向特定下游用途的展示模型。
/filters:no_upscale()/news/2026/05/monzo-data-mesh/en/resources/1blog_post_visual-1777979944235.jpg)
来源:Monzo 博客
随后,团队通过所谓的 Modelgen 来强制实现一致性。它是一个命令行工具,可基于对象定义生成 SQL 与 YAML 模型。同时他们还通过 CI 支撑的数据标准校验结构、规范和最佳实践。Monzo Bank 工程总监 Luke Briscoe 在 LinkedIn 上这样写到:
在任何高速增长的组织里扩展数据能力都不容易,更不用说银行了……我并不了解有多少公司在使用这样的工具链(或者至少公开谈论它)。
Expeditious Software 创始人 Mateusz Ulas 对此评论说:
把数据接口当作一等代码来治理,至今仍然罕见。多数地方还是依赖文档然后寄希望于获得最好的结果。把标准接入 CI,才是真正能落地改进的做法。
团队表示,清晰的数据分层、数据集之间稳定的接口以及 CI 中的自动化检查,能够保持系统一致性,让各团队独立协作的同时降低仓库成本和处理时长。
Monzo 通过一组强制要求来保障数据质量与一致性:每个模型都必须定义唯一键、包含新鲜度测试、默认增量运行、声明归属团队、提供文档,并遵循在 CI 中校验的严格命名和元数据规范。
/filters:no_upscale()/news/2026/05/monzo-data-mesh/en/resources/1monzo_data_mash-1777979944235.jpg)
来源:Monzo 博客
Badarau、Mugford 和 Frangiamore 补充说:
目前我们在全公司范围内采用这些方法和系统的迁移大约完成了 30%,前面还有很长的路。初步结果令人鼓舞。在一些领域,我们看到成本降低约 40%、落地时间加快约 25%,但现在还处于早期阶段。
在另一篇文章中,Monzo 工程团队介绍了如何使用多任务神经网络来学习欺诈模式的共享表述,从而提升对罕见行为和此前未见行为的识别能力,这超出了传统模型的检测范围。在今年的 QCon London 上,Suhail Patel 还展示了Monzo如何构建开发者平台,实现每天向生产环境交付数百项变更。
查看英文原文: Neobank Monzo Builds Governed Data Mesh Across 100 Teams and 12000 dbt Models





