为什么需要数仓

什么是数仓

数仓全称Data Warehouse,简称DW。是一个面向主题,集成的,相对稳定的,反应历史变化的数据存储中心,可以面向复杂业务模块数据进行解耦,提供标准化,通用性数据支撑。
说道这里可能会想,这和传统的数据有啥区别?一般业务产生的数据来源于数据库,直接从数据库进行数据分析,数据支撑不是更方便吗?为啥还需要经过一系列复杂步骤进行数据抽取数据加工绕一大层再来反哺呢?
我们先想下这个问题,互联网公司某宝,某东。存在如下几个业务系统:订单,客户,产品,推荐,账务等。需求如下,推荐系统想要根据不同人原因去分析待支付订单原因,合理推荐客户有购买意向相应产品改怎么办? 他需要去订单域,产品域,客户域获取相应的数据进行一定维度筛选,比如按照客户年龄划分,按照产品划分,按照客户浏览记录划分等一系列维度取筛选。这样必然会涉及到各种业务库数据交互。
如果每条业务数据在业务库解耦后存储在多张表中,有需要从N个库N张表去进行关联这样数据线路太错综复杂,如果数据量存储过大数据库计算负载过重?今天需要家电产品分析,明天需要服装类等怎么办?
这些场景下可能就需要一个系统能帮我们整合各个业务数据且能够串联起所有域的数据直接进行提取分析。	

数仓作用

先上张图

其实从上图中我们可以总结出如下几点:
	1.汇聚各个业务与数据
	2.对数据进行整理分类
	3.直接面对功能层去提供数仓分类好的数据  
在结合上边提出的思考问题,个人浅显的可以将数仓可以类比成一个超市。在这里已经分类整理好了你所需要的任何东西,不用四处去跑去找。当然这只是一个浅显的解释。数仓作用不仅仅是一个数据治理跟数据归类,更高的还有数据分析,挖掘等解决支撑业务的功能。 

数仓带来的价值
1.空间换时间,通过大量的预处理来提升应用系统的用户体验
2.便于数据分析,屏蔽底层复杂业务,将简单、完整、有效的数据暴漏给分析层
3.削弱底层业务变动对整体模型的影响
4.高内聚低耦合,主题之内数据高内聚,主题之间数据低耦合
5.层次分明,便于管理,为数据仓库大规模开发奠定基础

数仓设计

既然一个好的数仓可以支撑起所有相关的数据业务,那我们应该怎么去建设它呢? 先来看看数仓的分层

总体上会把数仓如下五层,每层有其对应的功能。
	1.数据源**ODS**层:原始数据层,存放原始数据,直接加载原始日志、数据,数据保持原貌不做处理
	2.数据明细 **DWD**层:对ODS层数据进行清洗(去除空值,脏数据,超过极限范围的数据)、维度退化脱敏等
	3.数据服务 **DWS**层:层为公共汇总层,会进行轻度汇总,粒度比明细数据稍粗,基于DWD层上的基础数据,整合汇总分析某一个主题	域的服务数据,一般是宽表。DWS层应覆盖80%的应用场景,又称为数据集市或宽表。
	4主体层 **DWT**层:以DWS为基础,按主题进行汇总,进行跨域跨业务的数据融合
	5.**ADS**层:为各种报表分析提供数据

数仓建模

通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射,建模主要体现在数仓的DW(DWD/DWS/DWT)层 。通用化,标准化,可扩展的稳定的模型是支撑数仓功能的核心竞争力。 

数仓中主要采用维度建模方式,维度建模主要分为两种表即 事实表和维度表
	事实表:必然存在的一些数据,像采集的日志文件,订单表,都可以作为事实表。特征:是一堆主键的集合,每个主键对应维度表中的一条记录,客观存在的,	根据主题确定出需要使用的数据
	维度表: 维度表就是所分析的数据的一个量,维度表就是以合适的角度来创建的表,分析问题的一个角度:时间、地域、终端、用户等角度

建模过程就可以解释为通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。
常用建模方法:
	1. 范式建模法(数仓少用)
	2. 维度建模法(主要应用于OLAP系统)



维度建模的三种模式
**1)星型模型**:星型模型是最常用的维度建模方式。星型模型**以事实表为中心,所有维度表直接连接在事实表上,像星星一样,故称为星型模型。**星型模型的维度建模由一个事实表和一堆维度表组成,且具有以下特点:
a.维表只和事实表关联,维表之间没有关联
b.每个维表主键为单列,且该主键放置在事实表中,作为两边连接的外键
c.以事实表为核心,维表围绕核心呈星型分布。

	**2)雪花模型**:雪花模型是对星型模型的扩展。雪花模型的维度表可以拥有其他维度表,虽然这种模型相比星型模型更加规范,但是由于这种模型不易理解,维护成本高,而且性能方面需要关联多层维度表,性能也比星型模型要低。所以一般不是很常用

**3)星座模型**:星座模型是星型模型延伸而来,**星型模型是基于一张事实表,而星座模型是基于多张事实表,而且共享维度信息。**星型模型和星座模型都是多维表对应单事实表但在很多时候维度空间内的事实表不止一个,而一个维表也可能被多个事实表用到。在业务发展后期,绝大多数维度建模都是采用星座模型

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值