数据仓库中经常使用到宽表,宽表是什么?有什么优缺点?

提问者:帅平 问题分类:面试刷题
数据仓库中经常使用到宽表,宽表是什么?有什么优缺点?
2 个回答
等你许久
等你许久
宽表是指将多个维度和事实表中的信息合并到单个数据表中的一种数据建模方式,其特点在于跨业务主题,所以很难遵循标准的建模要求,而且宽表建模也没有严格的数仓分层概念,所以对于分层的好处也是没有的,但是为什么我们还要建设宽表呢?这主要是因为以下优点:
1、可以统一指标口径
有些业务会出现数据源多、数据流复杂、口径统一困难的问题,这就会带来报表口径不一致问题,而这种问题是很难通过口径统一来去解决的,因为就算口径统一了,数据流各个环节的处理过程的差异,对于数据产品来说去定位也是很困难的。但是,如果我们的报表要是都能从宽表出,那么我们报表上的指标口径肯定是一样的,所以把核心逻辑下沉到宽表,收敛口径,这样可以解决大部分指标口径不统一的情况。
2、可以提升开发效率
宽表可以减少多个表之间的联接操作,从而减少查询的时间和资源消耗,提高查询性能和吞吐量。
3、更容易维护
宽表可以简化数据架构和模型,使其更容易理解和管理。此外还可以减少表之间的冗余,降低数据更新的复杂度和延迟,并提高数据整体的一致性和可靠性。
缺点是:
1、增加存储需求:宽表的设计通常涉及将多个维度和度量数据集成到一个表中,这可能导致冗余数据的存在。冗余数据会增加存储需求,占用更多的存储空间。
2、不易于扩展:随着业务的发展,宽表中可能需要不断地增加新的属性或者维度,这时就需要对宽表进行重新设计和调整,增加了系统的复杂性和维护难度。
发布于:2个月前 (02-08) IP属地:四川省
心尖爱人
心尖爱人
宽表,通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。
在数据仓库建设中,组织相关和相似数据,采用明细宽表,复用关联计算,减少数据扫描,提高明细数据表的易用性。在汇总数据层,加群指标的维度退化,采取更多的宽表化手段构建公共指标数据层,提升公共指标的复用性,减少重复加工。
优点:
1、提高查询性能
2、快速响应
3、方便使用,降低使用成本
4、提高用户满意度
缺点:
1、由于把不同的内容都放在同一张表存储,宽表已经不符合三范式的模型设计规范,随之带来的主要坏处就是数据的大量冗余
2、另外就是灵活性差,就比如说线上业务表结构变更,宽表模式改造量也比较大
3、开发宽表为了避免宽表重复迭代,我们应该去了解业务全流程,得需要知道需扩展哪些维度,沉淀哪些指标,这样就流程会比较长,特别是有些业务快速迭代的话,就有点捉襟见肘
4、时效性低,宽表的数据计算量往往过大导致瞬时资源占用,并且时效性较低。
5、故障隔离较差,一个字段计算出错容易导致大范围的字段重算。
发布于:2个月前 (02-08) IP属地:四川省
我来回答