Jiang_hh

导航

 

思维导图

 

image

 

建模目标:

image

 1、基于正确的标准下尽可能提高性能。

 2、是为了给用户进行展示数据和扩展使用。

建模思想

image

   建模的思路主要有两种:一种是OLTP,面向事务进行建模;一种是OLAP,面向分析进行建模,二者的使用场景和要求是不同的:前者更关注简单的事务,更关注修改操作,对于事务的响应性能要求很高,其中的数据也是规范化,不冗余的;而后者更关注复杂的查询和分析,数据一般只读,数据为了更具有表现性,通常会比较冗余,例如:前者可能是超市的一个订单,需要进行及时反映,而后者是超市的年终分析,需要进行分析大量数据。

OLTP建模要求

image

   在OLTP中,事务是简单的,但是高效的,处理的事务的吞吐量很关键,面向顾客和填写操作这个事务的人,它通常是使用ER图进行建模,规范化的建模来见识冗余和数据不一致,然后是修改方便,但是查询不方便(需要join很多表)。

数据仓库建模的要求

image

   对于数据仓库,是面向复杂查询,分析的,更多是进行读取,用于主要是数据分析师和决策者,ER图不可以进行数据仓库的建模,ER图数据冗余太少,并且表太多,要得到一个信息需要联合大量的表,在数据分析中需要的时长超过了用户的底线,需要特殊的建模技术去进行建模数据仓库。

事实和维度

image

   要想进行建模好数据仓库,就要了解事实和维度这个概念,维度一般是描述信息,比如时间,地区......但是事实是数值,可以进行计算的,比如购买数量,花费金额。

数据仓库的概念模型

image

   数据仓库是应该是可以进行高效查询的,可以数据仓库看成一个数据块,维度代表坐标,事实就是里的内容,每一个事实就可以通过维度进行计算出来。

数据仓库的实现方式

image

   主要有两种方式,利用关系型数据库实现,或者利用多维数组进行实现,前者成熟,具有高的公司标准,有大量工具可以进行使用,后者则和概念模型高度一致,具有很高的性能。

ROLAP实现

image

   他是数据仓库利用关系型数据实现一个具体方式,每一个表是二维的,通过主外键进行连接成数据仓库,是扁平化的。

image

   事实表在存放事实,维度表存放描述信息,维度表的外键作为事实表的联合主键。

  事实表和维度表区别如下:

image

 星型建模方式

  

image

   仅事实表和维度表进行相连,维度表不相连,像星星一样,这样可以简化查询的join复杂度,提高查询效率,但是和现实生活不符合。

  

image

 

  把逻辑建模的每一个维度转换一个维度表,通过外键进行和事实表连接。

  具体例子如下:

image

 

image

 雪花建模

image

   对于维度表进行了拆分,进行减少了冗余度,看起来像雪花一样。

星座型建模

image

   星型建模的复合版本,更加贴合事实,因为有很多数据的维度是共享的,也可以更加细化。

image

 RLOAP建模上下文

image

 RLAOP总结

image

 

posted on 2026-10-18 15:42  智慧的大聪明11  阅读(2)  评论(0)    收藏  举报