首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
HAWQ取代传统数仓实践(十五)——事实表技术之无事实的事实表
】的更多相关文章
HAWQ取代传统数仓实践(十三)——事实表技术之周期快照
一.周期快照简介 周期快照事实表中的每行汇总了发生在某一标准周期,如一天.一周或一月的多个度量.其粒度是周期性的时间段,而不是单个事务.周期快照事实表通常包含许多数据的总计,因为任何与事实表时间范围一致的记录都会被包含在内.在这些事实表中,外键的密度是均匀的,因为即使周期内没有活动发生,通常也会在事实表中为每个维度插入包含0或空值的行. 周期快照是在一个给定的时间对事实表进行一段时期的总计.有些数据仓库用户,尤其是业务管理者或者运营部门,经常要看某个特定时间点的汇总数据.下面在示例…
HAWQ取代传统数仓实践(十九)——OLAP
一.OLAP简介 1. 概念 OLAP是英文是On-Line Analytical Processing的缩写,意为联机分析处理.此概念最早由关系数据库之父E.F.Codd于1993年提出.OLAP允许以一种称为多维数据集的结构,访问业务数据源经过聚合和组织整理后的数据.以此为标准,OLAP作为单独的一类技术同联机事务处理(On-Line Transaction Processing,OLTP)得以明显区分. 在计算领域,OLAP是一种快速应答多维分析查询的方法,也是商业智能的一个…
HAWQ取代传统数仓实践(十六)——事实表技术之迟到的事实
一.迟到的事实简介 数据仓库通常建立于一种理想的假设情况下,这就是数据仓库的度量(事实记录)与度量的环境(维度记录)同时出现在数据仓库中.当同时拥有事实记录和正确的当前维度行时,就能够从容地首先维护维度键,然后在对应的事实表行中使用这些最新的键.然而,各种各样的原因会导致需要ETL系统处理迟到的事实数据.例如,某些线下的业务,数据进入操作型系统的时间会滞后于事务发生的时间.再或者出现某些极端情况,如源数据库系统出现故障,直到恢复后才能补上故障期间产生的数据. 在销售订单示例中,晚于…
HAWQ取代传统数仓实践(十五)——事实表技术之无事实的事实表
一.无事实事实表简介 在多维数据仓库建模中,有一种事实表叫做"无事实的事实表".普通事实表中,通常会保存若干维度外键和多个数字型度量,度量是事实表的关键所在.然而在无事实的事实表中没有这些度量值,只有多个维度外键.表面上看,无事实事实表是没有意义的,因为作为事实表,毕竟最重要的就是度量.但在数据仓库中,这类事实表有其特殊用途.无事实的事实表通常用来跟踪某种事件或者说明某些活动的范围. 无事实的事实表可以用来跟踪事件的发生.例如,在给定的某一天中发生的学生参加课程的事件,可…
HAWQ取代传统数仓实践(十四)——事实表技术之累积快照
一.累积快照简介 累积快照事实表用于定义业务过程开始.结束以及期间的可区分的里程碑事件.通常在此类事实表中针对过程中的关键步骤都包含日期外键,并包含每个步骤的度量,这些度量的产生一般都会滞后于数据行的创建时间.累积快照事实表中的一行,对应某一具体业务的多个状态.例如,当订单产生时会插入一行.当该订单的状态改变时,累积事实表行被访问并修改.这种对累积快照事实表行的一致性修改在三种类型的事实表(事务.周期快照.累积快照)中具有独特性,对于前面两类事实表只追加数据,不会对已经存在的行进行更新操作.除了…
HAWQ取代传统数仓实践(十)——维度表技术之杂项维度
一.什么是杂项维度 简单地说,杂项维度就是一种包含的数据具有很少可能值的维度.事务型商业过程通常产生一系列混杂的.低基数的标志位或状态信息.与其为每个标志或属性定义不同的维度,不如建立单独的将不同维度合并到一起的杂项维度.这些维度,通常在一个模式中标记为事务型概要维度,一般不需要所有属性可能值的笛卡尔积,但应该至少包含实际发生在源数据中的组合值. 例如,在销售订单中,可能存在有很多离散数据(yes-no这种开关类型的值),如: verification_ind(如果订单已经被审核,…
HAWQ取代传统数仓实践(八)——维度表技术之角色扮演维度
单个物理维度可以被事实表多次引用,每个引用连接逻辑上存在差异的角色维度.例如,事实表可以有多个日期,每个日期通过外键引用不同的日期维度,原则上每个外键表示不同的日期维度视图,这样引用具有不同的含义.这些不同的维度视图具有唯一的代理键列名,被称为角色,相关维度被称为角色扮演维度. 当一个事实表多次引用一个维度表时会用到角色扮演维度.例如,一个销售订单有一个是订单日期,还有一个请求交付日期,这时就需要引用日期维度表两次. 我们期望在每个事实表中设置日期维度,因为总是希望按…
HAWQ取代传统数仓实践(十八)——层次维度
一.层次维度简介 大多数维度都具有一个或多个层次.例如,示例数据仓库中的日期维度就有一个四级层次:年.季度.月和日.这些级别用date_dim表里的列表示.日期维度是一个单路径层次,因为除了年-季度-月-日这条路径外,它没有任何其它层次.为了识别数据仓库里一个维度的层次,首先要理解维度中列的含义,然后识别两个或多个列是否具有相同的主题.例如,年.季度.月和日具有相同的主题,因为它们都是关于日期的.具有相同主题的列形成一个组,组中的一列必须包含至少一个组内的其它成员(除了最低级别的列),如在前面提…
HAWQ取代传统数仓实践(十二)——维度表技术之分段维度
一.分段维度简介 在客户维度中,最具有分析价值的属性就是各种分类,这些属性的变化范围比较大.对某个个体客户来说,可能的分类属性包括:性别.年龄.民族.职业.收入和状态,例如,新客户.活跃客户.不活跃客户.已流失客户等.在这些分类属性中,有一些能够定义成包含连续值的分段,例如年龄和收入这种数值型的属性,天然就可以分成连续的数值区间,而象状态这种描述性的属性,可能需要用户根据自己的实际业务仔细定义,通常定义的根据是某种可度量的数值. 组织还可能使用为其客户打分的方法刻画客户行为.分段维…
HAWQ取代传统数仓实践(十七)——事实表技术之累积度量
累积度量指的是聚合从序列内第一个元素到当前元素的数据,例如统计从每年的一月到当前月份的累积销售额.本篇说明如何在销售订单示例中实现累积月销售数量和金额,并对数据仓库模式.初始装载.定期装载做相应地修改.累积度量是半可加的,而且它的初始装载要复杂一些. 一.建立累积度量事实表 执行下面的脚本创建month_end_balance_fact事实表,用来存储销售订单金额和数量的月累积值. set search_path=tds; create table month_end_balance_fact…