数据仓库设计

版权声明:https://blog.csdn.net/lvtula https://blog.csdn.net/lvtula/article/details/88867947

数据仓库简介:有些人不理解数据仓库,认为数据仓库就是获取数据,只要会使用hadoop、spark等大数据工具就懂数据仓库,这样的认识太片面。如果要从海量数据中总结出一个报表或者是多个报表,大数据工程师足以;如果在有限的资源动态的数据情况下,向前可历史追溯,向后对不断增加的报表实现兼容,这就需要一套科学的数据管理方法。数据仓库是一门数据管理的科学,数据仓库的核心就是计算、存储和维护之间的博弈。

标准的数据仓库分层:sd(源数据层),ods(中间存储层),dw(多维数据层),dm(数据集市层),app(应用层)

源数据层:源数据一般具有多来源、多类型特征,可能使用多种数据库,甚至是非结构化数据,是数据仓库中数据最复杂的一层,需要工程师对多种数据库多种数据类型都有一定了解。

中间存储层:中间层数据和源数据基本保持一致,保存着最细粒度的数据。中间层可以说是数据仓库最重要的一层,是所有后期分析的数据基础。中间存储层一般存放所有的明细数据,具有数据量大,查询计算较慢的特点。

多维数据层:多维数据层是经过清洗的,有价值的数据。多维数据层是在存储层的基础上清洗脏数据、删选有价值数据,并且对存储层的事实维度表进行事实维度分离。与中间存储层相比,多维数据层与存储层有着相同的数据粒度,但是具有更小的数据量、更快的查询速度。

数据集市层:它是面向主题轻度汇总的数据,在某主题的最细粒度数据,能满足该主题所有需求。数据集市是按照某一主题汇总,既可以由多维数据层汇总,也可是其他集市表进一步汇总,通常是星状、雪花状数据和网状模型。数据集市层主题明确,极大减少使用方理解及使用成本

应用层:这一层就是大家看到的各种报表,一般都是在数据集市基础上按照各种特定维度汇总的结果。应用层是面向用户的,数据具有极快的响应速度。

 数据仓库设计步骤
1、确定主题

主题与业务密切相关,所以设计数仓之前应当充分了解业务有哪些方面的需求,据此确定主题

2、确定量度

在确定了主题以后,我们将考虑要分析的技术指标,诸如年销售额之类。量度是要统计的指标,必须事先选 
择恰当,基于不同的量度将直接产生不同的决策结果。

3、确定数据粒度

考虑到量度的聚合程度不同,我们将采用“最小粒度原则”,即将量度的粒度设置到最小。例如如果知道某些数据细分到天就好了,那么设置其粒度到天;但是如果不确定的话,就将粒度设置为最小,即毫秒级别的。

4、确定维度

设计各个维度的主键、层次、层级,尽量减少冗余。

5、创建事实表

事实表中将存在维度代理键和各量度,而不应该存在描述性信息,即符合“瘦高原则”,即要求事实表数据条数尽量多(粒度最小),而描述性信息尽量少。

参考:https://blog.csdn.net/trigl/article/details/68944434

https://blog.csdn.net/xiaolang85/article/details/52104839

猜你喜欢

转载自blog.csdn.net/lvtula/article/details/88867947