数据仓库基础常见面试题

ops/2025/1/19 2:12:07/

1.数据仓库是什么
数据仓库(Data Warehouse)是一个面向主题的、集成的、非易失的、随时间变化的数据集合,用于支持企业的管理决策‌。它不同于传统的操作型数据库,后者主要用于处理日常业务交易和实时查询,而数据仓库则侧重于对历史数据的整合、分析和挖掘
2.数据仓库和数据库有什么区别
数据来源和处理方式不同:数据库通常用于存储、管理和查询交易数据,而数据仓库则是用于处理分析性查询的数据。数据仓库通常从多个数据源中获取数据,经过清洗、转换和集成后形成一个集成的数据存储区域,以支持多维分析和决策制定。
  数据结构不同:数据库通常使用关系型数据模型,数据存储以表格的形式呈现,每个表格由多个行和列组成;而数据仓库通常使用维度建模或者标准化建模的方式进行数据设计,以支持多维分析和查询。
数据类型不同‌:
‌数据库‌设计用于存储交易型数据,支持对数据的增、删、改操作‌
数据仓库‌主要从数据库中抽取必要数据进行分析,不涉及增、删、改操作‌
‌查询方式不同‌:
‌数据库‌查询通常涉及简单的表查询和基本的聚合操作,响应时间要求短‌
数据仓库‌查询涉及复杂的数据计算和多层次的查询语言,响应时间要求合理即可‌
3.为什么要对数据仓库分层
数据仓库进行分层的主要原因包括提高数据处理效率、增强数据质量、增强可维护性、支持多维度分析和提高数据安全性等‌。
4.为什么需要数据建模
同3
5.经典的数据仓库建模方法论有哪些
E-R模型:设计实体关系,满足三范式
维度模型:星型模型,雪花模型,星座模型

  • 6.数仓相关的名词术语解释,比如数据域、业务过程、衍生指标

  • 7.派生指标的种类

8.经典数仓分层架构
在这里插入图片描述

  • ODS

ODS层:这是数据仓库的最底层,直接对接数据源系统,用来临时存储从业务系统抽取过来的原始数据,数据结构和粒度与源系统基本保持一致。其主要功能是作为数据进入数据仓库的缓冲区域,在这一层可以对数据进行简单的清洗和转换操作,比如去除明显的噪声数据、统一数据格式等,但不会进行复杂的数据处理。它为后续的数据处理提供了原始的数据基础,确保数据的完整性和准确性,方便在数据出现问题时进行追溯。

  • CDM

CDM层分为DWD明细层、DWS轻度汇总层和DIM维度层。
· 在DWD层中,需要将数据仓库ODS层的原样数据按照主题去建立相应的数据模型,对数据进行统一的清洗和一致性处理。
· 在DWS层,就会以分析对象为建模驱动,把DWD清理好的一些表进行跨关联,建立面向业务主题的大宽表模型,为应用层提供统一的计算口径和数据标准,提高效率。
· 在DIM层需要通过添加维度属性、关联维度等定义计算逻辑,完成属性定义的过程并建立一致的数据分析维度表。

  • ADS

在ADS层,根据业务需要来存放个性化的报表数据,可以直接为前端的报表提供查询和展现的服务。
原文链接:https://blog.csdn.net/oOBubbleX/article/details/143847533
9.模型设计的基本原则
易于理解和扩展,避免数据冗余,减少表连接的数量提高查询效率
10.模型实施的具体步骤
需求分析-设计架构-建设基础设施-实时数据仓库ETL过程-开发报表和工具-测试上线-维护优化
11.维度建模有哪几种模型
星型模型,雪花模型,星座模型
12.维度建模中表的类型
事实表:事务事实表,周期快照事实表,累积快照事实表
维度表:与事实表关联,用于统计和聚合运算
13.维度表的设计过程
确定维度(确保维度的唯一性)-确定主维度表-确定维度属性(如果只有一个应加入事实表,尽量丰富通用)-
14.维度表的设计中有哪些值得注意的地方
确保维度的唯一性,如果某些维度表的维度属性很少,例如只有一个**名称,则可不创建该维度表,而把该表的维度属性直接增加到与之相关的事实表中
尽可能丰富维度属性
尽可能使用准确的文字说明
尽可能找出更通用的维度属性
15.维度规范化和反规范化如何理解
规范化是一种组织数据库结构的方法,旨在减少数据冗余、消除数据异常,确保数据的完整性。在数据仓库设计中,规范化通常通过一系列的规则(称为范式)来实现,常见的范式包括第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。
反规范化是数据库设计中的一种技术,旨在通过减少表的连接操作来增加数据检索速度、降低复杂性、优化数据访问路径。反规范化通常在数据库规范化之后进行,基于性能优化的需要进行,包括添加冗余数据、组合表、使用预存计算值等策略。
16.维表整合的两种表现形式
水平整合和垂直整合
垂直整合是指将来自不同系统的相同数据集整合到一个维度表中。例如,在会员相关信息的数据集中,可能存在多个会员表(如会员基础信息表、会员扩展信息表、会员等级信息表等)。将这些多张表整合到一个会员维度属性中,以减少冗余数据和提高数据的一致性‌
水平整合则是将来自不同数据集的数据整合到一个维度表中,这些数据集之间可能存在交叉或无交叉。例如,采集的会员数据可能来自淘宝会员、支付宝会员等多个来源。将这些来源表的各子集的自然键作为联合主键的方式,整合到一个会员维度表中,以实现数据的统一管理‌

  • 17.如何处理维度的变化

18.事实表设计的八大原则
涵盖业务过程、选择相关事实、分解不可加性、声明粒度一致性、避免多级粒度、统一单位、处理null值和使用退化维度
19.事实表的设计过程
选择业务过程-确定度量-确定粒度-选择维度-设计表结构
20.事实表有哪几种类型
‌事务事实表‌:记录各业务过程的原子操作事件,保存最细粒度的数据。适用于需要高度灵活性和细节层次统计需求的情况‌
‌周期快照事实表‌:以一个周期为时间间隔记录事实,如每天、每周、每月等。适用于需要按时间周期汇总的数据‌
累积快照事实表‌:描述过程开始和结束之间的关键步骤事件,覆盖过程的整个生命周期。适用于需要记录多个关键时间点的数据‌

  • 21.多事务事实表如何对事实进行处理

22.单事务事实表和多事务事实表哪种设计更好
根据业务需求选择合适的事实表类型。如果需要精确跟踪每一个操作,选择单事务事实表;如果需要完整记录业务过程,选择多事务事实表。
23.周期快照事实表的设计过程
选择业务过程-确定度量-确定粒度-选择维度-设计表结构-确认数据加载和更新周期-维护
24.累计快照事实表的设计过程
选择业务过程-确定度量-确定粒度-选择维度-设计表结构-确认数据生命周期-维护
25.累计快照事实表的特点
时间字段多,包含多个关键点,通常进行分区存储

原文链接:https://blog.csdn.net/qq_42397330/article/details/130218083


http://www.ppmy.cn/ops/151246.html

相关文章

将内部部署系统的端口暴露给外部访问,并且仅允许指定 IP 的服务器访问该端口

以下是实现将内部部署系统的端口暴露给外部访问,并且仅允许指定 IP 的服务器访问该端口的步骤和思路: 一、网络架构调整 防火墙设置: 大多数内部网络都有防火墙,首先需要在防火墙上打开所需的端口,但要限制访问该端口…

“AI 自动化效能评估系统:开启企业高效发展新征程

在当今数字化飞速发展的时代,企业面临着日益激烈的市场竞争,如何提升效率、降低成本成为了企业生存与发展的关键。AI 自动化效能评估系统应运而生,它如同一把智能钥匙,为企业开启了高效发展的新征程。 AI 自动化效能评估系统&…

基于 Electron 应用的安全测试基础 — 提取和分析 .asar 文件

视频教程在我主页简介或专栏里 目录: 提取和分析 .asar 文件 4.1. .asar 文件提取工具 4.1.1. 为什么选择 NPX? 4.2. 提取过程 4.3. 提取 .asar 文件的重要性 4.3.1 关键词 4.3.2 执行关键词搜索 4.3.2.1 使用命令行工具“grep”进行关键词搜索 4.3.2…

Vue.js组件开发-如何处理跨域请求

在Vue.js组件开发中,处理跨域请求(CORS,即跨来源资源共享)通常不是直接在Vue组件中解决的,而是需要后端服务器进行相应的配置,以允许来自不同源的请求。不过,前端开发者也需要了解一些基本的COR…

【力扣Hot 100】普通数组1

1. 最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-1,2,1,-5,…

【Java】LinkedHashMap (LRU)淘汰缓存的使用

文章目录 **1. initialCapacity(初始容量)****2. loadFactor(加载因子)****3. accessOrder(访问顺序)****完整参数解释示例****示例验证** LinkedHashMap 在 Java 中可维护元素插入或访问顺序,并…

【达梦数据库(Oracle模式)】如何将视图中的数据导出

在某些情况下,我们需要将生产环境某个模式下的数据导入到开发电脑中,因为正式环境无法连接外网数据。 方式一:将视图查询出来,然后右键导出所有查询结果(不推荐) 优点:方便快捷 缺点&#xff1…

centos 8 中安装Docker

注:本次样式安装使用的是centos8 操作系统。 1、镜像下载 具体的镜像下载地址各位可以去官网下载,选择适合你们的下载即可! 1、CentOS官方下载地址:https://vault.centos.org/ 2、阿里云开源镜像站下载:centos安装包…