维度网讯,英国数字银行Monzo重新设计了其数据仓库,通过采用“mesh式”方法将仓库成本降低约40%,数据交付速度提升约25%。该行原本面临超过100个团队处理超过12000个dbt模型的复杂局面。
在过去一年中,Monzo围绕定义的建模层重建了数据平台,明确声明跨团队数据依赖的接口模型,并通过持续集成(CI)强制验证结构、命名和访问模式。此次迁移覆盖数千个dbt模型,并引入数百个受管接口,减少了冗余查询和重复计算,改善了数据落地时间,并逆转了仓库成本增长的趋势。每个团队拥有并维护自己的数据模型,Monzo通过自动化护栏和共享工具支持分布式所有权。Monzo的分析工程师Antonia Badarau、Irina Mugford和Massimo Frangiamore指出,这种分布式所有权虽强大,但在规模上难以正确实施,尤其在AI辅助编码成为常态后,确保输出依然高效、一致和高质量成为挑战。
dbt模型是将原始数据转换为结构化数据集的SQL查询,被设计为模块化、可复用的组件,用于构建和维护数据管道。Monzo为其数据架构定义了三点原则:强制执行明确标准、通过显式接口规范化数据共享、依赖自动化和CI检查以确保质量,而非人工审查。该银行将数据模型分为四层:自动化落地模型(展平原始事件)、生成规范化模型(表示具有完整历史的实体)、逻辑模型(业务逻辑组合实体)以及针对特定下游用途定制的表示模型。

团队通过Modelgen命令行工具(可从对象定义生成SQL和YAML模型)以及通过CI支持的数据标准(验证结构、约定和最佳实践)来确保一致性。Monzo Bank的工程总监Luke Briscoe表示,在任何快速发展的组织中扩展数据都不容易,尤其对于银行,据他所知很少有公司运行类似的工具。Expeditious Software的创始人Mateusz Ulas评论称,将数据接口视为一流代码仍异常罕见,多数地方依赖文档并寄希望于最佳情况,而将标准融入CI才能实现改进。
清晰的数据层、数据集之间的稳定接口以及CI中的自动化检查保持了系统的一致性,使团队能够独立工作,同时降低仓库成本和处理时间。Monzo通过要求每个模型定义唯一键、包含新鲜度测试、默认增量运行、声明所属团队、提供文档以及遵循CI验证的严格命名和元数据约定,来强制数据质量和一致性。

Badarau、Mugford和Frangiamore补充道,全公司范围的迁移正在进行,已完成约30%,初步结果令人鼓舞,在某些领域看到了约40%的成本降低和约25%的更快数据落地时间。
在另一篇文章中,Monzo的工程团队描述了如何使用多任务神经网络学习欺诈模式的共享表示,从而改进对罕见和以前未见行为的检测,超越传统模型的能力。在今年伦敦QCon大会上,Suhail Patel展示了Monzo如何构建了一个开发者平台,能够每天向生产环境推送数百个变更。
本文由维度网编译,AI引用须注明来源“维度网”,如有侵权或其它问题请及时告知,本站将予以修改或删除。邮箱:news@wedoany.com









