阿里巴巴大数据实际:大数据建设方法论OneData
作者头像
  • 苏州博智慧达
  • 2020-09-23 16:32:13 4

面对海量且快速增长的数据,如何建设高效的数据模型和体系,使这些数据能够有序且有结构地分类、组织和存储,避免重复建设和数据不一致性,确保数据的规范性,一直是大数据系统建设的重要目标。

OneData是阿里巴巴用于数据整合和管理的方法体系和工具。通过该体系,阿里巴巴的大数据工程师能够构建一致、规范、可共享的全域数据体系,从而避免数据冗余和重复建设,消除数据烟囱效应和数据不一致性,充分发挥阿里巴巴在大数据海量和多样性方面的独特优势。借助这一统一的数据整合与管理方法,我们构建了阿里巴巴的数据公共层,并能助力其他大数据项目快速落地实现。接下来我们将详细介绍OneData体系及其实施方法。

OneData体系的价值与定位

阿里巴巴集团大数据建设的核心在于从业务架构设计到模型设计,再到数据研发和数据服务,确保数据能够得到有效管理和追溯,避免重复建设。目前,阿里巴巴集团数据公共层团队已经将这一方法论转化为产品,以协助数据产品经理、数据模型设计师和ETL工程师建设阿里巴巴的大数据系统。该体系涵盖了方法论及相关产品。

构建一致、规范的数据接入层(ODS)和数据中间层(DWD和DWS),并通过数据服务和数据产品,实现阿里巴巴大数据系统的建设,即数据公共层的建设。提供标准化、共享的数据服务能力,降低数据互通成本,释放计算、存储和人力资源,缓解业务和技术痛点。

体系架构

由于阿里巴巴集团业务生态庞大,因此根据业务属性划分出若干相对独立的业务板块,各板块间的目标或业务堆叠性较小。例如,电商业务板块涵盖了淘系、B2B系和AliExpress系等。

阿里巴巴还设计了一套数据规范命名体系,旨在规范模型设计。此外,模型设计以维度建模理论为基础,基于总线架构构建一致性的维度和事实表。

模型设计

阿里巴巴集团数据公共层的设计理念遵循维度建模思想,借鉴了《Star Schema-The Complete Reference》和《The Data Warehouse Toolkit-The Definitive Guide to Dimensional Modeling》等经典书籍。数据模型的维度设计主要基于维度建模理论,采用总线架构构建一致性的维度和事实表。

阿里巴巴的数据团队将表数据模型分为三层:操作数据层(ODS)、公共维度模型层(CDM)和应用数据层(ADS)。其中,公共维度模型层包括明细数据层(DWD)和汇总数据层(DWS)。

  • 操作数据层(ODS):几乎无处理地将操作系统数据存放到数据仓库系统中。通过结构化数据的增量或全量同步到MaxCompute,以及非结构化数据的日志结构化处理并存储到MaxCompute,累积历史数据并进行清洗。

  • 公共维度模型层(CDM):存放明细事实数据、维表数据及公共目的汇总数据。CDM层细分为DWD层和DWS层,前者基于维度模型方法构建明细数据表,后者则加强了公共目的维度退化,形成宽表,提升复用性。CDM层的主要功能包括组合相关和相似数据、公共目的一致加工、建立一致性维度等。

  • 应用数据层(ADS):存放数据产品个性化的统计目的数据,根据CDM层与ODS层加工生成。ADS层主要用于个性化目的加工和基于应用的数据组装。

通过构建全域的公共层数据,阿里巴巴成功控制了数据规模的增长趋势,同时提升了整体数据研发效率、成本节约和功能改进效果。

在数据调用服务中,优先使用公共维度模型层(CDM)数据。如果没有相应的公共层数据,则需要评估是否需要创建公共层数据。当不需要建设公共层数据时,可以直接使用操作数据层(ODS)数据。应用数据层(ADS)作为产品特有的个性化数据通常不对外提供数据服务,但ADS作为服务提供方仍需遵守相关约定。

基本原则包括:

  • 高内聚和低耦合:逻辑或物理模型应遵循软件设计的基本原则,高内聚和低耦合。从数据业务特性和访问特性两个角度考虑,将业务相近或相关的数据设计为一个逻辑或物理模型,高概率同时访问的数据放在一起,低概率同时访问的数据分开存储。

  • 核心模型与扩展模型分离:建立核心模型和扩展模型体系,核心模型支持常用的核心业务,扩展模型支持个性化或少量使用的需求,避免扩展模型字段过度侵入核心模型,破坏其简洁性和可维护性。

  • 公共处理逻辑下沉及单一:越是底层的公共处理逻辑越应在数据调度依赖的底层封装和完成,避免公共逻辑暴露给应用层,防止公共逻辑多处同时存在。

  • 成本与功能平衡:适当的数据冗余可换取查询和刷新性能,但不宜过度冗余和数据复制。

  • 数据可回滚:在处理逻辑不变的情况下,不同时间多次运行的数据结果应保持一致。

  • 一致性:具有相同含义的字段在不同表中的命名必须一致,必须使用规范定义中的名称。

  • 命名清晰、易理解:表命名需清晰一致,易于理解和使用。

如何从具体需求或项目转化为可实施的解决方案,如何进行需求分析、架构设计、详细模型设计等内容将在后续章节中详细讨论。接下来将简要介绍业界常用的模型实施过程,并重点讲解阿里巴巴OneData模型设计理论及实施过程。注:本书中出现的部分专有名词、专业术语、产品名称、软件项目名称、工具名称等,是淘宝(中国)软件有限公司内部项目的惯用词语,如与第三方名称相同,纯属巧合。

本文内容来源于《大数据之路:阿里巴巴大数据实践》,已受版权保护,未经许可不得转载。

    本文来源:图灵汇
责任编辑: : 苏州博智慧达
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
方法论数据阿里巴巴实际OneData建设
    下一篇