大数据面试题-数据模型
星型模型
数仓(具体说是dwd层)中只有一张包含历史数据且不冗余的事实表和一组附属维度表,每个维度一张。事实表与维度表之间通过外键和主键关联。
星型模型的维度表可能存在冗余,因此是反三范式的,这种模型在数据维护上较麻烦,但是性能更高,业界普遍使用星型模型。
星型模型的难点在于拉链表的维护,拉链表一般不能有冗余。
雪花模型
针对星型模型的维度表进行扩展的模型,将维度表拆解成维度表+说明表,说明表又可以进一步拆分,最终形成事实表-维度表-说明表的多次连接。
雪花模型的表一般遵循三范式,在数据的维护上会很方便,但是多表join影响性能。
星系模型
多个事实表采用星型模型共享维度表,就形成了一个星系。
Data Vault模型
从上述模型中我们不难看出,如果解决了拉链表的维护问题,星型模型的缺陷就已经可以忽略。
Data Vault模型由中心表、链接表、附属表、PIT表组成,这里的中心表,事实上就是维度表,链接表就是事实表、附属表是拉链表。
Data Vault模型就是通过将拉链表从维度表中分离出来,来达到方便维护的目的。
首先,中心表是一组业务生命周期内绝不会变的维度表,打个比方就是java里头的常量,常量再怎么冗余也不会有影响。
链接表则是保存流水类数据的事实表,它通过外键与多张中心表连接,但不会连接附属表。
附属表则是从维度表中抽出来的可能会发生变化的字段或表,这一部分就采用拉链表的方式创建,中心表则通过外键关联附属表的主键。
从同一维度表拆出来的字段根据变化维度不同可能还要分成多表存储,为了避免时效不一致,所以还会建立一张PIT表,用于维护附属表的变化历史。
中心表通过外键与PIT表相连,而PIT表则为每个附属表的主键都准备了一个时间字段保存数据的更新时间。
猜你喜欢LIKE
相关推荐HOT
更多>>大数据中HRegion的作用
HRegion定位:HRegion被分配给哪个HRegionServer是完全动态的,所以需要机制来定位HRegion具体在哪个HRegionServer,HBase使用三层结构来定位HR...详情>>
2022-12-09 18:05:29大数据中HRegionServer的作用
负责切分正在运行过程中变得过大的HRegion可以看到,Client访问HBase上的数据并不需要HMaster参与,寻址访问ZooKeeper和HRegionServer,数据读...详情>>
2022-12-09 17:56:12大数据中HMaster的作用
HBase中的每张表都通过键按照一定的范围被分割成多个子表(HRegion),默认一个HRegion超过256M就要被分割成两个,这个过程由HRegionServer管理,...详情>>
2022-12-09 17:55:15如果让你处理hbase怎么保证数据的安全性可靠性?
hbase是基于hdfs的一种数据存储解决方案,所以有关数据的安全性可靠性可以利用hdfs自身的副本机制保障。另外原生的hbase(1.x)并没有提供数据备...详情>>
2022-12-09 17:53:39传统数仓的程度有哪些
传统数仓的程度(建模工具、ETL工具、BI报表工具、调度系统),建模工具:powerDesiger、Erwin、Visio,ETL工具: kettle/informatic(主流的两款) ...详情>>
2022-12-08 18:02:24大数据培训问答更多>>
新大数据都学什么?5大核心知识必学内容有哪些
新大数据报班多少钱?如何选择培训机构
新人工智能学什么?自学可以成才吗
新数据处理包括哪些内容?是不是所有课程需要分别报课
新大数据分析需要学什么?怎么学比较好
新人工智能专业学什么?人工智能有哪些课程
新大数据数据分析师要学什么?好就业吗
大数据面试题库 更多>>
大数据的五个V是什么?
数据及集群管理(三)
数据及集群管理(二)
数据及集群管理(一)
大数据之hbase的优化读数据方面
大数据之hbase的优化写入数据方面
- 北京校区
- 大连校区
- 广州校区
- 成都校区
- 杭州校区
- 长沙校区
- 合肥校区
- 南京校区
- 上海校区
- 深圳校区
- 武汉校区
- 郑州校区
- 西安校区
- 青岛校区
- 重庆校区
- 太原校区
- 沈阳校区
- 南昌校区
- 哈尔滨校区