BMW Group和亚马逊云科技于2020年宣布达成全面战略合作。在re:Invent2019上,BMW和亚马逊云科技展示了新的云数据中心平台,先是大致介绍了不同的数据平台原型,然后介绍了构建BMW Group云数据中心的过程。Amazon Data Lab使用亚马逊云科技的云数据中心,帮助欧洲BMW市场之一构建监管报告应用程序。
解决方案概览
在监管报告背景下,BMW Financial Services处理包含个人身份信息(PII)的关键金融服务数据。其需要每月向欧洲国家监管机构之一提供针对我们财务数据的深入分析,而且在处理PII数据时,还需要遵守Schrems II和GDPR法规。这要求在将PII加载到云数据中心时对其进行假名化,并且必须以假名的形式对其进行进一步处理。为了精确高效地满足这些要求,BMW Financial Services决定与Amazon Data Lab合作,Amazon Data Lab的Design Lab就能够提供帮助。
Design Lab
Design Lab是一项1到2天的活动,适用于需要真实架构建议但尚未准备好构建的客户,这些建议基于Amazon专业知识。在开始构建阶段之前,关键是让所有利益相关方聚集在一起,记录各方提出的可能影响数据平台的所有功能性和非功能性要求。在Design Lab的工作范围内,我们讨论了三个使用案例:
● 监管报告
BMW Financial Services最重要的任务是监管报告使用案例,这涉及到收集与计算向国家监管机构申报的数据和报告。
● 本地数据仓库
对于此使用案例,需要计算和存储项目期间将会定义的所有关键绩效指标(KPI)和关键价值指标(KVI)。需要存储历史数据,但需要遵守GDPR指令应用假名化流程。此外,每天都必须通过Tableau可视化工具访问历史数据。在应用程序中限制使用个人数据,但对于获得授权的使用模式,必须可以进行重新识别。
● 会计明细
此使用案例基于BMW的会计工具IFT,该工具在合同级别提供来自所有当地市场应用程序的会计余额。它必须每月至少进行一次。但是,如果在结算期间发现了IFT上的一些问题,必须能够重启并删除之前的结果。同时,所有会计余额版本都必须可供其他应用程序访问以进行查询,并且能够检索24个月内的信息。
基于这些要求,其在Design Lab期间开发了以下架构,此解决方案包含以下组件:
● 为三个使用案例提供数据的主数据来源已经在云数据中心中公布。云数据中心使用Amazon Lake Formation资源链接向使用者账户授予对数据集的访问权限。
● 对于标准的定期提取、转换和加载(ETL,Extract,Transform,and Load)作业,如果涉及到转换数据类型、根据数值数据创建标签或者根据标签创建布尔值标记等操作,使用Amazon GlueETL作业。
● 对于历史的ETL作业或更复杂的计算,例如账户详细信息使用案例(可能涉及与自定义配置和调整的大量关联),建议使用Amazon EMR。这可以在精细级别上控制集群配置。
● 要存储可以实现重新处理输入或重新运行失败作业等功能的作业元数据,建议构建数据注册表。数据注册表的目标是为提取到数据湖中的所有数据创建集中清单。可以触发基于计划的Amazon Lambda函数,在集中式元数据存储中云数据中心的语义层上注册数据登陆。建议为数据注册表使用Amazon DynamoDB。
● Amazon Simple Storage Service(Amazon S3)用作存储机制,支持使用数据管理框架Apache Hudi的监管报告使用案例。Apache Hudi对使用案例很有用,因为需要开发数据管道,满足对记录级别的插入、更新、更新插入和删除功能的需求。Amazon EMR和 Amazon Glue作业通过Hudi连接器以及Amazon Athena和Amazon Redshift Spectrum等查询引擎支持Hudi表。
● 在监管报告S3存储桶的数据存储过程中,可以在Amazon Glue Data Catalog中填充所需的元数据。
● Athena提供了一个临时查询环境,用于使用标准SQL对存储在Amazon S3中的数据进行交互式分析。它与Amazon Glue Data Catalog进行了集成,具备开箱即用的特点。
● 对于数据仓库使用案例,需要首先对数据进行反规范化,以创建支持优化分析查询的维度模型。为了进行这种转换,可以使用Amazon Glue ETL作业。
● Amazon Redshift中的维度数据集市可以支持控制面板和自助报告需求。Amazon Redshift中的数据根据业务需求划分为多个主题区域,通过维度模型可以进行跨主题区域分析。
● 作为创建Amazon Redshift集群的副产品,可以使用Redshift Spectrum访问该架构的监管报告存储桶中的数据。它充当了访问更精细数据的前端,而无需将其实际加载到Amazon Redshift集群中。
● 提供给云数据中心的数据包含假名化的个人数据。但是,在Tableau上可视化数据或者在生成CSV报告时,需要能够对假名化的列重新进行个性化设置。Athena和Amazon Redshift均支持Lambda UDF,它可用于访问云数据中心PII API,以便在将假名化的列呈现给最终用户之前对其重新进行个性化设置。
● Athena和Amazon Redshift均可通过JDBC(Java Database Connectivity,Java 数据库连接)进行访问,为数据使用者提供访问权限。
● 可以在Amazon Glue中使用Python shell作业,对任一分析解决方案运行查询,将结果转换为所需的CSV格式,然后将它们存储到BMW受保护的文件夹中。
● 在本地部署的任何商业智能(BI)工具都可以连接到Athena和Amazon Redshift,并可利用它们的查询引擎执行任何繁重的计算,然后再接收提供给控制面板的最终数据。
● 对于数据管道编排,建议使用Amazon Step Functions,因为它具有低代码开发体验,并且与讨论的所有其他组件全面集成。
以上述架构为长期目标状态,结束Design Lab,并返回Build Lab以加快解决方案的开发。