【大数据技术】大数据技术之数仓宽表和窄表的区别

【大数据数仓】宽表和窄表的区别

一、宽表
(1)宽表:从字面意义上讲就是字段比较多的数据库表。通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。由于把不同的内容都放在同一张表存储,宽表已经不符合数据仓库三范式的模型设计规范,将大量不同范畴的字段放到一张表里,故随之带来的主要坏处就是数据的大量冗余,但也带来了好处,与之相对应的好处就是查询性能的提高与便捷,查询时不需要跨表只需在这张宽表里进行即可,不需要与许多维度表进行join操作,故节省并减轻了系统资源开销(网络+内存+算力等等),这在数据体量较大时尤为明显 。这种宽表的设计广泛应用于机器学习/数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提高数据挖掘模型训练过程中迭代计算时的效率问题。(总之,利用空间换时间,在大数据环境下便于训练迭代、减少表关联数量,修改少量数据时不需要管多张表)

(2)“宽表”特点:一个表就是一个class,每个字段就是一个filed,操作简单。但不便扩展(扩展时要考虑较多因素,如主键)。

二、窄表
(1)窄表:严格按照数据库设计三范式。尽量减少数据冗余,但是缺点是修改一个数据可能需要修改多张表。

(2)“窄表”特点:方便扩展,能适应各种复杂的数据结构(树形、继承等),无论有多少配置,都不用修改表结构。但代码逻辑可能需要包装一下,某张表需要变更时,只需改动它自己就行,无需考虑主键及与其他数据的融合等问题,可进行快速迭代更新 。

宽表宽表:从字面意义上讲就是字段比较多的数据库表。通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。由于把不同的内容都放在同一张表存储,宽表已经不符合数据仓库三范式的模型设计规范,将大量不同范畴的字段放到一张表里,故随之带来的主要坏处就是数据的大量冗余,但也带来了好处,与之相对应的好处就是查询性能的提高与便捷,查询时不需要跨表只需在这张宽表里进行即可,不需要与许多维度表进行join操作,故节省并减轻了系统资源开销(网络+内存+算力等等),这在数据体量较大时尤为明显 。这种宽表的设计广泛应用于机器学习/数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提高数据挖掘模型训练过程中迭代计算时的效率问题。(总之,利用空间换时间,在大数据环境下便于训练迭代、减少表关联数量,修改少量数据时不需要管多张表)一个表就是一个class,每个字段就是一个filed,操作简单。但不便扩展(扩展时要考虑较多因素,如主键)
窄表严格按照数据库设计三范式。尽量减少数据冗余,但是缺点是修改一个数据可能需要修改多张表方便扩展,能适应各种复杂的数据结构(树形、继承等),无论有多少配置,都不用修改表结构。但代码逻辑可能需要包装一下,某张表需要变更时,只需改动它自己就行,无需考虑主键及与其他数据的融合等问题,可进行快速迭代更新
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

daydayup-2016

你的鼓励将是我创作的最大动力哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值