数据仓库与数仓建模

u=3186997546,1762170182&fm=26&gp=0.jpg

1.数据仓库

1.1 什么是数据仓库

数据仓库,英文名为Data Warehouse,简写为DW或DWH。数据仓库,是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,用于对管理决策过程的支持[1]。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制[2]。

1.2 数据仓库的四个特点

  • 面向主题:数据仓库是按照一定的主题来组织,仅存储与主题相关的数据。主题是指用户在构建数仓时考虑决策时所关注的重点方面,方便以后的数据分析。

  • 集成:数仓的数据来源是任意的,可以是操作型数据库,也可以是网络爬虫,这些数据经过加工与集成,统一成新的数据源。

  • 随时间变化:数仓每天都会从不同数据渠道获取大量数据,关键数据会隐式或显式的基于时间变化。

  • 数据相对稳定:数据进入后一般只进行查询操作,不会进行删改。

1.3 数仓分层

image-20200711150750638.png

1.4 数仓为什么要分层

  1. 把复杂问题简单化:将复杂的任务分解成多层来完成,每一层只处理简单的任务,方便定位问题。

  2. 减少重复开发:规范数据分层,通过中间层数据,能够减少重复的数据计算,增加计算结果的重用性;

  3. 隔离原始数据:使真实数据与统计数据隔离开。

1.5 数据仓库与数据库的区别

功能 数据仓库 数据库
数据范围 存储历史的、完整的、反应历史变化的数据 当前状态数据
数据变化 可添加、无删除、无变更、反应历史变化 支持频繁的增删改查
应用场景 面向分析、支持战略决策 面向业务流程
设计理论 伪范式、适当冗余 遵照范式(一、二、三范式),避免冗余
处理量 非频繁、大批量、高吞吐、有延迟 频繁、小批次、高并发、低延迟

2.关系建模与维度建模

2.1 关系建模

image-20200711152649050.png

关系模型如图所示,严格遵循第三范式(3NF),从图中可以看出,较为松散、零碎,物理表数量多,而数据冗余程度低。由于数据分布于众多的表中,这些数据可以更为灵活地被应用,功能性较强。关系模型主要应用与OLTP系统中,为了保证数据的一致性以及避免冗余,所以大部分业务系统的表都是遵循第三范式的。

2.2 维度建模

image-20200711152943415.png

维度模型如图所示,主要应用于OLAP系统中,通常以某一个事实表为中心进行表的组织,主要面向业务,特征是可能存在数据的冗余,但是能方便的得到数据。

关系模型虽然冗余少,但是在大规模数据,跨表分析统计查询过程中,会造成多表关联,这会大大降低执行效率。所以通常我们采用维度模型建模,把相关各种表整理成两种:事实表和维度表两种。

在维度建模的基础上还可以分为三种模型:星型模型、雪花模型、星座模型

2.2.1星型模型

image-20200711153405388.png

标准的星型模型周围只有一层,即一个事实表周围只有一层维度表与之对应。

2.2.2雪花模型

image-20200711153637222.png

雪花模型的维度层级比星型模型多,雪花模型比较靠近3NF,但无法完全遵守,因为遵守3NF的新能成本太高。

2.2.3 星座模型

image-20200711153919763.png

星座模型与前两个模型的区别在于事实表的数量,星座模型中的事实表要多。而且事实表之间也有可能会共享维度表。

2.2.4 模型的选择

首先星座与否与数据和需求有关系,与设计无关,不用抉择。

星型还是雪花,取决于性能优先,还是灵活优先。

实际开发中,不会只选择一种,根据情况灵活组合,甚至并存。但是整体来看,更倾向于维度更少的星型模型。尤其是Hadoop体系,减少join就是减少shuffle,性能差别很大。

3.数仓建模

3.1 数仓建模的目的

为什么要进行数据仓库建模?大数据的数仓建模是通过建模的方法更好的组织、存储数据,以便在 性能、成本、效率和数据质量之间找到最佳平衡点。一般主要从下面四点考虑

  1. 访问性能:能够快速查询所需的数据,减少数据I/O

  2. 数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数 据系统中的存储成本和计算成本

  3. 使用效率:改善用户应用体验,提高使用数据的效率

  4. 数据质量:改善数据统计口径的不一致性,减少数据计算错误 的可能性,提供高质量的、一致的数据访问平台[3]。

3.2 ODS层

  1. 保持数据原貌不做任何修改,起到备份数据的作用;

  2. 数据采用压缩存储,减少磁盘空间;

  3. 创建分区表,防止全盘扫描

3.3 DWD层

DWD层需构建维度模型,一般采用星型模型,呈现的状态一般为星座模型

维度建模一般按照以下四个步骤:


image-20200711171558295.png

3.4 DWS层

统计各个主题对象的当天行为,服务于DWT层的主题宽表,以及一些业务明细数据,应对特殊需求(例如,购买行为,统计商品复购率)。

3.5 DWT层

以分析的主题对象为建模驱动,基于上层的应用和产品的指标需求,构建主题对象的全量宽表。

3.6 ADS层

对电商系统各大主题指标分别进行分析。

更多首发文章请关注公众号【鄙人王道长】

[ 1 ] https://www.jianshu.com/p/0b6414f92442

[ 2 ] http://www.databi.cn/article-76-1.html

[ 3 ] https://blog.csdn.net/qq_26442553/article/details/105506364

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350