《数据仓库工具箱》——建模四步骤

Kimball建模方法的精髓,就是简单、使用,建模这四步骤是它的核心部分。用术语表达是:始终一致的四步设计维度模型。

一、选择业务过程

业务过程是由组织完成的一系列微观活动,例如:完成下单、完成支付、发放代金券、上线产品等等。充分理解它们,有助于辨别组织中的不同业务过程,它一般具有这些特性:

  • 用行为动词表示:它们通常表示业务过程的活动,比如用户下单、用户支付、商家退款等
  • 一般由某个操作系统支持:比如下单由tts支持、产品上架由产品中心支持等
  • 生成度量:度量一般由操作过程直接生成,比如用户支付金额,由用户支付过程直接产生。分析人员一般工作事件分析度量结果。一句话总结:一系列过程产生一系列事实表

数据仓库人员不仅要详细了解业务过程,还要充分理解用户需求(特别是他们的KPI),因为用户一般很难回答:“你对哪些业务过程感兴趣”,而是使用BI分析来自业务过程的性能度量

我们即需要理解上面的什么是业务过程,也需要理解如下的什么不是业务过程。比如部分功能划分就不是业务过程,我们应该将注意力放在业务过程而不是不同的部门,这样才能避免重复的获取数据。

二、声明粒度

粒度说命名事实表的每一行表示什么。比如:用户下单的内容放倒订单事实表的每一行中。这里的关键是粒度的描述,不能讲维度列出来,而代替粒度声明。这一步特别容易被忽略,粒度声明需要达成共识,否则极有可能到下面三四步之后返工回来

三、确定维度

如果粒度合适,维度很容易确定,因为维度是用来描述:“谁、何时何地、为何、如何”。比如常用的维度是:日期、产品、景区

四、确定事实

回答:“业务的度量是什么”来思考事实。属于不同粒度的事实要放在不同的事实表中。

总结

强烈抵制仅仅考虑数据来源建模的方案,比如订单类数据,是从tts获取的,那么就将这些数据放在一起。这样虽然比了解业务过程方便很多,但数据不能代替用户的输入,这样做基本注定会失败!

需要综合考虑业务用户徐妞和数据来源的实际情况,并与四步联系起来,如下图所示的建模方案。

时间: 2024-08-06 22:48:42

《数据仓库工具箱》——建模四步骤的相关文章

数据仓库专题(2)-Kimball维度建模四步骤

一.前言 四步过程维度建模由Kimball提出,可以做为业务梳理.数据梳理后进行多维数据模型设计的指导流程,但是不能作为数据仓库系统建设的指导流程.本文就相关流程及核心问题进行解读. 二.数据仓库建设流程 以下流程是根据业务系统.组织结构.团队结构现状设定的数据仓库系统建设流程,适合系统结构复杂,团队协作复杂,人员结构复杂的情况,并且数据仓库建设团队和业务系统建设团队不同的情况.具体流程如下图所示: 图1 数据仓库系统建设流程 三.四步维度建模 Kimball四步建模流程适合上述数据仓库系统建设

《数据仓库工具箱》——如何做好数据仓库

最近打算阅读一下数据仓库相关的书籍,百度了一下,有两本必读书<数据仓库工具箱>和<数据仓库>.简单介绍一下,<数据仓库>这本书更像是一本教材,里面的内容很经典:<数据仓库工具箱>看书名是一本单纯的工具书,其实里面都是实战.两本书各有千秋,我决定主要阅读<数据仓库工具箱>,今天分享第一章的内容,以后会做系列分享. 第一章主要介绍了维度建模的好处,Kimball的历史和技术架构,以及与其他类似架构的优劣,但其核心议题是:“如何做好数据仓库?” 说实话

Java中都通用文件下载(ContentType、文件头、response、out四步骤)

Java中都通用文件下载(ContentType.文件头.response.out四步骤) 新浪微博:IT国子监(记得关注噢) http://weibo.com/itguozijian   我们就直接切入主题啦,文件下载只需要四步: 1.设置文件ContentType类型 2.设置文件头 3.通过response获取ServletOutputStream对象(out) 4.写到输出流(out)中 下载代码: 这里我使用的是SpringMVC,不过它在这里的唯一用途就是用来获取ServletCon

Java使用Protocol Buffers入门四步骤

Protocol Buffers(简称protobuf)是谷歌的一项技术,用于将结构化的数据序列化.反序列化,经常用于网络传输. 这货实际上类似于XML生成和解析,但protobuf的效率高于XML,不过protobuf生成的是字节码,可读性比XML差.类似的还有json.Java的Serializable等. protobuf支持各种语言.本文以Java为例,简单介绍protobuf如何使用.其他语言使用方法类似. 首先需要下载: http://download.csdn.net/downlo

用HAWQ轻松取代传统数据仓库(十四) —— 高可用性

一.HAWQ高可用简介 HAWQ作为一个传统数仓在Hadoop上的替代品,其高可用性至关重要.通常硬件容错.HAWQ HA.HDFS HA是保持系统高可用时需要考虑并实施的三个层次.另外实时监控和定期维护,也是保证集群所有组件健康的必不可少的工作.        总的来说,HAWQ容错高可用的实现方式包括: 硬件冗余 master镜像 双集群 1. 硬件级别的冗余(RAID和JBOD) 硬件组件的正常磨损或意外情况最终会导致损坏,因此有必要提供备用的冗余硬件,当一个组件发生损坏时,不中断服务.某

笔记四+步骤截图

######4.时间同步#### 1)服务端 yum install chrony -y vim /etc/chrony.conf ##主配置文件 21行 # Allow NTP client access from local network. 22行 allow 172.25.7.11/24 ##允许谁去同步我的时间 27行 # Serve time even if not synchronized to any NTP server. 28行 local stratum 10 ##不去同步

《数据仓库工具箱》——事实表

事实表分成三种:事务事实表.周期快照事实表.累计快照事实表 事务事实表 官方定义是:发生在某个时间点上的一个事件.比如以订单为例:下单是一个事实.付款是一个事实.退款是一个事实,所有事实的累计就是事务事实表 周期快照事实表 如果需要对某一天或者某个月的数据进行分析,那么可以使用周期快照事实表,比如:以天举例,财务报表一般都是周期快照事实表,它的最细粒度主键就是:日期+订单 累计快照事实表 累计快照表,一般都是订单表,它记录的是某个时间一个订单最终的状态 三种事实表的区别

JDBC连接mySQL数据库关键四步骤

1.查找驱动程序 MySQL目前提供的Java驱动程序为Connection/J,可以从MySQL官方网站下载,并找到mysql-connector-java-3.0.15-ga-bin.jar文件,此驱动程序为纯Java驱动程序,JDBC链接MySQL不需做其他配置. 2.动态指定classpath 如果需要执行时动态指定classpath,就在执行时采用-cp方式.否则将上面的.jar文件加入到classpath环境变量中. 3.加载JDBC 连接MySQL try{ Class.forNa

20190424 数据仓库 维度建模(一)

1. 简单一点的模型,事实表 , 维度表 事实表:具有连贯数据编号的业务型数据,例如:发生的销售事实,才放入的数据,不要用0去表示,因为会有很多0 需要处理 维度表:维度表通常不满足第3范式,它通常非规范化,一个维度表往往存储在多对一的关系,和事实表相比较维度表要小很多,所有在存储来说,不怎么占空间 关注的重点是简单性和可访问性 Kimball 的DW/BI架构 源事务--->后端(ETL)--->前端(展示区/BI应用等) 原文地址:https://www.cnblogs.com/Soar-