数仓中面向主题的含义及场景详解

面向主题

面向主题是数仓的四大特点之一,听起来很高大上,但是细细理解起来却有些费劲,本文主要是记录一下个人的理解,参考互联网上各种博客进行理解。

概念解析

  • 抽象概念
    • 主题(Subject) :在较高层次上将企业信息系统中数据进行综合、归类分析利用。属于一个抽象概念,每一个主题基本对应一个宏观分析领域。
  • 逻辑概念
    • 主题(Subject)是对应企业中某一宏观分析领域所涉及的分析对象(重点是分析的对象,对象,仔细理解一下对象的含义)。例如:"销售分析"就是一个分析领域,这个"销售分析"所涉及到的分析对象为商品、供应商、顾客、仓库等,那么数仓主题可以确定为商品主题、供应商主题、顾客主题、仓库主题;联系到下文"销售分析"可以作为一个主题域;如果"产品分析"是一个分析领域,"产品分析"所涉及到的分析对象为商品、地域、时间、类别等,那么数仓的主题确定为商品主题、地域主题、时间主题、类别主题,"产品分析"可以作为一个主题域。
  • 总结
    • 数仓的主题就是对某个分析领域的概念总结,是一个高屋建瓴式的方向领导,一个数仓可以有一个主题或者多个主题。
    • 主题是根据分析的要求确定的,这与按照数据处理或应用的要求来组织数据是不同的。例如:对于材料供应业务,在面向数据库系统中,重点应该效率化的处理材料供应的业务处理,在面向数据分析中,重点应该放在材料供应是否及时,材料供应质量,采购渠道等维度。
    • 数仓中,面向主题的数据组织方式,就是在较高层次上对被分析对象有一个完整、一致的描述,能刻画各个分析对象所涉及到的各项数据及数据之间的关系;
    • 通常在建立数据仓库的数据模型中已经定义好主题。典型的主题领域包括顾客、产品、订单和财务或是其他某项事务或活动。

主题域

此项有争议,下文从集合论和边界论两个方面进行分析

从数据角度看(集合论)

  • 主题域通常是联系较为紧密的数据主题的集合。可以根据业务的关注点,将这些数据主题划分到不同的主题域。主题域的确定必须由最终用户和数据仓库的设计人员共同完成;

  • 个人理解:这种划分方式似乎是在Kimball学院派思想,确定主题和维度;

  • 主题域、主题、实体间关系

     

    数仓中面向主题的含义及场景详解_第1张图片

    主题域实体关系.jpg

  • 注意:从数据角度的前提是已经经过分析、梳理列出所有可能的数据主题,此处数据主题是细粒度的,是从微观到宏观 ;

从需要建设的数仓主题看(边界论)

  • 主题域是对某个主题进行分析后确定的主题的边界。
  • 因为在数仓的建设过程中,一般会一次建立一个主题或者是全部主题的一部分,需要对某个主题进行分析,确定主题所涉及到的表、字段、维度等界限。
  • 个人理解:边界论的思想似乎和Inmon学院派指导思想类似,理清主题之间的边界,可以由ER模型进行逻辑转化得来,对某一主题域的分析,需要先确定这个主题的关系边界,然后再进行逻辑建模。 有点自顶向下的进行设计开发的感觉;
  • 经典案例分析,以Adventure Works Cycle公司案例进行分析
    • Adventure 数仓需要分析的一般为主题:供应商主题、商品主题、客户主题和仓库主题。
      • 商品主题:超市商品的采购情况、商品的销售情况和商品的存储情况;
      • 供应商主题:供应商类别、供应时间、供应货物类别等情况;
      • 顾客主题:客户购买商品的情况;
      • 仓库主题:仓库中商品的存储情况和仓库的管理情况等;

        数仓中面向主题的含义及场景详解_第2张图片

        主题域边界论

    • 对需要初期建设的四个主题进行边界确定,确定主题边界需要进一步理解业务知识(注意:业务大于技术,注意业务知识的积累) ,各个主题边界确定的过程就是对每个主题进行细化过程,即由宏观把握到微观执行;

      数仓中面向主题的含义及场景详解_第3张图片

      主题域边界确定

确定主题内容

  • 当数仓主题定义好之后,数据仓库中的逻辑模型也就基本成形了,需要在主题的逻辑关系中列出属性和系统相关行为;此阶段需要定义好数据仓库的存储结构,向主题模型中添加所需要的信息和能充分代表主题的属性组;
  • 经典案例说明:
    • 以Adventure Works Cycle公司案例进行分析,分析主题:商品、销售、客户,在上述主题上添加能充分说明主题的属性组;

       

      数仓中面向主题的含义及场景详解_第4张图片

      主题的详细描述.PNG

主题的使用

  • 由于数据仓库的设计是一个螺旋发展的过程,在刚开始,没有必要在数据仓库的数据库中体现所有的主题,选择最重要的主题作为数据仓库设计的试金石是很有必要的。因此使用主题首先是找到需要分析的主题域。
  • 经典案例说明:
    • AdventureWorksDW数据仓库的概念模型设计中,在对需求进行分析后,认识到“商品”主题既是一个销售型企业最基本的业务对象,又是进行决策分析的最主要领域,因而把“销售分析”主题域(注意是销售分析是主题域)定义为要首先建立的主题域。通过“商品”主题的建立,经营者就可以对整个企业的经营状况有较全面的了解。先实施“商品”主题可以尽快地满足企业管理人员建立数据仓库的最初要求,所以先选定“商品”主题进行实施。
    • 确定"销售分析"主题域,即对商品主题进行边界划分;
      • 商品主题可能涵盖的关系表有商品表、供应关系表、购买关系表和仓储关系表;
      • 仓库主题可能涵盖的关系表有仓库关系表、仓库表、仓库管理关系表和管理员表。
      • 供应商主题可能涵盖的关系表由:供应商关系表,供应关系表等;
      • 顾客主题可能涵盖顾客购买表,顾客关系表等;
    • 把这些表的键和字段联系起来 ,可以形成如下的主题域边界划分的原始模型;

       

      数仓中面向主题的含义及场景详解_第5张图片

      销售分析主题域边界确定原始模型




原文链接:https://www.jianshu.com/p/708f5606dd01
 

你可能感兴趣的:(数据仓库)