赞
踩
数据仓库是一个用于集成、存储和分析大量结构化和非结构化数据的中心化数据存储系统。它旨在支持企业的决策制定和业务分析活动。
这些基本特征使得数据仓库成为企业管理和决策制定的重要工具。它提供了全面、一致和高质量的数据,帮助企业用户从大量的数据中提取有价值的信息,做出准确、及时的决策,并促进企业的业务发展和竞争优势。
数据仓库设计涉及四个关键步骤:数据分层、数据建模、表设计、数据治理。
这四个步骤相互依赖,通过分层划分任务;数据建模定义数据结构和语义;表设计实现具体表结构;数据治理确保数据的质量、安全性和合规性;综合执行这些步骤,可以建立一个高效、可靠且适合业务需求的数据仓库。
数据仓库之所以要进行分层,是为了提高数据管理和处理的效率,以及支持灵活的数据分析和查询。以下是分层的主要目的和好处:
数据建模是指在设计和构建数据仓库或数据库系统时,对数据进行结构化和组织的过程。它是将现实世界中的业务需求和数据之间建立关联的方法和技术; 数据建模的目标是创建一个合理的数据模型,以便能够有效地存储、管理和使用数据。通过数据建模,可以定义数据的结构、关系和约束,从而使数据能够按照特定的业务需求进行查询、分析和操作。
数据仓库的建模方法有很多种,每一种建模方法代表一个观点,代表了一种归纳、概括世界的一种方法。常见的有:范式建模法、维度建模法、实体建模法等,每种方法从本质上将是从不同的角度看待业务中的问题。
数据建模理论主要针对数据仓库中的DWD、DIM层
范式建模法是一种常用的数据建模方法,旨在通过规范化数据结构,减少数据冗余和数据异常,提高数据的一致性和灵活性。它基于关系数据库理论和范式概念,通过将数据分解为多个表并建立关系来达到优化数据存储和操作的目的。
范式建模法主要包括以下几个范式:
如下图:
在关系型数据库的模型设计中,一般采用第三范式
维度建模法是一种常用的数据建模方法,特别适用于数据仓库和商业智能领域。它通过将数据组织成维度表和事实表的结构,以实现对业务过程的分析和报告。维度建模法注重对业务过程的理解和建模,以及对数据的分层和聚焦,使得数据仓库更易于使用和理解。
在维度建模法中,有两个核心概念:维度和事实。
维度建模法的特点和优势包括:
如下图:
在数据仓库的模型设计中,一般采用维度建模
星型模型是一种常用的维度建模方法,用于设计数据仓库和商业智能系统中的数据模型。它得名于其图形表示形式,其中一个中心事实表与多个维度表以星状结构连接在一起;在星型模型中,中心事实表包含与业务过程相关的度量数据,如销售额、销售数量、利润等。维度表则包含与业务过程相关的描述性属性,如时间、地理位置、产品、客户等。
星型模型的主要特点和组成部分包括:
星型模型的优点包括:
如下图:
星型模型是一种常用的维度建模方法,通过中心事实表和维度表的组合,实现对业务过程的数据分析和报表展示。它具有简单、灵活和高性能的特点,适用于大多数数据仓库和商业智能项目。
雪花模型是一种在维度建模中常用的数据模型,它是在星型模型基础上的一种扩展和改进。与星型模型类似,雪花模型也由中心事实表和多个维度表组成,但在维度表的组织方式上有所不同;在雪花模型中,维度表被进一步规范化,即将维度表中的某些属性细分为更小的维度表,形成多层维度表的结构。这样的规范化使得模型呈现出类似雪花的形状,因而得名为雪花模型。
雪花模型的主要特点和组成部分包括:
雪花模型的优点包括:
然而,雪花模型也存在一些缺点,包括:
如下图:
雪花模型是一种相对于星型模型更规范化和层级化的数据模型,在某些场景下能提供更准确和详细的数据分析和报表需求支持,但需要权衡查询性能和模型的复杂性。在实际应用中,选择适合业务需求和数据特点的模型是很重要的。
"星座模型"通常是指多个星型模型之间的关联和集成,以构建更复杂的数据仓库结构。星座模型是一种用于解决大规模数据仓库中数据集成和查询性能问题的方法。
在星座模型中,多个星型模型通过共享维度表进行关联。这些维度表包含了共同的维度属性,例如时间、地点、产品等。通过在不同的星型模型之间共享维度表,可以实现跨模型的数据集成和查询。
星座模型的主要目的是提高数据仓库的灵活性和性能。通过将数据仓库划分为多个独立的星型模型,并通过共享维度表进行关联,可以减少数据冗余并提高查询性能。此外,星座模型还提供了更高级别的数据聚合和分析功能。
如下图:
数据调研是指对源系统和相关数据进行深入调查和分析,以了解数据的结构、内容、质量等方面的情况。这包括与业务用户、数据所有者和数据负责人的沟通,收集数据需求和了解数据源系统的运作方式。数据调研的目的是为了获取对数据的全面了解,为后续的数据建模和设计提供基础。
数据调研的主要步骤包括:
在数据仓库设计中,"数据域"指的是在业务领域或组织内特定的数据集合或数据范围。它代表了数据仓库所关注的业务或功能范围;数据域可以是一个业务过程、一个功能模块、一个部门或一个特定的业务领域。
假设我们正在设计一个零售业务的数据仓库。我们首先进行数据调研来了解业务需求和数据来源。在这个过程中,我们可能会与销售团队、采购团队、库存管理团队以及财务团队等业务部门进行会议和访谈,了解他们的数据需求和业务流程。
在分析业务流程后,我们可能识别出以下几个重要的数据主题或数据域:
这一步尤为重要,业务总线矩阵中包含维度模型所需的所有事实(业务过程)以及维度,以及各业务过程与各维度的关系。矩阵的行是一个个业务过程,矩阵的列是一个个的维度,行列的交点表示业务过程与维度的关系。
如下图:
上一步业务总线构建成功后,一个业务过程即对应一张事实表,一个维度即对应一张维度表。
5.6.1、统计指标介绍
上述维度设计完毕后,开始考虑明确统计指标;明确统计指标是指对于业务需求和分析目的,明确定义需要进行统计和度量的指标或度量值。这些统计指标用于衡量和量化业务活动、绩效、趋势等关键方面,以支持数据分析和决策。
5.6.2、统计指标分类
根据应用层展示的维度字段进行设计,汇总表一般是按天分区的增量表,BI数据展示只需获取当天分区内数据即可
例1:页面展示(维度是省会)
汇总层:交易域省份粒度订单金额汇总表
省份ID | ISO-3166-2编码 | 省份名称 | 当天订单金额 | 7天订单金额 | 30天订单金额 | 年度订单金额 |
---|---|---|---|---|---|---|
1 | CN-HLJ | 黑龙江 | 5000 | 35000 | 100000 | 500000 |
2 | CN-LN | 辽宁 | 3000 | 25000 | 80000 | 400000 |
3 | CN-SD | 山东 | 4500 | 30000 | 90000 | 450000 |
4 | CN-SX | 山西 | 2000 | 18000 | 60000 | 300000 |
… | … | … | … | … | … | … |
例1中由于展示字段是省份故汇总层应以省份为核心字段,且汇总当天、7天、30天、年度订单金额供应用展示
例2:页面展示(维度是日期)
汇总层:
交易域当天粒度订单金额汇总表
ID | 日期时间 | 订单金额 |
---|---|---|
001 | 2023-07-19 00:00 | $50 |
002 | 2023-07-19 01:00 | $25 |
003 | 2023-07-19 02:00 | $40 |
004 | 2023-07-19 03:00 | $60 |
005 | 2023-07-19 04:00 | $30 |
006 | 2023-07-19 05:00 | $70 |
007 | 2023-07-19 06:00 | $90 |
008 | 2023-07-19 07:00 | $120 |
009 | 2023-07-19 08:00 | $80 |
010 | 2023-07-19 09:00 | $45 |
交易域7天粒度订单金额汇总表
ID | 日期 | 订单金额 |
---|---|---|
001 | 2023-07-13 | $200 |
002 | 2023-07-14 | $350 |
003 | 2023-07-15 | $180 |
004 | 2023-07-16 | $420 |
005 | 2023-07-17 | $300 |
006 | 2023-07-18 | $270 |
007 | 2023-07-19 | $320 |
总结:汇总表设计原则是根据应用层展示的维度字段进行设计,汇总表一般是按天分区的增量表,BI数据展示只需获取当天分区内数据即可
看:数据治理设计理论
看:数据仓库发展历史
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。