热门标签 | HotTags
当前位置:  开发笔记 > 大数据 > 正文

搭建数据仓库第08篇:逻辑建模–5–维度建模核心之一致性维度2

目录前言维度表的类型维度表的使用场景维度表的键和属性小结前言前面从宏观的角度,讲述了7何问题。那么从微

目录

  • 前言

  • 维度表的类型

  • 维度表的使用场景

  • 维度表的键和属性

  • 小结

 


 

 

前言

前面从宏观的角度,讲述了7何问题。那么从微观的角度,具体的改怎样的来建设一致性维表呢? 本篇从表的类型和使用场景,以及建设过程中键的设置和属性的设置做一些总结。

 

维度表的类型

总体上讲,一般分为两类 TYPEI(不变) 和TYPEII表(变化)。  

  • TYPEI
  1. 维度属性值持久不变,只有新增和删除。
  2. 属性能够在一定周期(比如一天)内不会变化。
  • TYPEII
  1. 缓慢变化维。部分维度属性可变化,但是变化的频次很低。
  2. 快速变化维。部分维度属性可变化,但是变化的频次很高。
  • 杂项维度
  1. 大量不同的零散的维度整合在一起

使用场景

  • TYPEI维表适用于大多数这种维度属性经久不变的信息描述,比如日期维度的大多数属性,门店的地址和名称等属性。一般来讲业务上的维度信息都是当天不变的,而且DW用来做数据统计分析是按照一定周期来看的,大多数情况是按天为周期。所以从数据分析的角度上来看,虽然所有维度属性不能能完全不变化,但是只要能获取到当天结束时候的维度信息的快照就可以满足业务上的数据需求。对于生命周期完全不变化的可以建成全量表,其他可以建成快照表。在不明确的情况下优先选择快照表。快照也不会占用太多的空间。
  • TYPEII
    • 缓慢变化维。在有些情况下,业务上的统计周期相对比较短,就不能按照TYPEI的情况来建设表。此时如果维度变化的频次没有那么快的话,可以建成缓慢变化维度表。缓慢变化维表有几种建设方法,比较常见的一种就是采用effect_from_dt(记录有效起始时间),effect_to_date(记录有效结束时间),current_flag(当前是否有效)等字段的组合。比如营销过程中,一家门店在某几个小时采用的营销手段不同,为了获取当天所有交易的成本,如果没有现成的营销数据的话,完全可以按照交易的时间来匹配当时的营销活动,从而获取营销的成本。
    • 快速变化维。情景跟缓慢变化维差不多,唯一的问题在于维度属性变化超级频繁,甚至是秒级分钟级的变化频次,这时候如果依然采用缓慢变化维的构建方式,维表的数据量暴增的很厉害。而且大多数的维度属性没有变化,只有个别的属性变化的厉害而已,导致大量的空间存储的都是不变的信息。这种情况的结局方案是,绝大多数不变的或者变化频次很低的属性集合建成TYPEI或者缓慢变化维表, 而针对变化频次超快的属性单独建立成微型维度表。这两张表没有依赖关系,都是各自挂在事实表上的。

主键和属性

维表主键的选择有两种:自然键,代理键。自然键是具有业务含义的ID,比如身份证号,日期等等,代理键是自动生成的唯一的键。这两种改如何做出选择呢? 如果说业务ID比较有该业务的独特性(不需要跟其他业务集成),或者具有共享性(比如公司级别的,门店ID等等),可以考虑使用自然键,特别的是日期维表直接使用日期来做主键。如果说需要不同的业务维度信息进行整合集成,这种情况比较适合生成代理键来做主键。

小结

建设维表看似比较简单,大多数情况下业务库也会直接有,但是除了需要将不同层次的维度进行冗余(星型模型),也需要在细节上把握以下维度建设的注意,毕竟维度的错误将引起所有数据的错误。

PS 最近一直在加班啊,近2周没有好好总结了,本篇维度建设重新开个头,争取抽出一些时间好好学习和总结,只有总结才能提高啊。

 


推荐阅读
  • PHP中元素的计量单位是什么? ... [详细]
  • 智能制造数据综合分析与应用解决方案
    在智能制造领域,生产数据通过先进的采集设备收集,并利用时序数据库或关系型数据库进行高效存储。这些数据经过处理后,通过可视化数据大屏呈现,为生产车间、生产控制中心以及管理层提供实时、精准的信息支持,助力不同应用场景下的决策优化和效率提升。 ... [详细]
  • 利用Redis HyperLogLog高效统计微博日活跃和月活跃用户数
    本文探讨了如何利用Redis的HyperLogLog数据结构高效地统计微博平台的日活跃用户(DAU)和月活跃用户(MAU)数量。通过HyperLogLog的高精度和低内存消耗特性,可以实现对大规模用户数据的实时统计与分析,为平台运营提供有力的数据支持。 ... [详细]
  • 如何将Python与Excel高效结合:常用操作技巧解析
    本文深入探讨了如何将Python与Excel高效结合,涵盖了一系列实用的操作技巧。文章内容详尽,步骤清晰,注重细节处理,旨在帮助读者掌握Python与Excel之间的无缝对接方法,提升数据处理效率。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 如何在Visio中为图表添加趋势线以增强数据分析效果?
    在Visio中为图表添加趋势线可以显著提升数据分析的效果。本文将详细介绍如何在Visio中添加趋势线。首先,在计算机上启动Visio软件。接着,打开所需的图表文件,通过点击“插入”或“设计”选项卡中的相关工具,选择并应用趋势线。最后,调整趋势线的样式和格式,以确保其与图表整体风格协调一致。通过这些步骤,您可以轻松地在Visio图表中添加趋势线,从而更好地展示数据趋势和模式。 ... [详细]
  • Swoole加密机制的安全性分析与破解可能性探讨
    本文深入分析了Swoole框架的加密机制,探讨了其在实际应用中的安全性,并评估了潜在的破解可能性。研究结果表明,尽管Swoole的加密算法在大多数情况下能够提供有效的安全保护,但在特定场景下仍存在被攻击的风险。文章还提出了一些改进措施,以增强系统的整体安全性。 ... [详细]
  • 在本任务中,我们将深入探讨数据重塑的技巧及其实际应用,特别是在处理复杂数据集时。通过使用泰坦尼克号数据集,我们将展示如何利用数据聚合和运算来计算男性和女性乘客的平均票价。具体来说,我们将编写代码以实现这一目标,并通过 `groupby` 方法对数据进行分组和统计分析,从而获得更深入的洞察。此外,我们还将介绍其他相关技术,如数据透视表和多级索引,以提升数据处理的效率和准确性。 ... [详细]
  • 触发器的稳态数量分析及其应用价值
    本文对数据库中的SQL触发器进行了稳态数量的详细分析,探讨了其在实际应用中的重要价值。通过研究触发器在不同场景下的表现,揭示了其在数据完整性和业务逻辑自动化方面的关键作用。此外,还介绍了如何在Ubuntu 22.04环境下配置和使用触发器,以及在Tomcat和SQLite等平台上的具体实现方法。 ... [详细]
  • 随着“大数据”价值的日益凸显,从互联网、电商到金融和政府机构等各个领域都在积极应对海量数据的处理需求。如何以较低成本快速高效地构建大数据处理平台,已成为推动大数据应用创新的重要因素。为了帮助用户以最简便的方式实现这一目标,本文将详细介绍如何利用Hadoop和Spark技术搭建稳定可靠的大数据处理环境。 ... [详细]
  • 低代码平台破解“最后一公里”交付难题
    IDC预计,未来所有企业都将转型为数据驱动型组织,这意味着企业的运营、管理和决策将全面依赖数据。然而,当前超过90%的数据是非结构化数据,这给内容协作和数据处理带来了巨大挑战。低代码平台通过简化开发流程,有效解决了这一“最后一公里”的交付难题,帮助企业更高效地实现数据驱动的转型。 ... [详细]
  • SSAS入门指南:基础知识与核心概念解析
    ### SSAS入门指南:基础知识与核心概念解析Analysis Services 是一种专为决策支持和商业智能(BI)解决方案设计的数据引擎。该引擎能够为报告和客户端应用提供高效的分析数据,并支持在多维数据模型中构建高性能的分析应用。通过其强大的数据处理能力和灵活的数据建模功能,Analysis Services 成为了现代 BI 系统的重要组成部分。 ... [详细]
  • 业务团队与独立团队在数据分析领域的效能对比:谁更胜一筹?
    业务团队与独立团队在数据分析领域的效能对比:谁更胜一筹? ... [详细]
  • PHP网站日志深度解析与数据洞察分析
    通过对PHP网站日志进行深入解析与数据洞察分析,可以有效提升网站性能和用户体验。由于网站日志数据量庞大,通常需要借助专业的日志分析工具来处理。常用的工具包括光年日志分析工具和WebLog Expert等,这些工具能够帮助技术人员快速识别并解决网站运行中的各种问题,从而优化SEO效果和提升整体运营效率。 ... [详细]
  • (1)前期知识:1. 单机架构:单一服务器计算机——其处理能力和存储容量有限。2. 集群架构(负载均衡器与多节点服务器)——通过增加节点数量来提升系统性能和可靠性,实现高效的任务分配和资源利用。 ... [详细]
author-avatar
兄弟465748208_279
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有