基于阿里云数加MaxCompute的企业大数据仓库架构建设思路

简介:   数加大数据直播系列课程主要以基于阿里云数加MaxCompute的企业大数据仓库架构建设思路为主题分享阿里巴巴的大数据是怎么演变以及怎样利用大数据技术构建企业级大数据平台。   本次分享嘉宾是来自阿里云大数据的技术专家祎休   背景与总体思路   数据仓库是一个面向主题的、集成的、非易失的、反映历史变化的数据集合用于支持管理决策。

 

数加大数据直播系列课程,主要以基于阿里云数加MaxCompute的企业大数据仓库架构建设思路为主题,分享阿里巴巴的大数据是怎么演变以及怎样利用大数据技术构建企业级大数据平台。

 

本次分享嘉宾是来自阿里云大数据的技术专家祎休!

 

背景与总体思路

 

数据仓库是一个面向主题的、集成的、非易失的、反映历史变化的数据集合,用于支持管理决策。其结构图如下所示:

 

060aed260e37b9ea7e1232e1366019f4989af166

 

随着大数据、云计算等技术的应用和普及,互联网环境下数据处理呈现出新的特征:业务变化快;数据来源多;系统耦合多;应用深度深。业务变化加快导致数据来源增多,以前的数据大多来自于应用系统数据库,基本为结构化数据,比如OracleMySQL等数据。现在的互联网环境下有了更多的数据,比如网站的点击日志、视频数据、语音数据,这些数据都需要通过统一的计算来反映企业的经营状况。在互联网环境下,系统耦合也相对比较多,最重要的是要注重如何在这样的环境下加深数据整合、提升应用深度。从应用深度上来说,之前更多专注于报表分析,在大数据环境下则更多地进行算法分析,通过建立数据模型去预测和研判未来趋势。所以在这种境况下,对于系统的需求也更高:

 

要求结果数据尽可能快的获取;

实时性需求增多;

访问、获取途径多样便捷;

安全要求高。

 

在高需求下,传统仓库必然面临着挑战:数据量增长过快导致运行效率下降;数据集成代价大;无法处理多样性的数据;数据挖掘等深度分析能力欠缺。基于这些特征,用户该如何构建大数据仓库?在阿里云的数据仓库构建过程中,总结出了以下四个衡量标准:

 

稳定——数据产出稳定并有保障,维护系统的稳定性;

可信——数据干净,数据质量足够高,带来更高效的应用服务;

丰富——数据涵盖的业务面足够广泛;

透明——数据的构成体系要足够透明,使得用户放心。

 

一个完备的大数据仓库应该具备海量的数据存储及处理能力、多样的编程接口和计算框架、丰富的数据采集通道、多种安全防护措施及监控等特征,所以在架构构建时需要遵循一定的设计准则:

 

自上而下+自下而上地设计,数据驱动和应用驱动整合;

在技术选型上注重高容错性,保证系统稳定;

数据质量监控贯穿整个数据处理流程;

不怕数据冗余,充分利用存储交换易用,减少复杂度和计算量。

 

架构及模型设计

 

93c2fa36ea2daa9515cbafdd431ebe7613e5953c

 

一般来说,数据仓库的构建需要经历以上几个过程。好的架构设计,在功能架构、数据架构、技术架构上,都能够很好满足需求:

 

a1b6b4cd2f78b3e4e78acd594969ee716346dcab

功能架构示例:结构层次清晰

b1c0a4e7f2dd508744de44babbc64a2e4ec7258d

数据架构示例:注重数据流向,数据质量有保障

7565c3bb25c68849cbab2e996bd53497c3769cf8

技术架构示例:易扩展、易用

 

构建数仓的首要任务就是模型设计,业界一般采用的建模方法有两种:

 

维度建模:结构简单;便于事实数据分析;适合业务分析报表和BI

实体建模:结构复杂;便于主题数据打通;适合复杂数据内容的深度挖掘。

 

用户可以根据实际情况进行区分,而在实际数据仓库中,星型模型和雪花模型是并存的,有利于数据应用和减少计算资源消耗。

 

在数据处理分层上,一般采用较多的是上下三层结构:

 

1a2938a69683e68c7583ed24485cbcff635f8a02

 

这样设计是为了压缩整体数据处理流程的长度,扁平化的数据处理流程有助于数据质量控制和数据运维;把流式处理作为数据体系的一部分,能够更加关注数据的时效性,使得数据价值更高。

 

基础数据层

 

9c5ad5aaaceb19b3a4050c1e09003f52cdc9e5c5

 

数据中间层

 

cabbece6afd4059d5f90f6d1679429e43cda2d6e

 

围绕实体打通行为,能将数据源进行整合;从行为抽象关系,则是未来上层应用一个很重要的数据依赖。此外,冗余是个好手段,能够保证主题的完整性,提高数据易用性。

 

数据集市层

 

0385e4d6467123ab3ee80cdd8b3f6f80da5148d9

 

需求场景驱动的集市层建设,各集市之间是垂直构建的,需要能够快速试错,深度挖掘数据价值。

 

基于阿里云数加搭建大数据仓库

 

基于阿里云数加搭建大数据仓库的整个业务流程如下所示:

 

3f0cda26ec0bc641ce982462580e100d24f22227

 

阿里云的数加架构主要分为数据整合、数据体系、数据应用三个层次,如下图:

 

0bc76d18e4ef5fce3eb6184cff3a9193b2e03f1b

 

结构化数据采集通常涉及到全量采集和增量采集。全量采集是整个数仓的数据初始化,将历史数据快速地同步到计算平台;增量采集是初始化之后的数据同步。但在数据量巨大、增量数据同步资源消耗严重,或者后续的数据应用需要用到准实时数据的情况下,还会采用实时采集的方法,这种方法对采集端系统有一定的要求,而且采集质量最难控制。

 

事实上,日志原始结构越规范,解析的成本越低。在日志采集到平台之前,建议尽量不做结构化,后续再通过UDFMR计算框架实现日志结构化。

 

数据仓库与阿里云数加产品的对应关系

 

3d9e86c2112d3440caa1a585a1f9c2cfdf7cc0bd

 

离线数仓:MaxCompute数据共享的安全性

 

数仓的安全性是最为重要的话题。基于MaxCompute的多租户数据授权模型,是安全性非常之高的数据共享机制,在数据流、访问限制等方面能够有效防治。

 

9927f73e448e88dd9259e52f78e8e27353f891ea

 

架构设计中的一些最佳实践

 

d19bc860df9870485f1ce33a21c271a3e3baaad1

数据表命名规范

a5822297f3dd72097075735cba1845dc9f3d47a7

分区表、工作流设计

fd91900ac97a83e97cc9e14e1c96f82c56e4cd37

计算框架应用、优化关键路径

 

实际开发中的一些友好案例

 

e364f772e50d5cd7dd039910ef0781c531f7040a

 

7be5ffb8987e8a24921ce91401ad0cea099e5642

 

ffbcccea89e52d1d52eb6d38769fda1c7735c920

 

77740b641a593abcaff3787d93b578085438f1e7

 

用大数据治理大数据

 

数据治理分为保障机制、管理、内容建设几个方面,并且贯穿数据开发的整个过程:

 

fc216f6d98bb351daa2fe045c3171c2d9439d3e0

 

为了有效衡量数据治理的效果,阿里云使用的数据管理健康评估体系能够正确认识数据管理的健康性,给出数据管理健康分。

 

291a7f9565b5d25eb69afe9a74fc572a1f3cc7e5

 

在数据治理过程中,比较重要的一点是重复数据治理。重复数据治理有多种表现:

 

相同源头:重复拖取同一张表;

计算相似:读取表相同且处理特征相似;

简单加工:简单转换、裁剪后保存至新表;

同表同分区:数据保持不更新或业务已停止;

空跑表:运算结果数据持续为空;

命名相似:表名或字段名相似度较高;

特殊规则:通过已知业务规则识别。

 

数据质量管理体系

 

333ceb6e7b728403874dd5be0e12e1944fdca3fd

 

数据生命周期管理

 

a625f52495e99f59dffb3cea8eb8496c92b0bad1

 

总结:阿里大数据实践之路

 

b0a894c4c33738d88ccf3c2611ac2ed37e73003a


阿里巴巴大数据-玩家社区 https://yq.aliyun.com/teams/6/

---阿里大数据博文,问答,社群,实践,有朋自远方来,不亦说乎……

bba01b493e1c5d904e882b1c380673c6ebe49a98

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1天前
|
分布式计算 大数据 调度
MaxCompute产品使用合集之大数据计算MaxCompute底层加速查询的原理是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
1天前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用合集之大数据计算MaxCompute如何实现通过离线同步脚本模式
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
1天前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用合集之大数据计算MaxCompute是否支持直接在多个节点之间进行批量复制
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
MaxCompute产品使用合集之大数据计算MaxCompute是否支持直接在多个节点之间进行批量复制
|
1天前
|
分布式计算 运维 DataWorks
MaxCompute产品使用合集之大数据计算MaxCompute对于某个特定表该怎么获取,特定分区的instances id
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
1天前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之怎样可以将大数据计算MaxCompute表的数据可以导出为本地文件
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
1天前
|
SQL 分布式计算 运维
MaxCompute产品使用合集之在大数据计算MaxCompute中,怎么查看工作空间中正在运行的查询和任务
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
1天前
|
SQL 机器学习/深度学习 分布式计算
MaxCompute产品使用合集之大数据计算MaxCompute是否支持递归
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
1天前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用合集之可以在什么地方学习大数据计算MaxCompute?
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
1天前
|
SQL 数据采集 分布式计算
MaxCompute产品使用合集之大数据计算MaxCompute的PyODPS API相比ODPSSQL那个数据清洗的效率高
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
1天前
|
SQL 分布式计算 DataWorks
MaxCompute产品使用合集之大数据计算MaxCompute即使用相同的SQL语句在DataWorks和Tunnel上执行,结果却不同,如何解决
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute