维度理论

数据仓库维度建模

戏子无情 提交于 2020-01-23 02:43:49
概述 数据仓库包含的内容很多,它可以包括架构、建模和方法论。对应到具体工作中的话,它可以包含下面的这些内容: 以Hadoop、Spark、Hive等组件为中心的数据架构体系。 各种数据建模方法,如维度建模。 调度系统、元数据系统、ETL系统、可视化系统这类辅助系统。 我们暂且不管数据仓库的范围到底有多大,在数据仓库体系中,数据模型的核心地位是不可替代的。 因此,下面的将详细地阐述数据建模中的典型代表:维度建模,对它的的相关理论以及实际使用做深入的分析。 文章结构 本文将按照下面的顺序进行阐述: 先介绍比较经典和常用的数据仓库模型,并分析其优缺点。 详细介绍维度建模的基本概念以及相关理论。 为了能更真切地理解什么是维度建模,我将模拟一个大家都十分熟悉的电商场景,运用前面讲到的理论进行建模。 理论和现实的工作场景毕竟会有所差距,这一块,我会分享一下企业在实际的应用中所做出的取舍。 0x01 经典数据仓库模型 下面将分别介绍四种数据仓库模型,其中前三种模型分别对应了三本书:《数据仓库》、《数据仓库工具箱》和《数据架构 大数据 数据仓库以及Data Vault》,这三本书都有中文版,非常巧的是,我只有三本数据仓库的书,正好对应了这三种理论。 Anchor模型我并不是特别熟悉,放在这里以供参考。 一、实体关系(ER)模型 数据仓库之父Immon的方法从全企业的高度设计一个3NF模型

STL和Concept

戏子无情 提交于 2020-01-19 03:42:50
我不得不先发个牢骚,为什么搞CS的人就这么喜欢发明新名词呢?而且又喜欢用这么常用的单词,以后歧义会越来越多的。 Concept,如果不了解Generic Programming的,肯定不知道它指的是什么。STL引入了Concept,作为了对对象的另外一种划分,在Class之外的另外一种划分。 我现在想,Class,Concept给对象带来了什么?引入了什么?限制了什么?保障了什么?是不是有什么统一分类理论?在OOP, GP, XXXXP之间走一个通用的道路? 不过我可以肯定的一点就是人类发明出来的抽象和分类必须是人类自己能够用好才会推广开来,如果OOP一种维度的分类已经足够了,应该就不会有更多维度的分划了。C++带来的是多范型,但是又几个人能够处理好多种范型带来的多维度问题分析呢?基本的一点是共同性和差异型分析,从这点基本层面出发我们能看到什么? 还有一点是Class和Concept的编译时检查,都可以用Attribute+AOP来完成,这个倒是一个值得玩玩的东西。而且我现在越来越倾向于用Attribute来标记是什么,而不是标记要什么了。 来源: https://www.cnblogs.com/taowen/archive/2004/05/25/11382.html

数据仓库建模

▼魔方 西西 提交于 2019-12-27 09:16:52
前言 数据仓库建模包含了几种数据建模技术,除了之前在数据库系列中介绍过的 ER建模 和 关系建模 ,还包括专门针对数据仓库的维度建模技术。 本文将详细介绍数据仓库维度建模技术,并重点讨论三种基于ER建模/关系建模/维度建模的数据仓库总体建模体系:规范化数据仓库,维度建模数据仓库,以及独立数据集市。 回到顶部 维度建模的基本概念 维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。 它本身属于一种关系建模方法,但和之前在操作型数据库中介绍的关系建模方法相比增加了两个概念: 1. 维度表(dimension) 表示对分析主题所属类型的描述。比如"昨天早上张三在京东花费200元购买了一个皮包"。那么以购买为主题进行分析,可从这段信息中提取三个维度:时间维度(昨天早上),地点维度(京东), 商品维度(皮包)。通常来说维度表信息比较固定,且数据量小。 2. 事实表(fact table) 表示对分析主题的度量。比如上面那个例子中,200元就是事实信息。事实表包含了与各维度表相关联的外码,并通过JOIN方式与维度表关联。事实表的度量通常是数值类型,且记录数会不断增加,表规模迅速增长。 注:在数据仓库中不需要严格遵守规范化设计原则(具体原因请看 上篇 )。本文示例中的主码,外码均只表示一种对应关系,此处特别说明 。 回到顶部

hive建模方法

匿名 (未验证) 提交于 2019-12-02 23:48:02
转自: https://www.jianshu.com/p/8378b80e4b21 从业务数据模型转向数据仓库模型时,同样也需要有数据仓库的域模型,即概念模型,同时也存在域模型的逻辑模型。这里,业务模型中的数据模型和数据仓库的模型稍微有一些不同。主要区别在于:数据仓库的域模型应该包含企业数据模型得域模型之间的关系,以及各主题域定义。数据仓库的域模型的概念应该比业务系统的主题域模型范围更加广。在数据仓库的逻辑模型需要从业务系统的数据模型中的逻辑模型中抽象实体,实体的属性,实体的子类,以及实体的关系等。Inmon 的范式建模法的最大优点就是从关系型数据库的角度出发,结合了业务系统的数据模型,能够比较方便的实现数据仓库的建模。但其缺点也是明显的,由于建模方法限定在关系型数据库之上,在某些时候反而限制了整个数据仓库模型的灵活性,性能等,特别是考虑到数据仓库的底层数据向数据集市的数据进行汇总时,需要进行一定的变通才能满足相应的需求。维度建模法(Dimensional Modeling)维度模型是数据仓库领域另一位大师Ralph Kimall所倡导,他的《The Data Warehouse Toolkit-The Complete Guide to Dimensonal Modeling,中文名《数据仓库工具箱》,是数据仓库工程领域最流行的数仓建模经典。维度建模以分析决策的需求出发构建模型