千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

首页 视频教程 培训课程 师资团队 技术干货 常见问题 面试题 职场就业 零基础学大数据 行业资讯
【热点话题】 大数据技术干货 大数据学习教程 大数据学习笔记 大数据面试题 大数据培训问答 大数据培训机构哪些好 大数据职场就业
当前位置:大数据培训  >  大数据面试题  >  大数据面试题-数据模型

大数据面试题-数据模型

来源:千锋教育
发布人:qyf
时间: 2022-12-08 17:53:55 1670493235

大数据面试题-数据模型

  星型模型

  数仓(具体说是dwd层)中只有一张包含历史数据且不冗余的事实表和一组附属维度表,每个维度一张。事实表与维度表之间通过外键和主键关联。

  星型模型的维度表可能存在冗余,因此是反三范式的,这种模型在数据维护上较麻烦,但是性能更高,业界普遍使用星型模型。

  星型模型的难点在于拉链表的维护,拉链表一般不能有冗余。

  雪花模型

  针对星型模型的维度表进行扩展的模型,将维度表拆解成维度表+说明表,说明表又可以进一步拆分,最终形成事实表-维度表-说明表的多次连接。

  雪花模型的表一般遵循三范式,在数据的维护上会很方便,但是多表join影响性能。

  星系模型

  多个事实表采用星型模型共享维度表,就形成了一个星系。

  Data Vault模型

  从上述模型中我们不难看出,如果解决了拉链表的维护问题,星型模型的缺陷就已经可以忽略。

  Data Vault模型由中心表、链接表、附属表、PIT表组成,这里的中心表,事实上就是维度表,链接表就是事实表、附属表是拉链表。

  Data Vault模型就是通过将拉链表从维度表中分离出来,来达到方便维护的目的。

  首先,中心表是一组业务生命周期内绝不会变的维度表,打个比方就是java里头的常量,常量再怎么冗余也不会有影响。

  链接表则是保存流水类数据的事实表,它通过外键与多张中心表连接,但不会连接附属表。

  附属表则是从维度表中抽出来的可能会发生变化的字段或表,这一部分就采用拉链表的方式创建,中心表则通过外键关联附属表的主键。

  从同一维度表拆出来的字段根据变化维度不同可能还要分成多表存储,为了避免时效不一致,所以还会建立一张PIT表,用于维护附属表的变化历史。

  中心表通过外键与PIT表相连,而PIT表则为每个附属表的主键都准备了一个时间字段保存数据的更新时间。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

最新文章NEW

相关推荐HOT

更多>>