数据仓库一分钟

简介

数据仓库(Data Warehouse)简称DW或DWH,是数据库的一种概念上的升级,可以说是为满足新需求设计的一种新数据库,而这个数据库是需容纳更多的数据,更加庞大的数据集,从逻辑上讲数据仓库和数据库是没有什么区别的。

为企业所有级别的决策制定过程,提供所有类型数据支撑的战略集合,主要是用于数据挖掘和数据分析,以建立数据沙盘为基础,为消灭消息孤岛和支持决策为目的而创建的。

特点

面向主题

不可更新

随时间变化(数据库的数据时限一般是60 ~ 90天,而数据仓库的数据一般是5年~10年)

数据模型

系统记录域:数据仓库业务数据存储区,保证数据的一致性。

内部管理域:用于内部管理的元数据,统一的元数据管理。

汇总域:这里的数据来自系统记录域的汇总,保证分析域的主题分析性能,满足部分报表查询。

分析域:各个业务部分的具体主题业务分析,可以单独存储在相应的数据集市中。

反馈域:用于相应的前端的反馈数据,视业务的需要设置这个域。

维度和指标(度量)

维度就是数据的观察角度,即从哪个角度去分析问题,看待问题。比如时间维度上每一个独立的日期或地域,因此统计时,可以把维度相同记录的聚合在一起,应用聚合函数做累加、均值、最大值、最小值等聚合计算。

指标,即度量,就是从维度的基础上去衡算这个结果的值。

数据分层

一、数据运营层:ODS(Operational Data Store)

"面向主题的"数据运营层,也叫ODS层,是最接近数据源中数据的一层,数据源中的数据,经过抽取、洗净、传输,也就说传说中的 ETL 之后,装入本层。本层的数据,总体上大多是按照源头业务系统的分类方式而分类的。

一般来讲,为了考虑后续可能需要追溯数据问题,因此对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据即可,至于数据的去噪、去重、异常值处理等过程可以放在后面的DWD层来做。

二、数据仓库层:DW(Data Warehouse)

数据仓库层是我们在做数据仓库时要核心设计的一层,在这里,从 ODS 层中获得的数据按照主题建立各种数据模型。DW层又细分为 DWD(Data Warehouse Detail)层、DWM(Data WareHouse Middle)层和DWS(Data WareHouse Servce)层。

  1. 数据明细层:DWD(Data Warehouse Detail)

该层一般保持和ODS层一样的数据粒度,并且提供一定的数据质量保证。同时,为了提高数据明细层的易用性,该层会采用一些维度退化手法,将维度退化至事实表中,减少事实表和维表的关联。

另外,在该层也会做一部分的数据聚合,将相同主题的数据汇集到一张表中,提高数据的可用性,后文会举例说明。

  1. 数据中间层:DWM(Data WareHouse Middle)

该层会在DWD层的数据基础上,对数据做轻度的聚合操作,生成一系列的中间表,提升公共指标的复用性,减少重复加工。

直观来讲,就是对通用的核心维度进行聚合操作,算出相应的统计指标。

  1. 数据服务层:DWS(Data WareHouse Servce)

又称数据集市或宽表。按照业务划分,如流量、订单、用户等,生成字段比较多的宽表,用于提供后续的业务查询,OLAP分析,数据分发等。

一般来讲,该层的数据表会相对比较少,一张表会涵盖比较多的业务内容,由于其字段较多,因此一般也会称该层的表为宽表。

在实际计算中,如果直接从DWD或者ODS计算出宽表的统计指标,会存在计算量太大并且维度太少的问题,因此一般的做法是,在DWM层先计算出多个小的中间表,然后再拼接成一张DWS的宽表。由于宽和窄的界限不易界定,也可以去掉DWM这一层,只留DWS层,将所有的数据在放在DWS亦可。

三、数据应用层:APP(Application)

在这里,主要是提供给数据产品和数据分析使用的数据,一般会存放在 ES、PostgreSql、Redis等系统中供线上系统使用,也可能会存在 Hive 或者 Druid 中供数据分析和数据挖掘使用。比如我们经常说的报表数据,一般就放在这里。

四、维表层(Dimension)

最后补充一个维表层,维表层主要包含两部分数据:

高基数维度数据:一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。

低基数维度数据:一般是配置表,比如枚举值对应的中文含义,或者日期维表。数据量可能是个位数或者几千几万。

不同的层次中会用到什么计算引擎和存储系统

RDBMS(Relational Database Management System)

吐数

从能力范围来讲,我们希望80%需求由20%的表来支持。直接点讲,就是大部分(80%以上)的需求,都用DWS的表来支持就行,DWS支持不了的,就用DWM和DWD的表来支持,这些都支持不了的极少一部分数据需要从原始日志中捞取。结合第一点来讲的话就是:80%的需求,我们都希望以对应用很友好的方式来支持,而不是直接暴露给应用方原始日志。

相关推荐
jkyy201428 分钟前
顺应IoT与健康产业融合趋势,补齐中小企业健康数字化短板
大数据·人工智能·信息可视化·健康医疗
云栖梦泽在33 分钟前
AI安全实战:AI模型投毒攻击的检测与修复实战
大数据·人工智能·安全
随身数智备忘录42 分钟前
安全生产法详解:安全生产法如何规范企业安全管理行为?
大数据·人工智能
狒狒热知识1 小时前
软文营销媒体发稿效果倍增逻辑内容渠道平台三维协同运营解析
大数据
程序猿追1 小时前
行业新趋势:Agent 重构,企业大屏从静态展示走向智能交互
大数据·人工智能·microsoft
维双云1 小时前
搭建美妆小程序,纯展示产品类型的,怎样做更适合中小商家?
大数据
团象科技1 小时前
流量洪峰与合规约束叠加时 奥创容量保障的落地边界观察
大数据·人工智能
系统集成架构师1 小时前
企业微信客户群定时群发方案
大数据
跨境卫士-小汪1 小时前
美国直邮税负常态化后跨境卖家如何重设免邮门槛
大数据·人工智能·产品运营·跨境电商·跨境
未来智慧谷2 小时前
汉中首家OPC社区正式成立!未来智慧谷联合京东科技(汉中)数字经济产业园打造“一人公司”企业新生态
大数据·人工智能·科技