连载6:阿里巴巴大数据实践:大数据建设方法论OneData

本文涉及的产品
智能数据建设与治理Dataphin,200数据处理单元
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
简介: 避免重复建设和数据不一致性,保证数据的规范性,一直是大数据系统建设不断追求的方向。

前言:
-更多关于数智化转型、数据中台内容请加入阿里云数据中台交流群—数智俱乐部 和关注官方微信公总号(文末扫描二维码或点此加入

-阿里云数据中台官网 https://dp.alibaba.com/index

来源:数智化转型俱乐部

面对爆炸式增长的数据,如何建设高效的数据模型和体系,对这些数据进行有序和有结构地分类组织和存储,避免重复建设和数据不一致性,保证数据的规范性,一直是大数据系统建设不断追求的方向。

OneData即是阿里巴巴内部进行数据整合及管理的方法体系和工具。阿里巴巴的大数据工程师在这一体系下,构建统一、规范、可共享的全域数据体系,避免数据的冗余和重复建设,规避数据烟囱和不一致性,充分发挥阿里巴巴在大数据海量、多样性方面的独特优势。借助这一统一化数据整合及管理的方法体系,我们构建了阿里巴巴的数据公共层,并可以帮助相似的大数据项目快速落地实现。下面重点介绍OneData体系和实施方法论。

1.定位及价值

阿里巴巴集团大数据建设方法论的核心是:从业务架构设计到模型设计,从数据研发到数据服务,做到数据可管理、可追溯、可规避重复建设。目前,阿里巴巴集团数据公共层团队已把这套方法论沉淀为产品,以帮助数据PD、数据模型师和ETL工程师建设阿里的大数据。这一体系包含方法论以及相关产品。

建设统一的、规范化的数据接入层(ODS)和数据中间层(DWD和DWS),通过数据服务和数据产品,完成服务于阿里巴巴的大数据系统建设,即数据公共层建设。提供标准化的(Standard)、共享的(Shared)、数据服务(Service)能力,降低数据互通成本,释放计算、存储、人力等资源,以消除业务和技术之痛。

2.体系架构

B5B6BFFB-B93A-45DA-8BB8-F68176207681.png

体系架构如图。

业务板块:由于阿里巴巴集团业务生态庞大,所以根据业务的属性划分出几个相对独立的业务板块,业务板块之间的指标或业务重叠性较小。如电商业务板块涵盖淘系、B2B系和AliExpress系等。

规范定义:阿里数据业务庞大,结合行业的数据仓库建设经验和阿里数据自身特点,设计出的一套数据规范命名体系,规范定义将会被用在模型设计中。后面章节将会详细说明。

模型设计:以维度建模理论为基础,基于维度建模总线架构,构建一致性的维度和事实(进行规范定义)。同时,在落地表模型时,基于阿里自身业务特点,设计出一套表规范命名体系。

3.模型设计

模型设计指导理论:阿里巴巴集团数据公共层设计理念遵循维度建模思想,可参考Star Schema-The Complete Reference和The Data Warehouse Toolkit-The Definitive Guide to Dimensional Modeling。数据模型的维度设计主要以维度建模理论为基础,基于维度数据模型总线架构,构建一致性的维度和事实。

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

操作数据层(ODS):把操作系统数据几乎无处理地存放在数据仓库系统中。

同步:结构化数据增量或全量同步到MaxCompute。

结构化:非结构化(日志)结构化处理并存储到MaxCompute。

累积历史、清洗:根据数据业务需求及稽核和审计要求保存历史数据、清洗数据。

公共维度模型层(CDM):存放明细事实数据、维表数据及公共指标汇总数据,其中明细事实数据、维表数据一般根据ODS层数据加工生成;公共指标汇总数据一般根据维表数据和明细事实数据加工生成。

CDM层又细分为DWD层和DWS层,分别是明细数据层和汇总数据层,采用维度模型方法作为理论基础,更多地采用一些维度退化手法,将维度退化至事实表中,减少事实表和维表的关联,提高明细数据表的易用性;同时在汇总数据层,加强指标的维度退化,采取更多的宽表化手段构建公共指标数据层,提升公共指标的复用性,减少重复加工。其主要功能如下。

组合相关和相似数据:采用明细宽表,复用关联计算,减少数据扫描。

公共指标统一加工:基于OneData体系构建命名规范、口径一致和算法统一的统计指标,为上层数据产品、应用和服务提供公共指标;建立逻辑汇总宽表。

建立一致性维度:建立一致的数据分析维表,降低数据计算口径、算法不统一的风险。

应用数据层(ADS):存放数据产品个性化的统计指标数据,根据CDM层与ODS层加工生成。

个性化指标加工:不公用性、复杂性(指数型、比值型、排名型指标)。

基于应用的数据组装:大宽表集市、横表转纵表、趋势指标串。

阿里巴巴通过构建全域的公共层数据,极大地控制了数据规模的增长趋势,同时在整体的数据研发效率、成本节约、性能改进方面都有不错的效果。

数据调用服务优先使用公共维度模型层(CDM)数据,当公共层没有数据时,需评估是否需要创建公共层数据,当不需要建设公用的公共层时,方可直接使用操作数据层(ODS)数据。应用数据层(ADS)作为产品特有的个性化数据一般不对外提供数据服务,但是ADS作为被服务方也需要遵守这个约定。

基本原则:高内聚和低耦合——一个逻辑或者物理模型由哪些记录和字段组成,应该遵循最基本的软件设计方法论的高内聚和低耦合原则。主要从数据业务特性和访问特性两个角度来考虑:将业务相近或者相关、粒度相同的数据设计为一个逻辑或者物理模型;将高概率同时访问的数据放一起,将低概率同时访问的数据分开存储;

核心模型与扩展模型分离——建立核心模型与扩展模型体系,核心模型包括的字段支持常用的核心业务,扩展模型包括的字段支持个性化或少量应用的需要,不能让扩展模型的字段过度侵入核心模型,以免破坏核心模型的架构简洁性与可维护性。

公共处理逻辑下沉及单一——越是底层公用的处理逻辑越应该在数据调度依赖的底层进行封装与实现,不要让公用的处理逻辑暴露给应用层实现,不要让公共逻辑多处同时存在。

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

数据可回滚——处理逻辑不变,在不同时间多次运行数据结果确定不变。

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

命名清晰、可理解——表命名需清晰、一致,表名需易于消费者理解和使用。

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

节选自《大数据之路:阿里巴巴大数据实践》已受版权保护,未经授权不得转载

**连载1:阿里巴巴大数据实践—数据开发平台>>
连载2:阿里巴巴大数据实践—实时技术>>
连载3:阿里巴巴大数据实践—数据服务>>
连载4:阿里巴巴大数据实践—数据建模综述
连载5:阿里巴巴大数据实践—阿里巴巴的数据模型实践综述>>**


数据中台是企业数智化的新基建,阿里巴巴认为数据中台是集方法论、工具、组织于一体的,“快”、“准”、“全”、“统”、“通”的智能大数据体系。目前正通过阿里云数据中台解决方案对外输出,包括零售金融互联网政务等领域,其中核心产品有:

官方站点:
数据中台官网 https://dp.alibaba.com
数据中台钉钉群二维码2.jpg

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
SQL 分布式计算 运维
如何对付一个耗时6h+的ODPS任务:慢节点优化实践
本文描述了大数据处理任务(特别是涉及大量JOIN操作的任务)中遇到的性能瓶颈问题及其优化过程。
|
2月前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【10月更文挑战第4天】在大数据时代,算法效率至关重要。本文从理论入手,介绍时间复杂度和空间复杂度两个核心概念,并通过冒泡排序和快速排序的Python实现详细分析其复杂度。冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1);快速排序平均时间复杂度为O(n log n),空间复杂度为O(log n)。文章还介绍了算法选择、分而治之及空间换时间等优化策略,帮助你在大数据挑战中游刃有余。
63 4
|
2月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
104 1
|
29天前
|
边缘计算 人工智能 搜索推荐
大数据与零售业:精准营销的实践
【10月更文挑战第31天】在信息化社会,大数据技术正成为推动零售业革新的重要驱动力。本文探讨了大数据在零售业中的应用,包括客户细分、个性化推荐、动态定价、营销自动化、预测性分析、忠诚度管理和社交网络洞察等方面,通过实际案例展示了大数据如何帮助商家洞悉消费者行为,优化决策,实现精准营销。同时,文章也讨论了大数据面临的挑战和未来展望。
|
2月前
|
SQL 消息中间件 分布式计算
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
85 0
|
2月前
|
SQL 大数据
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(二)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(二)
62 0
|
2月前
|
SQL 消息中间件 分布式计算
大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现
大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现
49 0
|
2月前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
17天前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
133 7
|
17天前
|
存储 分布式计算 大数据
大数据 优化数据读取
【11月更文挑战第4天】
32 2