APP下载

大资料面试必问之一数仓架构和建模基础

消息来源:baojiabao.com 作者: 发布时间:2024-05-09

报价宝综合消息大资料面试必问之一数仓架构和建模基础

数仓架构和建模基础

资料仓库定义:

目的:支援决策分析

应用: 离线资料报表、资料探勘、即席查询

四个特征:

面向主题: 资料归类整合:多种型别资料,来源多,格式多, 整合代表最终统一非易失的, 写入后一般不修改和删除,多为查询(读)操作时变性: 一定时间范围内,记录资料变化和其对应的时间

发展阶段:

资料仓库的发展大致经历了这样的三个过程:

简单报表阶段:这个阶段,系统的主要目标是解决一些日常的工作中业务人员需要的报表,以及生成一些简单的能够帮助领导进行决策所需要的汇总资料。这个阶段的大部分表现形式为数据库和前端报表工具。资料集市阶段:这个阶段,主要是根据某个业务部门的需要,进行一定的资料的采集,整理,按照业务人员的需要,进行多维报表的展现,能够提供对特定业务指导的资料,并且能够提供特定的领导决策资料。资料仓库阶段:这个阶段,主要是按照一定的资料模型,对整个企业的资料进行采集,整理,并且能够按照各个业务部门的需要,提供跨部门的,完全一致的业务报表资料,能够通过资料仓库生成对对业务具有指导性的资料,同时,为领导决策提供全面的资料支援。资料模型的作用:

进行全面的业务梳理,改进业务流程建立全方位的资料视角,消灭资讯孤岛和资料差异。解决业务的变动和资料仓库的灵活性帮助资料仓库系统本身的建设

资料仓库的架构

数仓的上游是各种资料来源:

企业内部资料:使用者行为日志数据库资料文字资料企业外部资料爬虫爬取的资料第三方提供的资料通过 ETL将资料汇入资料仓库ETL(Extract-Transform-Load)记 用来描述将资料从来源端经过抽取(extract)、转换(transform)、载入(load)至目的端的过程。

ETL包含两部分,资料载入到数仓,数仓资料载入到外部以支援资料应用

广义的ETL还包括 资料清洗步骤,但把资料清洗放在资料仓库来做更好一些,因为这样数仓里的是全部资料。

资料在数仓中:

会经过各种计算,从而支援决策分析首先对明细资料进行加工:资料清洗资料整合在得到”干净的明细资料后“,在此基础上资料聚合统计多维资料模型业务模型建设在资料仓库的资料和计算的基础上:

搭建总类繁多的资料应用:资料报表、即席查询、资料分析和资料探勘资料应用消费资料仓库的资料分析结果对外提供服务资料应用本身也可能会产生新的资料并被归集进资料仓库

资料体系架构

资料分层的概念便于对资料进行管理、开发 和运维常见分为3层;ODS(Operational Data Store,操作型资料)储存来自资料来源的基本一次的增量或全量资料ODS实现了对资料来源的统一的一次资料抽取资料仓库的计算都基于ODS的资料,不用重复抽取,也不会在资料来源上直接进行计算资料仓库和业务系统的解耦(通过ETL界面实现)ODS资料和资料来源是一致的,便于问题排查CDM (Common Data Model,通用资料模型)DWD(Data Warehouse Detail,资料仓库明细层资料)从ODS层的资料,经过资料清洗后得到的明细宽表DWS(Data Warehouse Summary,资料仓库汇总层资料)由 DWD的资料可以经过适当的汇总,通过轻度、重度汇总 得到DIM(资料维表)ADS (Application Data Service,面向应用的资料服务层)针对具体专题分析而做的计算产生的表资料集市资料集市:简称DM,以某个应用为出发点而建设的区域性DW,为什么这么说,DM只关心自己需要的资料。不会全盘考虑企业整体的资料架构和应用,每个应用都有自己的DM。所以DM可以基于仓库建设也可以独立建设。

资料建模基础

资料仓库的资料来自业务的资料,最终也用于为实现业务目标的计算。资料仓库的模型设计需要从业务出发,一般经过概念模型设计、逻辑模型设计和物理模型设计三个层次,最终的到资料仓库的模型。

概念模型设计

资料仓库是面向主题的通过分析和归纳,可以把业务划分成几个主题,并确定各个主题之间的联络逻辑模型设计

定义了资料仓库各种实体、属性和关系,指导后续的资料储存、组织和资料应用的开发Inmon提出的自上而下(EDW-DM)的正规化建模理论

三正规化第一正规化(确保每列保持原子性):第一正规化是指表中的所有字段值都是不可分解的原子值。第二正规化:确保表中的每列都和主键相关第三正规化:确保每列都和主键列直接相关,而不是间接相关优点:易于维护,高度整合,方便主题资料打通,适合复杂资料内容的深度挖掘缺点:因为三正规化的资料不是多维格式的,互动的时候效率比较低下,不方便上层应用做资料分析Kimball的从下至上(DM-DW)的维度建模理论

在维度建模里,ODS的资料,利用维度建模方法建设一致维度的资料集市。通过一致性维度可以将资料集市联络在一起,由所有的资料集市组成资料仓库。

优势:构建迅速,最快的看到投资回报率,敏捷灵活,便于事实资料分析,适合业务分析报表和BI

劣势:作为企业资源不太好维护,结构复杂,资料集市整合困难。

星形模型* 由一个事实表和一组维表组成。每个维表都有一个维作为主键。事实表居中,多个维表呈辐射状分布于其四周,并与事实表连线,形成一个星型结构 

雪花模型雪花模型是在星形模型基础上,基于正规化理论做的进一步层次化,将某些维表扩充套件成事实表,最终形成雪花状的结构。优点:在一定程度上减少了储存空间;规范化的结构更容易更新和维护缺点:雪花模式比较复杂,使用者不容易理解;浏览内容相对困难;额外的连线将使查询效能下降复合架构

利用正规化建模方法,建设原子资料的资料仓库EDW,然后基于EDW,利用维度建模方法建设资料集市。在实际资料仓库中,星型模型和雪花模型是并存的,有利于资料应用和减少计算资源消耗。

实际数仓建设中没有必要刻意遵从哪种规范来实践,更多需要业务需要、效能需要之间做权衡。

物理模型设计

物理模型设计是指根据逻辑模型设计都结果为基础,设计资料物件的物理实现

表的命名规则和字段命名规则如何定义字段的型别如何选择表是如何设定分割槽方式以及资料的储存位置和方式(比如是否定时归档或者删除等)。表内是否有索引或者主键等等字段命名:

一个合理的表命名方式可以清晰地告诉使用者这些表在资料仓库里处于哪个层次。另外可以通过命名可以一目了然地让使用者了解资料的归属、含义、更新频率等重要资讯,减少资料的查询和理解的成本

图是一个典型的命名方式

资料储存周期

资料仓库里的每一份资料,在从外部资料来源汇入后,又会进过多次的计算,中间也难免会有中间资料的落盘。真实存在资料仓库中间的资料经常会膨胀数倍甚至数十倍。合理地针对有用的资料进行归档以及对无用资料的及时删除,可以减少储存和管理的成本。

参考连结:

浅谈资料仓库建设中的资料建模方法

2019-06-30 11:46:00

相关文章