精华内容
下载资源
问答
  • 数仓建模建模流程

    万次阅读 2020-12-05 19:45:32
    其实就是业务模型->概念模型->逻辑模型->物理模型的这样一个流程,下面我们详细解释一下各个模型阶段都要做什么

    建模的意义

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

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

    通过数据仓库建设的发展阶段,其实可以看出,数据仓库的建设和数据集市的建设的重要区别就在于数据模型的支持。因此,数据模型的建设,对于我们数据仓库的建设,有着决定性的意义。

    一般来说,数据模型的建设主要能够帮助我们解决以下的一些问题:

    进行全面的业务梳理 改进业务流程

    1. 在业务模型建设的阶段,能够帮助我们的企业或者是管理机关对本单位的业务进行全面的梳理。
    2. 通过业务模型的建设,我们应该能够全面了解该单位的业务架构图和整个业务的运行情况,能够将业务按照特定的规律进行分门别类和程序化。
    3. 同时,帮助我们进一步的改进业务的流程,提高业务
    展开全文
  • 数仓建模的思路步骤

    2021-03-29 17:24:53
    通过最近的学习与工作总结,针对不同层级的数仓建模特点,记录数仓建模实战中的一些思路与步骤。涉及到的数仓分层有:ODS层、DWD层、DWS层/DWT层、ADS层,其中ODS层属于业务数据库贴源层,存放的数据与业务系统源表...

    背景

    通过最近的学习与工作总结,针对不同层级的数仓建模特点,记录数仓建模实战中的一些思路与步骤。涉及到的数仓分层有:ODS层、DWD层、DWS层/DWT层、ADS层,其中ODS层属于业务数据库贴源层,存放的数据与业务系统源表保持一致,所以此处不做讲解。

    DWD层建模思路与步骤

    dwd层是以业务过程为驱动进行建模,dwd层需要构建维度模型,采用星型模型构建,呈现的形态为星座模型。

    dwd层建模步骤

    选择业务过程->声明粒度->确认维度->确认事实

    选择业务过程

    • 如何选择业务过程?

    梳理业务系统的业务流程,整个业务流程中产生用户行为的操作可以记为一个业务过程

    • 需要遵循的原则?

    挑选感兴趣的业务线,如下单业务、支付业务、退单业务,每个业务线对应一张事实表。

    中小型公司:一般涉及的业务表在50张以下,这时候尽可能选择所有业务线。

    大公司:一般涉及的业务表比较多,有的大公司涉及的业务表多达1000张左右,这时候需要根据业务需求选择对应的业务线。

    • 实例
    电商业务流转图

    上图中业务流转是:用户进入首页,通过搜索商品或者点击营销活动查看商品列表,当看到自己喜欢的商品后就会点击查看对应商品详情,发现这个商品还不错(哈哈性价比好高啦)一键点击加入购物车,然后继续买买买看看看,当想买的商品全部加入购物车后就提交订单进入支付页面,打开支付宝完成订单支付,忙完这一切终于可以满怀期待的等待宝贝送到家门口了。几天后快递送到了家门口,怀着好奇的心理打开了包裹,发现有的商品好喜欢啦果断收藏好评,但有的商品就有点不满意啦干脆直接退了吧。

    通过上面的业务流转可以梳理的业务过程有:搜索商品   加入购物车   提交订单   支付    退单   收藏     评价 ,每个业务过程通过记录到一张事实表中存放,这样就完成了业务流转抽象到事实表的过程。

    声明粒度

    • 什么是数据粒度?

    数据粒度指数仓的数据中保存数据的细化程度,通过声明粒度可以精确定义事实表中每一行表示什么意思。

    • dwd层该如何声明数据粒度?

    dwd层按照最小粒度进行划分,以满足上层各种数据需求取数。

    确认维度

    • 维度是什么?

    描述谁、何时、何处等信息,通过维度可以从不同角度看待事实

    • 确认维度的原则?

    根据维度建模中的星型模型进行维度退化,维度之间不会有关联关系,维度只会与事实表关联。如:会把商品表关联的非事实表信息退化到商品表中生成商品维度表(商品分类、商品品牌、商品其他属性等信息退化到商品表中)。

    后续需求中是否要分析相关维度的指标。如:后续的需求需要统计,哪个时间段的订单多,哪个地区的订单多,哪个用户的订单多,这时候需要关联的维度就有时间、地区、用户。

    下图为电商事实表与维度表之间的关联:

    左右两边是涉及的事实表,中间是所有的维度表,中间的次维表信息会退化到主维表中,这种设计方式就是基于星型模型进行维度建模

    电商事实表与维度表之间的关联

    确认事实

    • 什么是事实?

    指业务过程中的度量(个数、金额、次数、件数等这些可以累加的值),例如:订单金额、订单数量

    • 如何确定事实表中的度量有哪些?

    参照业务表中可以进行累加的值

    通过以上4个步骤最终得到的结果

    dwd层数据建模

    DWS层&DWT层建模的步骤与思路

    DWS层与DWT层统称为宽表层,设计思路相同,这两层主要是解决重复计算的问题。所有指标都统一进行计算,并将结果保存在该宽表中,这样就能有效避免数据的重复计算。

    • 需要建哪些宽表

    以维度为基准

    • 宽表里面的字段

    是站在不同维度的角度去看事实表,重点关注事实表聚合后的度量值。

    • DWS与DWT的区别

    DWS的聚合粒度是按天汇总,记录主题对象当天的汇总行为,如:某地区的当天下单金额,下单次数

    DWT的聚合粒度是一个比较长的周期,记录主题对象的累计行为,如:某地区最近7天(15天,30天)的下单次数、下单金额。

    ADS层

    报表层

     

    参考内容

    大数据数仓实战项目P163~P169:https://www.bilibili.com/video/BV1dD4y1d7wL?p=163

     

    展开全文
  • 数仓建模实战(建模流程) 前面我们介绍了PdMan,也就是CHINER,当然也介绍了二者的关系,前面主要介绍了CHINER有哪些功能,可以参考数仓建模—建模工具PDMan(CHINER) 入门介绍,但是没有实际的演示案例,今天我们就...

    数仓建模实战(建模流程)

    前面我们介绍了PdMan,也就是CHINER,当然也介绍了二者的关系,前面主要介绍了CHINER有哪些功能,可以参考数仓建模—建模工具PDMan(CHINER) 入门介绍,但是没有实际的演示案例,今天我们就通过一个小的案例来演示一下。

    我们今天演示的是一个OneID的例子,其实前面我们也讲过了怎么去做OneID,具体可以参考数仓建模—OneID落地实践

    业务建模

    因为我们这个例子其实和我们真实的业务系统没有多大关系,也就是说这个项目是一个由数据服务部门发现的一个项目,所以它的业务背景没有那么复杂,而且我们前面写了大量的文章来说明OneID,所以这里可以参考一下前面的文章

    数仓建模—ID Mapping(上)

    数仓建模—ID Mapping(下)

    数仓建模—OneID落地实践

    我们只需要知道一点就可以了,那就是我们做OneID的目的是为了打通更多的数据,从而更加全面准确的去刻画一个用户或者业务对象。

    当然这里我们需要了解

    展开全文
  • 数仓模型构建流程

    万次阅读 多人点赞 2019-08-10 19:18:19
    有兴趣者可以看下GitHub仓库有关数仓的总结。点这里 数据仓库的发展大致经历了这样的三个过程: 1. 简单报表阶段:这个阶段,系统的主要目标是解决一些日常的工作中业务人员需要的报表,以及生成一些简单的能够帮助...

    有兴趣者可以看下GitHub仓库有关数仓的总结。点这里

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

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

    通过数据仓库建设的发展阶段,其实可以看出,数据仓库的建设和数据集市的建设的重要区别就在于数据模型的支持。因此,数据模型的建设,对于我们数据仓库的建设,有着决定性的意义。

    一般来说,数据模型的建设主要能够帮助我们解决以下的一些问题:

    • 进行全面的业务梳理,改进业务流程。
      1.在业务模型建设的阶段,能够帮助我们的企业或者是管理机关对本单位的业务进行全面的梳理。
      2.通过业务模型的建设,我们应该能够全面了解该单位的业务架构图和整个业务的运行情况,能够将业务按照特定的规律进行分门别类和程序化。
      3.同时,帮助我们进一步的改进业务的流程,提高业务效率,指导我们的业务部门的生产。
    • 建立全方位的数据视角,消灭信息孤岛和数据差异。
      1.通过数据仓库的模型建设,能够为企业提供一个整体的数据视角,不再是各个部门只是关注自己的数据。
      2.而且通过模型的建设,勾勒出了部门之间内在的联系,帮助消灭各个部门之间的信息孤岛的问题。
      3.更为重要的是,通过数据模型的建设,能够保证整个企业的数据的一致性,各个部门之间数据的差异将会得到有效解决。
    • 解决业务的变动和数据仓库的灵活性。
      通过数据模型的建设,能够很好的分离出底层技术的实现和上层业务的展现。
      当上层业务发生变化时,通过数据模型,底层的技术实现可以非常轻松的完成业务的变动,从而达到整个数据仓库系统的灵活性。
    • 帮助数据仓库系统本身的建设。
      1.通过数据仓库的模型建设,开发人员和业务人员能够很容易的达成系统建设范围的界定,以及长期目标的规划,从而能够使整个项目组明确当前的任务,
      2.加快整个系统建设的速度。

    建模大致分为四个阶段:

    • 业务建模,这部分建模工作,主要包含以下几个部分:
      1.划分整个单位的业务,一般按照业务部门的划分,进行各个部分之间业务工作的界定,理清各业务部门之间的关系。
      2.深入了解各个业务部门的内具体业务流程并将其程序化。
      3.提出修改和改进业务部门工作流程的方法并程序化。
      4.数据建模的范围界定,整个数据仓库项目的目标和阶段划分。

    • 领域概念建模,这部分建模工作,主要包含以下几个部分:
      1.抽取关键业务概念,并将之抽象化。
      2.将业务概念分组,按照业务主线聚合类似的分组概念。
      3.细化分组概念,理清分组概念内的业务流程并抽象化。
      4.理清分组概念之间的关联,形成完整的领域概念模型。

      概念模型具体要求如下:
      在这里插入图片描述

    • 逻辑建模,这部分的建模工作,主要包含以下几个部分:
      1.业务概念实体化,并考虑其具体的属性。
      2.事件实体化,也就是所谓的事实,并考虑其属性内容。
      3.说明实体化,也就是所谓的维度,并考虑其属性内容。

      逻辑模型具体要求如下:
      在这里插入图片描述

    • 物理建模,这部分的建模工作,主要包含以下几个部分:
      1.针对特定物理化平台,做出相应的技术调整。
      2.针对模型的性能考虑,对特定平台作出相应的调整。
      3.针对管理的需要,结合特定的平台,做出相应的调整。
      4.生成最后的执行脚本,并完善之。

      物理模型具体要求如下:
      在这里插入图片描述
      其实简单点说,上面的模型设计流程大部分应用于DWD层,也就是事实维度层。通过建模,捋清逻辑,把业务落实到一张张表,并梳理表于表之间的关系。

    展开全文
  • 数仓建模流程

    2021-04-27 11:12:14
    大体流程为***业务模型->概念模型->逻辑模型->物理模型***。 业务建模 解决业务层面的分解和程序化。就是和业务部门聊聊需求,熟悉一下业务。了解一下你们需要啥数据(指标和维度),你们有啥数据。这过程...
  • 数仓建模数仓建模和业务建模

    千次阅读 2021-11-20 09:33:04
    数仓建模和业务建模
  • 数仓建模

    千次阅读 2020-04-19 15:29:51
    大数据的数仓建模是通过建模的方法更好的组织、存储数据,以便在 性能、成本、效率和数据质量之间找到最佳平衡点。一般主要从下面四点考虑 访问性能:能够快速查询所需的数据,减少数据I/O 数据成本:减少不必要的...
  • 数仓构建流程

    千次阅读 2019-08-10 19:16:24
    2. 维度:维度建模由Ralph Kimball提出。维度模型主张从分析决策的需求出发构建模型,为分析需求服务。维度是度量的环境,是我们观察业务的角度,用来反映业务的一类属性 。属性的集合构成维度 ,也可以称为实体对象...
  • 数仓和业务建模对比总结 ...本文就是讲述关于数仓建模的一些理解和实践经验分享。从大到小进行设计。 2. 整体建模思路 在学术界,数仓整体建模思路有2大类,一种是Bill Inmon的自上而下。另外一种是Ral
  • 数仓建模方法论——ER建模方法

    千次阅读 2019-11-11 17:18:19
    #ER建模遇到的问题: (1)如果存在一个实体与其它实体之间存在两个或更多的一对多联系,很可能存在扇形陷阱问题。扇形陷阱问题可以通过改变实体间的联系次序,从而重新构建模型解决。 (2)如果在实体联系的通路上...
  • 数据仓库是为企业提供聚合,存储,投递,以及提供决策支持能提,数据仓库包含广泛数据并按照主题进行存储并且是在数据仓库流程过程中的一个部分。Willianm(Bill) H.Inmon提出过一个概念:”一个面向主题的,集成的,时间...
  • 作者基于多年的大数据处理经验,当前管理着100PB+数据仓库和2000+节点的集群。持续系统化给大家分享一下关于数据...2. 数仓建模本质到底是什么?为什么维度建能模脱颖而出? 1.从小公司到大公司看数仓建模发展 ...
  • 数据仓库与数仓建模

    千次阅读 2020-07-11 17:46:04
    为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制2。 1.2 数据仓库的四个特点 面向主题:数据仓库是按照一定的主题来组织,仅存储与主题相关的数据。主题是指用户在构建数仓时考虑决策...
  • 【数仓设计】数仓建模的四种方法

    千次阅读 2020-04-17 10:55:30
    大数据的数仓建模是通过建模的方法更好的组织、存储数据,以便在 性能、成本、效率和数据质量之间找到最佳平衡点。一般主要从下面四点考虑 访问性能:能够快速查询所需的数据,减少数据I/O 数据成本:减少不必要的...
  • 数仓建模相关理论

    2021-01-19 14:28:14
    企业的高度设计一个3NF模型的方法,用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF,其是站在企业角度进行面向主题的抽象,而不是针对某个具体业务流程的 二、维度模型 以维度建模为基础,...
  • 数据仓库建模流程

    千次阅读 2019-03-06 17:36:16
    数据模型:抽象描述现实世界的一种工具和方法,通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。在这里,数据模型表现的抽象的是实体和...1)业务建模,生成业务模型,主要解决业...
  • 大数据数仓建模

    2020-10-16 19:55:39
            大数据项目之电商数仓(用户行为数据采集) 数据仓库简介       1.什么是数据库?     数据库(database)是按照数据结构来组织,存储和管理数据的建立在计算机存储设备上的仓库。    ...
  • 大数据数仓建模.txt

    2020-06-19 09:00:00
    大数据数仓建模视频-包含数仓方法论,以及从采集到完成的整套大数据流程(设计知识点kimball维度建模+sqoop+flume+hive+spark),并通过上诉框架完成整套项目流程
  • 数仓建模与规范

    2021-09-22 15:52:19
    一、数仓基本概念 1、数据仓库定义 数据仓库定义有很多,我主要从它的应用和目的来说一下我的理解,数据仓库主要应用于OLAP(联机分析处理),这里的重点是分析,那分析什么呢? 传统的数据库主要应用是OLTP...
  • 如何对数仓进行建模

    2019-06-12 00:25:37
    如何对数仓进行建模,点击链接前往
  • 通俗易懂数仓建模—Inmon范式建模与Kimball维度建模

    千次阅读 多人点赞 2021-04-08 14:36:20
    在数据仓库领域,有两位大师,一位是“数据仓库”之父 Bill Inmon,一位是数据仓库权威专家 Ralph Kimball,两位大师每人都有一本经典著作,Inmon大师著作《数据仓库》及Kimball大师的《数仓工具箱》,两本书也代表...
  • 1.建模目标 数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。Linux的创始人Torvalds有一段关于“什么才是优秀程序员”的话:“烂程序员关心的是代码,好程序员关心的是数据结构和...
  • 浅谈数仓建模及其方法论

    千次阅读 2019-09-21 11:44:18
    1.数仓的定义: 2.数据仓库和数据库的区别: 数仓的发展 1.简单报表阶段:这个阶段,系统的主要目标是解决一些日常的工作中业务人员需要的报表,以及生成一些简单的能够帮助领导进行决策所需要的汇总数据。这个...
  • 数仓建模和分层

    2021-09-14 09:13:05
    1 数仓建模 1.1 范式建模(关系型数据库) 1.1.1 第一范式(1NF) 1.1.2第二范式(2NF) 1.1.3第三范式(3NF) 1.1.4 范式建模优缺点 1.2 ER实体建模(Entity-relationship model) 1.2.1 ER 模型三个关键 1.2.2 ER ...
  • 数仓建模方法论

    2020-12-08 23:01:04
    建模方法论 数仓建模或者分层,其实都是为了更好的去组织、管理、维护数据,所以当你站在更高的维度去看的话,所有的划分都是为了更好的管理。小到JVM 内存区域的划分,JVM 中堆空间的划分...
  • 大数据数仓建模(5)

    2020-10-22 16:31:52
    5.1 数仓概念总结 1)数据仓库的输入数据源和输出系统分别是什么? 输入系统:埋点产生的用户行为数据、JavaEE后台产生的业务数据。 输出系统:报表系统、用户画像系统(部分是大数据,部分是的算法)、推荐系统...
  • 数仓建模—数据治理

    万次阅读 2020-12-05 19:51:19
    文章目录数据治理统一流程参考模型为什么要治理数据质量层次不齐数据交换和共享困难缺乏有效的管理机制存在数据安全隐患发现问题严重滞后影响不清晰DMBOK的数据治理框架数仓治理治理的分类粗治理细治理数据源治理...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,854
精华内容 1,141
关键字:

数仓建模全流程