1.什么是数据仓库(数仓定义)
数据仓库(Data Warehouse,DW)是专为企业的决策制定过程提供全面支持的数据集合。用于分析性报告和决策支持,随着大数据技术的发展,逐步扩展到业务应用、审计、追踪溯源等多个领域,助力企业完成数字化转型。数据仓库是一个面向主题、集成、相对稳定且反映历史变化的数据集合。
2.数据仓库特点
面向主题:
数据仓库中的数据按照主题进行划分,这些主题是对业务数据的抽象,例如客户主题、产品主题、财务主题等。这种划分方式有助于从高层次上归纳和整理信息系统中的数据。
集成性:
数据仓库通过数据的抽取、清洗、转换、加载(ETL)过程,整合来自不同操作型数据库或其他数据源的数据,消除冗余,确保数据的一致性和无二义性。
稳定性:
数据仓库中的数据主要用于查询和分析,而非更新。一旦数据进入数据仓库,通常会被长期保留,除非超过规定的保留期限。
反映历史变化:
数据仓库不断捕获历史数据的变化,通过时间键记录数据的历史时期信息,以支持对企业发展历程和趋势的分析预测。
3.数据库和数据仓库的区别
-数据库:主要用于操作型处理(OLTP),支持日常业务数据的增删改查,设计遵循三范式,以减少数据冗余和提高数据插入效率。
-数据仓库:主要用于分析型处理(OLAP),支持管理决策,数据来自多种数据源,经过转换后存储,设计不符合三范式,但便于查询分析。
4.数仓构建流程
1.数据调研、划分主题域:与业务部门沟通,确定数据分析或前端展现的主题及其查询分析要求。
2.明确统计指标:基于主题确定分析指标,选择恰当的度量值。
3.构建总线矩阵:明确业务过程和维度所属主题域,形成总线矩阵图表。
4.构建明细模型:包括DIM公共维度层和DWD明细事实表,通过维表与原始数据关联生成。
5.构建汇总模型:基于DWD层数据,构建DWS汇总层。
6.ETL及代码实现:进行数据清洗、转换和传输。
7.数仓应用、结果验证:开发数据仓库分析应用,满足业务需求。
8.数仓管理:包括元数据治理、数据质量监控和数据血缘管理。
5.数仓分层概述
-ODS(OperationDataStore):原始数据层,保持数据原貌,为DWD层提供基础数据。
-DIM(Dimension):公共维度层,基于维度建模理念建立企业一致性维度。
-DWD(DataWarehouseDetail):明细数据层,通过维表与ODS层数据关联清洗得到。
-DWS(DataWarehouseService):数据服务层,基于DWD层数据轻度汇总成宽表。
-ADS(ApplicationDataStore):数据应用层,为报表、数据产品等提供数据。
6.数仓分层的目的
-简化问题:将复杂任务分解成多个简单步骤。
-清晰数据结构:每层数据有明确作用域,便于理解和使用。
-减少重复开发:通过中间层数据减少重复计算。
-数据解耦合:分层后数据变更不影响上层应用。
7.维度建模选择:星型、雪花、星座模型
-星型模型:一张事实表关联多张一级维度表,通过数据冗余换取查询效率。
-雪花模型:星型模型的扩展,某些维表被进一步分解,减少数据冗余,但连接多影响性能。
-星座模型:基于多张事实表,共享维度信息,适用于复杂数据关系场景。
8.缓慢变化维处理
常见处理方式包括直接覆盖、新加一行数据、新加两个字段和通过拉链表记录历史状态及变化。
9.拉链表的应用
拉链表记录数据历史状态及变化,适用于单表数据量大、部分字段更新频繁、需查看历史快照等场景。通过开链与闭链操作维护数据状态。
10.事实表的类型
-事务型事实表:记录各业务过程的原子操作事件,支持细节层次统计需求。
-周期快照事实表:定期记录具有规律性变化的存量或状态型指标。
-累计快照事实表:记录业务流程中多个关键业务过程的状态变化。
11.全量表、增量表、流水表、拉链表的区别及使用场景
-全量表:记录所有最新状态数据,无论是否有变化。
-增量表:仅记录变化量。
-流水表:记录每个数据变更。
-拉链表:维护历史状态及最新状态,适用于大数据量、部分字段更新频繁的场景。
12.数仓上层应用
包括用户画像、运营平台、精准营销、推荐系统等。
13.维度建模和范式建模
-范式建模:主要用于关系型数据库,解决数据冗余和异常问题,适合OLTP系统。
-维度建模:围绕事实表和维度表进行,快速构建数据集市,支持OLAP分析。
14.元数据的理解
元数据分为业务元数据和技术元数据,分别描述数据背后的业务含义和技术实现细节,是数据仓库管理的基础。
15.数据漂移的解决方法
通过多获取后一天数据、结合多个时间戳字段限制时间等方法解决ODS层数据漂移问题。
16.数据治理内容
包括数据分类、时间字段治理、数据过滤、去重、抽取与合并、关联、质量反馈体系、灾备规则等。
17.数据集市、数据中台、数据仓库、数据湖的区别
-数据集市:面向最终用户的数据组合市场,定期调整计算口径。
-数据中台:整合公司数据资源,提供高效服务,侧重复用和业务关联。
-数据仓库:集中存储和管理数据,支持高效查询和分析。
-数据湖:存储所有原始数据,依赖强大的数据管理能力进行加工处理。
18.原子指标、衍生指标、派生指标的区别
-原子指标:不可再拆分的业务度量。
-派生指标:在原子指标基础上加修饰词和时间周期。
-衍生指标:基于事务性和存量型指标的复合指标。
19.范式建模
第一范式要求属性值不可再分;第二范式要求表只描述一件事情;第三范式要求所有字段直接依赖主键。
20.数仓一致性保证
通过构建一致性维度和一致性事实,制定数仓规范保障数据一致性。