当前位置: 首页 > news >正文

数据仓库基础常见面试题

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

相关文章:

数据仓库基础常见面试题

1.数据仓库是什么 ‌数据仓库(Data Warehouse)是一个面向主题的、集成的、非易失的、随时间变化的数据集合,用于支持企业的管理决策‌。它不同于传统的操作型数据库,后者主要用于处理日常业务交易和实时查询,而数据仓库…...

Java设计模式——单例模式(特性、各种实现、懒汉式、饿汉式、内部类实现、枚举方式、双重校验+锁)

文章目录 单例模式1️⃣特性💪单例模式的类型与实现:类型懒汉式实现(线程不安全)懒汉式实现(线程安全)双重锁校验懒汉式(线程安全)饿汉式实现(线程安全)使用类的内部类实现⭐枚举方式实现单例(推荐)👍 单例…...

数字普惠金融对新质生产力的影响研究(2015-2023年)

基于2015—2023年中国制造业上市公司数据,探讨了数字普惠金融对制造业企业新质生产力的影响及作用机理。研究发现,数字普惠金融有助于促进制造业企业新质生产力的发展,尤其是在数字普惠金融的使用深度较大的情况下,其对新质生产力…...

国产编辑器EverEdit - 扩展脚本:新建同类型文件(避免编程学习者反复新建保存练习文件)

1 扩展脚本:在当前文件目录下新建同类型文件 1.1 应用场景 用户在进行编程语言学习时,比如:Python,经常做完一个小练习后,又需要新建一个文件,在新建文件的时候,不但要选择文件类型&#xff0c…...

jupyter notebook练手项目:线性回归——学习时间与成绩的关系

线性回归——学习时间与学习成绩的关系 第1步:导入工具库 pandas——数据分析库,提供了数据结构(如DataFrame和Series)和数据操作方法,方便对数据集进行读取、清洗、转换等操作。 matplotlib——绘图库,p…...

dockerfile2.0

dockerfile实现lnmp nginx centos7 mysql centos7 php centos7 自定义镜像来实现整个架构 cd /opt mkdir nginx mysql php cd nginx 拖入nginx和wordpress vim Dockerfile vim nginx.conf ↓ worker_processes 1; events {worker_connections 1024; } http {include …...

【spring mvc】文件上传、下载

文件上传,存储至本地目录中 一、代码1、工具类(敏感后缀过滤)2、文件上传,存储至本地3、文件下载 二、效果演示1、上传1.1、postMan 请求1.2、上传效果 2、下载2.1、下载效果 一、代码 1、工具类(敏感后缀过滤&#x…...

FPGA工程师成长四阶段

朋友,你有入行三年、五年、十年的职业规划吗?你知道你所做的岗位未来该如何成长吗? FPGA行业的发展近几年是蓬勃发展,有越来越多的人才想要或已经踏进了FPGA行业的大门。很多同学在入行FPGA之前,都会抱着满腹对职业发…...

java fastjson2 解析JSON用法解析

Fastjson2 是 Fastjson 的升级版本,提供了更好的性能和扩展性,同时也在 API 和功能上做了很多改进。使用 Fastjson2 解析 JSON 数据非常简单,支持多种方式来解析 JSON 字符串、嵌套 JSON 对象和数组、以及转换成 Java 对象。下面详细介绍 Fas…...

计算机视觉算法实战——步态识别(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​​​​​​​​​​​​​​​​​​ 1. 步态识别简介✨✨ 步态识别(Gait Recognition)是计算机视觉领域中的一个…...

LabVIEW水位监控系统

LabVIEW开发智能水位监控系统通过集成先进的传感技术与控制算法,为工业液体存储提供精确的水位调控,保证了生产过程的连续性与安全性。 项目背景 在化工和饮料生产等行业中,水位控制的准确性对保证生产安全和提高产品质量至关重要。传统的水…...

网络层协议-----IP协议

目录 1.认识IP地址 2.IP地址的分类 3.子网划分 4.公网IP和私网IP 5.IP协议 6.如何解决IP地址不够用 1.认识IP地址 IP 地址(Internet Protocol Address)是指互联网协议地址。 它是分配给连接到互联网的设备(如计算机、服务器、智能手机…...

计算机网络八股文学习笔记

总结来自于javaguide,本文章仅供个人学习复习 javaguide计算机网络八股 文章目录 计算机网络基础网络分层模型OSI七层模型TCP/IP四层模型 HTTP从输入URL到页面展示到底发生了什么?(非常重要)HTTP状态码HTTP Header中常见的字段有哪些?HTTP和HTTPS有什么区别?(重要)HTTP/1.0和…...

IntelliJ IDEA中Maven项目的配置、创建与导入全攻略

大家好,我是袁庭新。 IntelliJ IDEA是当前最流行的Java IDE(集成开发环境)之一,也是业界公认最好用的Java开发工具之一。IntelliJ IDEA支持Maven的全部功能,通过它我们可以很轻松地实现创建Maven项目、导入Maven项目、…...

如何在Jupyter中快速切换Anaconda里不同的虚拟环境

目录 介绍 操作步骤 1. 选择环境,安装内核 2. 注册内核 3. 完工。 视频教程 介绍 很多网友在使用Jupyter的时候会遇到各种各样的问题,其中一个比较麻烦的问题就是我在Anaconda有多个Python的环境里面,如何让jupyter快速切换不同的Pyt…...

stack和queue专题

文章目录 stack最小栈题目解析代码 栈的压入弹出序列题目解析代码 queue二叉树的层序遍历题目解析代码 stack stack和queue都是空间适配器 最小栈 最小栈的题目链接 题目解析 minst是空就进栈&#xff0c;或者是val < minst.top()就进栈 代码 class MinStack { public:M…...

【Vue】点击侧边导航栏,右侧main对应显示

需求&#xff1a;点击侧边导航栏&#xff0c;右侧main对应显示 通过v-if或v-show等指令来控制不同内容的显示隐藏来实现 注意&#xff1a; 使用v-if时候进行导航栏切换&#xff0c;右侧显示区域可能会出现样式错乱&#xff1b;使用v-show则不会出现此错误 <template>&…...

【Debug】django.db.utils.OperationalError: (1040, ‘Too many connections‘)

报错&#xff1a; django.db.utils.OperationalError: (1040, ‘Too many connections‘) 排查 可能是Mysql的连接数量超过了允许的最大连接数量&#xff1b; 查看Mysql允许最大连接数量&#xff1a; -- 查看允许连接的最大数量 SHOW VARIABLES LIKE %max_connections%;-- 查…...

如何开放2375和2376端口供Docker daemon监听

Linux (以 Ubuntu 为例) 1. 修改 Docker 配置文件 打开 Docker 的配置文件 /etc/docker/daemon.json。如果该文件不存在&#xff0c;则可以创建一个新的。 bash sudo nano /etc/docker/daemon.json在配置文件中添加以下内容&#xff1a; json {"hosts": ["un…...

RabbitMQ确保消息可靠性

消息丢失的可能性 支付服务先扣减余额和更新支付状态&#xff08;这俩是同步调用&#xff09;&#xff0c;然后通过RabbitMq异步调用支付服务更新订单状态。但是有些情况下&#xff0c;可能订单已经支付 &#xff0c;但是更新订单状态却失败了&#xff0c;这就出现了消息丢失。…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...