摘要: 数加大数据直播系列课程主要以基于阿里云数加MaxCompute的企业大数据仓库架构建设思路为主题分享阿里巴巴的大数据是怎么演变以及怎样利用大数据技术构建企业级大数据平台。 本次分享嘉宾是来自阿里云大数据的技术专家祎休 背景与整体思路 数据仓库是一个面向主题的、集成的、非易失的、反映历史变化的数据集合用于支持管理决策。
数加大数据直播系列课程,主要以基于阿里云数加MaxCompute的企业大数据仓库架构建设思路为主题,分享阿里巴巴的大数据是怎么演变以及怎样利用大数据技术构建企业级大数据平台。
本次分享嘉宾是来自阿里云大数据的技术专家祎休!
背景与整体思路
数据仓库是一个面向主题的、集成的、非易失的、反映历史变化的数据集合,用于支持管理决策。其结构图以下所示:
随着大数据、云计算等技术的应用和普及,互联网环境下数据处理呈现出新的特征:业务变化快;数据来源多;系统耦合多;应用深度深。业务变化加快致使数据来源增多,之前的数据大多来自于应用系统数据库,基本为结构化数据,好比Oracle、MySQL等数据。如今的互联网环境下有了更多的数据,好比网站的点击日志、视频数据、语音数据,这些数据都须要经过统一的计算来反映企业的经营情况。在互联网环境下,系统耦合也相对比较多,最重要的是要注重如何在这样的环境下加深数据整合、提高应用深度。从应用深度上来讲,以前更多专一于报表分析,在大数据环境下则更多地进行算法分析,经过创建数据模型去预测和研判将来趋势。因此在这种境况下,对于系统的需求也更高:
要求结果数据尽量快的获取;
实时性需求增多;
访问、获取途径多样便捷;
安全要求高。
在高需求下,传统仓库必然面临着挑战:数据量增加过快致使运行效率降低;数据集成代价大;没法处理多样性的数据;数据挖掘等深度分析能力欠缺。基于这些特征,用户该如何构建大数据仓库?在阿里云的数据仓库构建过程当中,总结出了如下四个衡量标准:
稳定——数据产出稳定并有保障,维护系统的稳定性;
可信——数据干净,数据质量足够高,带来更高效的应用服务;
丰富——数据涵盖的业务面足够普遍;
透明——数据的构成体系要足够透明,使得用户放心。
一个完备的大数据仓库应该具有海量的数据存储及处理能力、多样的编程接口和计算框架、丰富的数据采集通道、多种安全防御措施及监控等特征,因此在架构构建时须要遵循必定的设计准则:
自上而下+自下而上地设计,数据驱动和应用驱动整合;
在技术选型上注重高容错性,保证系统稳定;
数据质量监控贯穿整个数据处理流程;
不怕数据冗余,充分利用存储交换易用,减小复杂度和计算量。
架构及模型设计
通常来讲,数据仓库的构建须要经历以上几个过程。好的架构设计,在功能架构、数据架构、技术架构上,都可以很好知足需求:
功能架构示例:结构层次清晰
数据架构示例:注重数据流向,数据质量有保障
技术架构示例:易扩展、易用
构建数仓的首要任务就是模型设计,业界通常采用的建模方法有两种:
维度建模:结构简单;便于事实数据分析;适合业务分析报表和BI。
实体建模:结构复杂;便于主题数据打通;适合复杂数据内容的深度挖掘。
用户能够根据实际状况进行区分,而在实际数据仓库中,星型模型和雪花模型是并存的,有利于数据应用和减小计算资源消耗。
在数据处理分层上,通常采用较多的是上下三层结构:
这样设计是为了压缩总体数据处理流程的长度,扁平化的数据处理流程有助于数据质量控制和数据运维;把流式处理做为数据体系的一部分,可以更加关注数据的时效性,使得数据价值更高。
基础数据层
数据中间层
围绕实体打通行为,能将数据源进行整合;从行为抽象关系,则是将来上层应用一个很重要的数据依赖。此外,冗余是个好手段,可以保证主题的完整性,提升数据易用性。
数据集市层
需求场景驱动的集市层建设,各集市之间是垂直构建的,须要可以快速试错,深度挖掘数据价值。
基于阿里云数加搭建大数据仓库
基于阿里云数加搭建大数据仓库的整个业务流程以下所示:
阿里云的数加架构主要分为数据整合、数据体系、数据应用三个层次,以下图:
结构化数据采集一般涉及到全量采集和增量采集。全量采集是整个数仓的数据初始化,将历史数据快速地同步到计算平台;增量采集是初始化以后的数据同步。但在数据量巨大、增量数据同步资源消耗严重,或者后续的数据应用须要用到准实时数据的状况下,还会采用实时采集的方法,这种方法对采集端系统有必定的要求,并且采集质量最难控制。
事实上,日志原始结构越规范,解析的成本越低。在日志采集到平台以前,建议尽可能不作结构化,后续再经过UDF或MR计算框架实现日志结构化。
数据仓库与阿里云数加产品的对应关系
离线数仓:MaxCompute数据共享的安全性
数仓的安全性是最为重要的话题。基于MaxCompute的多租户数据受权模型,是安全性很是之高的数据共享机制,在数据流、访问限制等方面可以有效防治。
架构设计中的一些最佳实践
数据表命名规范
分区表、工做流设计
计算框架应用、优化关键路径
实际开发中的一些友好案例
用大数据治理大数据
数据治理分为保障机制、管理、内容建设几个方面,而且贯穿数据开发的整个过程:
为了有效衡量数据治理的效果,阿里云使用的数据管理健康评估体系可以正确认识数据管理的健康性,给出数据管理健康分。
在数据治理过程当中,比较重要的一点是重复数据治理。重复数据治理有多种表现:
相同源头:重复拖取同一张表;
计算类似:读取表相同且处理特征类似;
简单加工:简单转换、裁剪后保存至新表;
同表同分区:数据保持不更新或业务已中止;
空跑表:运算结果数据持续为空;
命名类似:表名或字段名类似度较高;
特殊规则:经过已知业务规则识别。
数据质量管理体系
数据生命周期管理
总结:阿里大数据实践之路
识别如下二维码,阅读更多干货