数仓面试题(1)

news2024/9/21 16:34:58

1.数据库的三范式是什么?

答:

第一范式(1NF)

强调的是列的原子性,即列不能够再分成其他几列。 

第二范式(2NF)

第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。

第三范式(3NF)

第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

2.维度建模当中星型模型和雪花模型的对比?

星型模型:冗余度高,设计简单,可读性高,关联的维度表少,查询效率高,可扩展性低。

雪花模型:去除了冗余,设计复杂,可读性差,关联的维度表多,查询效率低,但是可扩展性好。
 

一、星型模型
星型模型:当所有的维度表都是和事实表直接相连的时候,整个图形看上去就像是一个星星,我们称之为星型模型。星型模型是一种非正规化的架构,因为多维数据集的每一个维度都和事实表直接相连,不存在渐变维度,所以有一定的数据冗余,因为有数据的冗余,很多的统计情况下,不需要和外表关联进行查询和数据分析,因此效率相对较高。

二、雪花模型
雪花模型:当有多个维度表没有直接和事实表相连,而是通过其它的维度表,间接的连接在事实表上,其图形就像是一个雪花,因此我们称之为雪花模型,雪花模型的优点是减少了数据冗余,在进行数据统计或分析的时候,需要和其他的表进行关联。

三、区别
星型模型和雪花模型最根本的区别就是,维度表是直接连接到事实表还是其他的维度表。
1)星型模型因为数据的冗余所以很多统计查询不需要做外部的连接,因此一般情况下效率比雪花模型要高。
2)星型模型不用考虑很多正规化的因素,设计和实现都比较简单。
3)雪花模型由于去除了冗余,有些统计就需要通过表的连接才能产生,所以效率不一定有星型模型高。
4)正规化也是一种比较复杂的过程,相应的数据库结构设计、数据的ETL、以及后期的维护都要复杂一些。因此在冗余可以接受的前提下,实际运用中星型模型使用更多,也更有效率。 

参考文章

3.维度建模的具体实现?

4.范式建模和维度建模的对比?

范式建模:通过上一小节的具体例子可以看出范式建模的优点:能够结合业务系统的数据模型,较方便的实现数据仓库的模型;同一份数据只存放在一个地方,没有数据冗余,保证了数据一致性;数据解耦,方便维护。但同时也带来了缺点:表的数量多;查询时关联表较多使得查询性能降低。


维度建模:模型结构简单,面向分析,为了提高查询性能可以增加数据冗余,反规范化的设计,开发周期短,能够快速迭代。缺点就是数据会大量冗余,预处理阶段开销大,后期维护麻烦;还有一个问题就是不能保证数据口径一致性,原因后面有讲解。


我们再来理解下维度建模:数据会抽取为事实-维度模型,维度就是看待问题的角度,从不同的角度看待某个问题,就会得出不同的结论,而要得到这个结论,就需要事实表中的度量,何为度量,就是事实表中数值类型的字段。


例:某公司的各个商品在全国各地市的销售情况,维度就是全国的城市和各个商品,度量就是商品的单价,从不同的维度计算销售额:如查看北京市酸奶的销售额,上海市纯牛奶的销售额,这就是不同的维度组合方式。在限定的维度条件上,计算商品单价的总和,也就是 sum 度量值,即可得到我们想要的结果。

参考文章

5.数仓构建流程?

可见:数仓构建过程 - 知乎

6.数仓分层方式及各层作用?

具体见文章:一种通用的数据仓库分层方法 

【数仓系列】数仓分层的意义价值及如何设计数据分层-CSDN博客 

详解数仓中的数据分层:ODS、DWD、DWM、DWS、ADS - 掘金 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1080533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

海豚调度器集群安装DolphinScheduler(3.1.8)

一、前置准备工作 JDK:下载JDK (1.8),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到 PATH 环境变量中。如果你的环境中已存在,可以跳过这步。海豚调度器二进制包:下载 DolphinScheduler(3.1.8) 二进制包数据库: MySQL (5.7)注册中心:ZooKeeper (3.9.0)进程树…

CPU性能分析--火焰图使用

记录工具使用说明,火焰图原理网上分析很多。主要用来分析函数调用栈占用的cpu利用率,分析函数性能。 perf安装: sudo apt-get install linux-tools-common sudo apt-get install linux-tools-"(uname -r)" sudo apt-get install …

【广州华锐互动】铝厂事故3D仿真还原让员工深刻认识事故严重性

铝厂作为高风险行业,安全问题一直备受关注。随着3D技术的不断发展,铝厂开始采用3D警示动画进行安全教育,取得了显著的成效。这种逼真的画面能够让员工深刻认识到事故的严重性和危害性,从而更加重视安全问题。 1.分析事故原因和后果…

用netty实现简易rpc

文章目录 rpc介绍:rpc调用流程:代码: rpc介绍: RPC是远程过程调用(Remote Procedure Call)的缩写形式。SAP系统RPC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接…

群晖内安装的windows虚拟机如何扩展磁盘(虚拟机如何扩展磁盘,解决扩展磁盘不生效的问题)

文章目录 问题解决问题问题 在群晖的虚拟机中创建了一个Win7x64的虚拟机,由于配置低的原因,但是容量只设置了30G,但是现在要满了,所以现在要迁移和扩容 迁移很简单,直接选择迁移就行,扩容的话也就是选择扩容到指定的容量 (注意:这里容量扩大是不可逆的,扩大了不能再变…

银河麒麟安装arm架构mysql8

1. 准备工作 2. 查看麒麟系统版本 使用命令 Linux version 4.19.90-25.21.v2101.ky10.aarch64 (KYLINSOFTlocalhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Wed Sep 28 16:37:42 CST 2022可以看出这是麒麟 v10 ,aarch64 (ARM 架构的&#xff…

A股风格因子看板 (2023.10 第02期)

该因子看板跟踪A股风格因子,该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子,用以分析市场风格切换、组合风格暴露等。 今日为该因子跟踪第02期,指数组合数据截止日2023-09-30,要点如下 1) 近1年A股风格因子检…

聊一聊 Spring 6 面向切面AOP

Java全能学习面试指南:https://javaxiaobear.cn 今天我们一起看看Spring AOP的相关操作! 1、场景模拟 搭建子模块:spring6-aop 1.1、声明接口 声明计算器接口Calculator,包含加减乘除的抽象方法 public interface Calculator…

tailwindcss安装完插件代码不提示

安装完插件鼠标滑过tailwindcss类名claa不提示 vscode版本太低.需要安装最新的vscode插件扩展设置中的Tailwind CSS :Emmet Completions默认是未勾选的,需要手动勾选

科技云报道:不堪忍受英伟达霸权,微软、OpenAI纷纷自研AI芯片

科技云报道原创。 英伟达是当之无愧的“AI算力王者”,A100、H100系列芯片占据金字塔顶尖位置,是ChatGPT这样的大型语言模型背后的动力来源。 但面对英伟达的独霸天下,科技巨头们都纷纷下场自研AI芯片。 10月6日,媒体援引知情人…

二、WebGPU阶段间变量(inter-stage variables)

二、WebGPU阶段间变量(inter-stage variables) 在上一篇文章中,我们介绍了一些关于WebGPU的基础知识。在本文中,我们将介绍阶段变量(inter-stage variables)的基础知识。 阶段变量在顶点着色器和片段着色…

科技资讯|苹果下一代Vision Pro头显将更小更轻,预装处方镜片

据彭博社的 Mark Gurman 在《Power On》新闻简报中透露,苹果和 Meta 的混合现实头显还未发售,但两家的下一代机型的开发工作已经在顺利进行。 据报道,苹果下代产品的一个重点是通过更小、更轻的设计,使其设备佩戴起来更加舒适。据…

VScode远程root权限调试

尝试诸多办法无法解决的情况下,允许远程登陆用户直接以root身份登录 编辑sshd_config文件 sudo vim /etc/ssh/sshd_config 激活配置 注释掉PermitRootLogin without-password,即#PermitRootLogin without-password 增加一行:PermitRootLo…

浅谈高速公路服务区分布式光伏并网发电

前言 今年的国家经济工作会议提出:将“做好碳达峰、碳中和工作”作为 2021年的主要任务之一,而我国高速公路里程 15.5万公里,对能源的需求与日俱增,碳排放量增速明显。 为了实现采用减少碳排放量,采用清洁能源替代的…

mac版postman升级后数据恢复办法

postman升级了一下,所有的collections都丢失了。 首先在finder里找到这个路径 /Users/{用户名}/Library/Application Support/Postman找到升级之前的的最新的backup.json,然后在postman里import这个文件。 所有升级前的collections都恢复了&#xff0…

云上攻防-云服务篇对象存储Bucket桶任意上传域名接管AccessKey泄漏

文章目录 章节点前言对象存储各大云名词: 对象存储-以阿里云为例:正常配置权限配置错误公共读或公共读写:可完整访问但不显示完整结构权限Bucket授权策略:设置ListObject显示完整结构权限Bucket读写权限:公共读写直接P…

数据结构相关知识点(一)

一、线性表 1.什么是线性表? 线性表,全名为线性存储结构。使用线性表存储数据的方式可以理解理解为:把所有数据按照顺序(线性)的存储结构方式,存储在物理空间。 2.线性存储结构 顺序存储结构&#xff1…

建筑行业+办公领域低代码解决方案:创新、效率与商机的共赢

随着科技的不断进步和创新,建筑行业面临着技术创新和转型升级的压力。新的技术和工艺不断涌现,建筑企业需要紧跟技术趋势,引入新的技术和工艺,提高生产效率和质量,增强自身的核心竞争力。 而且建筑行业是一个高度竞争…

MongoDB副本集集群原理

文章目录 1、副本集-Replica Sets1.1、是什么1.2、副本集的三个角色1.3、副本集架构目标1.4、副本集的创建1.4.1 第一步:创建主节点1.4.2 第二步:创建副本节点1.4.3 第三步:创建仲裁节点1.4.4 第四步:初始化配置副本集和主节点1.4…

基于SSM的影视企业全渠道会员管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…