数据仓库面试题
数据仓库常见面试问题
数据仓库常见⾯试问题
数据仓库主要⼯作就是模型设计;
1、数仓建模⽅法:范式建模、维度建模、Data Vault; 各⾃优缺点?
2、维度建模的三种⽅式:星型模式、雪花模式、星座模式
3、分层架构:ODS、DW(DW数据分层,由下到上为 DWD,DWB,DWS)、ADS
4、缓慢变化维与退化维;处理缓慢变化维的⽅式(拉链表,拉链表能实现保存历史快照,去除重复数据,节约空间)
5、维度建模过程?
6、事实表有哪些?各⾃含义?
事务型事实表(其中事务的含义?
⼀⾏数据。
⼀旦事务被提交,事实表数据被插⼊,数据就不再进⾏更改,其更新⽅式为增量
更新。
事实的含义?--术语表⽰的是业务事件的度量值(可统计次数、个数、件数、⾦额等))
周期型事实表
不会保留所有数据只保留固定时间间隔的数据,例如每天或者每
⽉的销售额,或每⽉的账户余额等。
稠密(例如当天没发⽣交易,也会记录数据)
累积型事实表
累计快照事实表⽤于跟踪业务事实的变化。
例如,数据仓库中可能需要累积或者存储订
单从下订单开始,到订单商品被打包、运输、和签收的各个业务阶段的时间点数据来跟踪订
单声明周期的进展情况。
当这个业务过程进⾏时,事实表的记录也要不断更新。
参考。
数据库工程师面试准备考试试卷
数据库工程师面试准备考试试卷(答案见尾页)一、选择题1. 在关系型数据库中,索引的主要作用是什么?A. 提高数据查询效率B. 存储冗余数据C. 提高数据完整性D. 增加数据安全性2. 以下哪个不是SQL语言的数据操作语句?A. SELECTB. INSERTC. UPDATED. DELETE3. 在数据库设计中,哪种范式用于消除非主属性对主键的部分依赖?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. BCNF4. 什么是数据库事务的ACID特性?A. 原子性(Atomicity)B. 一致性(Consistency)C. 隔离性(Isolation)D. 持久性(Durability)5. 在分布式数据库中,什么是CAP定理?它说明了什么?A. 一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)之间的权衡B. 数据库复制延迟C. 数据库锁机制D. 数据库备份策略6. 以下哪种数据模型是用于描述实体之间关系的?A. 网状模型(Graph Model)B. 关系模型(Relational Model)C. 面向对象模型(Object-Oriented Model)D. 树状模型(Tree Model)7. 在数据库优化中,如何提高查询性能(多选)?A. 使用索引B. 添加冗余数据C. 优化查询语句D. 增加数据副本8. 什么是数据库的正常关闭和异常关闭?它们各自的处理方法是什么?A. 正常关闭:优雅地关闭数据库连接,释放资源。
B. 异常关闭:突然终止数据库服务,可能导致数据不一致。
C. 处理方法:正常关闭需要确保所有活动事务都已完成;异常关闭需要记录日志并尝试恢复数据。
9. 在数据库备份策略中,全备份、增量备份和差异备份有什么区别?A. 全备份:备份全部数据,恢复时最简单。
B. 增量备份:仅备份自上次备份以来发生变化的数据。
关于数据仓库工程师的一般面试题目
关于数据仓库工程师的一般面试题目相信会对即将投身于数据仓库事业中的同行们有点帮助!不过这只是针对初级数据仓库工程师的基本问题。
本题只代表自己对数据仓库的肤浅认识,不代表任何公司的面试题目。
对于高级数据仓库工程师的问题更侧重于各种工具的细枝末节。
对于数据仓库架构师的问题更侧重于数据仓库的架构和总体认识。
对于数据仓库项目经理的问题除了以上的问题外,就是一般项目管理的技能了吧。
关于数据仓库部分的面试问题!什么叫数据仓库?(相信inmon的数据仓库概念的四个特点是最基本的吧,当然需要加上自己的理解)数据仓库和数据库有什么区别?(事务性数据库和决策支持数据库的区别,当然包括目标、用途、设计等等)什么叫OLAP?用途是什么?(OLAP指多维数据库了,主要用于多维分析了;包括三种实现方式)什么叫维度和度量值?(一个是出发点,一个是观察值) 数据仓库的基本架构是什么?(数据源,ETL,data stage,ODS,data warehouse,datamart,OLAP等等,可能为针对每一个结构进行发问啊)什么叫缓慢维度变化?(为了表现和记录基础数据变化情况在数据仓库中的记录,包括三大类维度处理方式,缓慢变化维包括三小类)什么叫查找表,为什么使用替代键?(其实目的和上面一样,从基础表到缓慢维度表的过程中的一种实现途径)如何实现增量抽取?(主要采用时间戳方式,提供数据抽取和处理的性能) 用过什么ETL工具(informatica,ssis,owb,datastage),以及该工具简单讲述特点。
ETL都包括那些组成部分(工作流和数据流,数据流包括若干组件处理ETL的各个环节) 用过什么报表工具(bo,hyperion,congo,reporing servce),以及该工具基本特点。
数据仓库项目最重要或需要注意的是什么,以及如何处理?(一般答数据质量,主要是数据源数据质量分析,数据清洗转换,当然也可以定量分析)关于数据库部分的面试题(不是要DBA的,但是还是要具备DBA的部分知识结构) 用过什么数据库(SQLServer,Oracle),并能够讲述其物理和逻辑结构,以Oracle为主能够写基本的SQL语句,分组函数和关联,通常会给几个例子的如何进行性能优化,只要能答索引的基本原理以及各种索引的区别就行了事实上数据仓库和DBA或者其他技术不同,没有什么绝对的答案,只要能表达和描述清楚自己的观点就行了感谢您的阅读,祝您生活愉快。
数据库面试题大全
数据库面试题大全以下是一些常见的数据库面试题目:1. 什么是数据库?请简要描述数据库的基本概念。
2. 请解释一下关系型数据库和非关系型数据库的区别。
3. 什么是SQL?请简要描述SQL的作用和用途。
4. 什么是主键和外键?请举例说明它们在数据库中的作用。
5. 什么是索引?请简要描述索引的作用和优缺点。
6. 请解释一下事务的概念,以及事务的隔离级别。
7. 请解释一下数据库的连接池和它的作用。
8. 什么是数据库触发器?请简要描述触发器的作用和用途。
9. 什么是存储过程?请简要描述存储过程的作用和用途。
10. 什么是视图?请简要描述视图的作用和用途。
11. 请解释一下数据库的规范化,以及规范化的好处。
12. 请解释一下数据库的性能优化,以及如何进行性能优化。
13. 请描述一下你如何处理数据库中的重复数据。
14. 什么是数据库备份和恢复?请简要描述备份和恢复的方法。
15. 请解释一下数据库的并发控制,以及并发控制的方法。
16. 请解释一下数据库的分区,以及分区的好处。
17. 什么是数据库的乐观锁和悲观锁?请简要描述它们的区别和用途。
18. 请解释一下数据库的日志和日志的重要性。
19. 什么是数据库的联接?请简要描述不同类型的联接(如内联接、左外联接、右外联接、全外联接等)。
20. 请解释一下数据库的索引,以及如何使用索引来提高查询性能。
21. 请解释一下数据库的性能优化,以及如何进行性能优化。
22. 什么是数据库的安全性?如何保证数据库的安全性?23. 请解释一下数据库的视图,以及视图的用途和优点。
24. 什么是数据库的游标?游标在数据库中有什么用途?25. 请解释一下数据库的存储过程和函数,以及它们的用途和优点。
众测数仓面试题
众测数仓面试题1、能否简介一下当前这个项目2、什么是数据仓库呢?3、数据仓库和传统的业务数据库有什么区别?4、OLTP和OLAP分别是什么?有什么区别?5、项目是如何分层的6、数仓一般怎么做分层处理呢?7、数仓分层的作用是什么?8、项目中有做按照主题分析吗?若有,有哪些主题9、数据分析能决定企业未来发展,请辩证这个观点10、什么是事实表,什么是维度表,有什么区别和联系11、什么是指标,什么是维度,有什么区别和联系12、数据仓库的主要特性是?13、数据仓库主要解决了什么问题14、一个企业一般构建几个数据仓库最好,并说明15、什么是缓慢渐变维?适用于什么场景?16、什么是拉链表?适用于什么场景17、什么是维度的分层和分级?什么是上钻和下卷?18、请简述数据集市19、请简述维度退化,以及其作用20、请简述以下层级的主要作用22、请简述SCD2的实现方法(最少2种,多了不限)23、请用三个单词来总结数仓分层的主要工作内容24、什么是版本控制工具25、什么是git26、.git文件夹的作用27、什么是本地库什么是远程库28、在大数据框架中,压缩的作用是什么?29、请简述行存储和列存储各自的优缺点和适用场景30、什么是Hive的分区?什么是Hive的分桶?31、Hive中静态分区、动态分区、混合分区分别是什么32、什么是Map Join,有什么好处,主要原理是什么33、如何显式的告知Hive执行任务要走MapJoin34、什么是Bucket Map Join,有什么好处,主要原理是什么35、什么是SMB Join,有什么好处,主要原理是什么36、请简述Hive的执行原理。
数据仓库面试题
数据仓库⾯试题离线数仓⾯试题?1、ODS:存放原始数据,直接加载原始⽇志,数据,数据保持原貌不做处理。
2、DWS:结构和粒度与原始表保持⼀致,对ODS层数据进⾏清洗(去除空值,脏数据)3、DWS:以DWD层为基础,进⾏轻度汇总。
4、ADS:为各种统计报表提供数据。
为什么要对数仓进⾏分层?1、把简单问题复杂化将⼀个复杂的任务分解成多个步骤来完成,每⼀层只处理单⼀的步骤,⽐较简单,并且⽅便定位问题。
2、减少重复开发规范数据分层,通过中间层的数据,能够减少极⼤的重复计算,增加⼀次计算结果的复⽤性。
3、隔离原始数据不论是数据的异常还是数据的敏感性,使真实数据与统计数据解耦开说说对数据库仓库的理解?数据仓库是⾯向主题进⾏组织的,数据是集成的,不更新的随时间变化的。
数据仓库经历了这样三个阶段:简单报表,数据集市阶段,数据仓库阶段数据库和数据仓库的区别?数据库是⾯向事务的,⽤来存放数据的仓库,通过数据库软件来实现。
数据库由很多表组成,表是⼆维的,⼀张表⾥⾯可以有很多字段数据仓库是⾯向主题的星型模型和雪花模型?星型模型:多维表的数据关系,它由⼀个事实表和⼀组维表组成,每个维作为主键雪花模型:当⼀个或多个维没有直接连接到事实表上,⽽是通过其他维表连接到事实表上的时候。
使⽤场景:雪花模型:使得维度分析更加容易⽐如“针对特定的⼴告主,有哪些客户或者公司是在线的?"星型模型:⽤来做指标分析更合适,⽐如:给定的⼀个客户他们的收⼊是多少?如果现在有⼀千张表,从⼀个库到另⼀个库的ODS层,你会怎么做?利⽤消息队列做数据订阅发布数仓三层架构,每层有什么⽤?1、数据访问层:主要对⾮原始数据的操作层,⽽不是指原始数据,也就是说是对数据库的操作,⽽不是数据,具体为业务逻辑层或表⽰层提供数据服务。
2、业务逻辑层:主要针对具体的问题的操作,也可以理解为对数据层的操作,对数据业务逻辑处理,⽐如说数据层是积⽊,那逻辑层就是对这些积⽊的搭建3、界⾯层、主要表⽰WEB⽅式,也可以表⽰成WINFORM⽅式,WEB⽅式也可以表现成:aspx。
仓库数据员面试题目及答案
仓库数据员面试题目及答案一、问题描述在仓库管理中,数据员扮演着非常重要的角色。
他们负责记录、整理和维护仓库的相关数据,为仓库管理人员提供准确、及时的信息支持。
为了招聘合适的仓库数据员,以下是一些常见的面试题目及答案。
二、面试题目及答案1. 数据员在仓库管理中扮演什么样的角色?答:数据员在仓库管理中负责记录、整理和维护仓库的相关数据。
他们需要准确地记录入库和出库的货物数量、规格、质量等信息,并及时更新仓库系统。
数据员的工作对于仓库管理人员的决策具有重要的支持作用。
2. 请描述你在以往工作中处理大量数据的经验。
答:我之前在一家大型仓库工作过,负责每天处理大量的入库和出库数据。
我熟练掌握Excel等办公软件,能够快速、准确地录入和整理数据。
同时,我也能够根据需要生成各种数据报表和分析图表,为仓库管理人员提供决策支持。
3. 数据员在处理数据时需要注意哪些方面?答:在处理数据时,数据员需要具备高度的准确性和细致性。
他们不能随意修改数据,必须遵循统一的记录规范和操作流程。
此外,数据员需要保证数据的安全性,避免数据泄露或损坏。
4. 仓库管理中的数据分类有哪些?答:仓库管理中的数据可以按照不同的角度进行分类,主要包括:- 入库数据:包括货物的名称、数量、规格、质量等信息。
- 出库数据:包括货物的出库时间、目的地、运输方式等信息。
- 库存数据:包括仓库中各类货物的当前库存量。
- 货物追踪数据:包括货物从进入仓库到出库的整个流程记录。
- 损耗数据:包括货物在仓库过程中的损耗情况统计等。
5. 如何处理数据中的错误或异常情况?答:当发现数据中存在错误或异常情况时,数据员应及时通知仓库管理人员,并协调相关人员进行核实和修正。
此外,数据员需要保留原始数据和修改记录,以便数据审查和追溯。
6. 你如何保证数据的安全和机密性?答:保证数据安全和机密性是数据员的重要职责。
我会严格遵守公司的数据保密规定,确保数据的存储和传输过程中没有泄露风险。
数据库工程师面试题及答案(全)
数据库工程师面试题及答案1.请简要介绍你对数据库的理解以及你的数据库工作经验?答:数据库是一种可以存储、管理和检索数据的软件系统。
作为一名数据库工程师,我的主要工作职责包括设计和管理数据库系统、调优和优化数据库性能、实现数据备份和恢复、确保数据安全和隐私保护等。
我拥有多年的数据库工作经验,擅长使用MySQL、Oracle、SQL Server等数据库管理系统,对SQL语言和数据库优化有深入的了解。
2.请介绍一下数据库索引的原理和常用类型?答:数据库索引是一种数据结构,可以加速数据检索的速度和效率。
常见的索引类型包括B+树索引、哈希索引、全文索引等。
其中,B+树索引是最常用的索引类型,它采用平衡树结构来存储数据,可以支持快速的范围查找和排序操作。
哈希索引是一种使用哈希函数将数据映射到索引中的索引类型,可以支持快速的精确查找操作。
全文索引是一种可以在文本中进行模糊匹配的索引类型,可以支持全文搜索和关键词查询。
3.请介绍一下数据库事务的概念和ACID特性?答:数据库事务是一组需要被看作为一个单独的操作执行的SQL语句集合。
为了确保数据的完整性和一致性,事务需要满足ACID特性。
ACID是指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
⏹原子性:事务中的所有操作要么全部执行成功,要么全部失败,不存在中间状态。
⏹一致性:事务执行前后,数据库中的数据保持一致性状态。
⏹隔离性:事务之间的操作互相隔离,一个事务的执行不应该影响其他事务。
⏹持久性:事务执行成功后,其所做的修改应该被持久化存储,不会因为系统故障等原因丢失。
4.请简述一下数据库优化的方法和技巧?答:数据库优化是提高数据库性能和响应速度的重要手段,常用的方法和技巧包括:⏹合理设计和优化数据库结构,避免冗余和无用数据。
⏹创建适当的索引,加快数据检索速度。
⏹使用分区表,优化大数据表的查询速度。
头条数据仓库面试题
头条数据仓库面试题一.选择题:1.在数据挖掘的分析方法中,直接数据挖掘包括( ) *A 分类(正确答案)B 关联C 估值(正确答案)D 预言(正确答案)2.关于OLAP和OLTP的区别描述,不正确的是: ( ) [单选题] *A. OLAP主要是关于如何理解聚集的大量不同的数据.它与OLTP应用程序不同.B. 与OLAP应用程序不同,OLTP应用程序包含大量相对简单的事务.C. OLAP的特点在于事务量大,但事务内容比较简单且重复率高.(正确答案)D. OLAP是以数据仓库为基础的,但其最终数据来源与OLTP一样均来自底层的数据库系统,两者面对的用户是相同的3. 数据仓库是随着时间变化的,下面的描述不正确的是 ( ) [单选题] *A. 数据仓库随时间的变化不断增加新的数据内容;B. 捕捉到的新数据会覆盖原来的快照;C. 数据仓库随事件变化不断删去旧的数据内容;(正确答案)D. 数据仓库中包含大量的综合数据,这些综合数据会随着时间的变化不断地进行重新综合.4. 关于基本数据的元数据是指: ( ) [单选题] *A. 基本元数据与数据源,数据仓库,数据集市和应用程序等结构相关的信息;B. 基本元数据包括与企业相关的管理方面的数据和信息;C. 基本元数据包括日志文件和简历执行处理的时序调度信息;D. 基本元数据包括关于装载和更新处理,分析处理以及管理方面的信息.(正确答案)5. OLAP技术的核心是: ( ) [单选题] *A. 在线性;B. 对用户的快速响应;C. 互操作性.D. 多维分析;(正确答案)6. 关于OLAP的特性,下面正确的是: ( ) *(1)快速性(正确答案)(2)可分析性(正确答案)(3)多维性(正确答案)(4)信息性(正确答案)(5)共享性(正确答案)7. 关于OLAP和OLTP的区别描述,不正确的是: ( ) [单选题] *A. OLAP主要是关于如何理解聚集的大量不同的数据.它与OTAP应用程序不同.B. 与OLAP应用程序不同,OLTP应用程序包含大量相对简单的事务.C. OLAP的特点在于事务量大,但事务内容比较简单且重复率高.(正确答案)D. OLAP是以数据仓库为基础的,但其最终数据来源与OLTP一样均来自底层的数据库系统,两者面对的用户是相同的.8.数据仓库的特点分别是 ()。
数据库管理员常见面试题
数据库管理员常见面试题在当今数字化的时代,数据库管理员(DBA)的角色至关重要。
他们负责确保数据库的高效运行、数据的安全性和完整性。
当企业招聘数据库管理员时,通常会提出一系列有针对性的面试问题,以评估候选人的技术能力、问题解决能力和经验。
以下是一些常见的数据库管理员面试题:一、基础知识1、请简要介绍一下关系型数据库和非关系型数据库的区别,并举例说明它们的应用场景。
关系型数据库基于结构化的数据表,通过关联和约束来保证数据的一致性,例如 MySQL、Oracle 等,适用于对数据一致性和事务处理要求较高的业务,如金融交易系统。
非关系型数据库则更灵活,常见的有 MongoDB、Redis 等,适合处理大量的非结构化数据,如社交媒体的用户动态。
2、解释一下数据库的 ACID 特性。
ACID 分别代表原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
原子性确保事务要么全部成功执行,要么全部失败回滚;一致性保证数据库在事务执行前后始终处于合法的状态;隔离性使多个并发事务相互隔离,避免相互干扰;持久性则保证事务提交后,对数据的修改是永久性的。
3、什么是索引?在什么情况下应该使用索引,什么情况下不应该使用?索引是一种用于加快数据检索速度的数据结构。
在经常用于查询、连接和排序的列上应该使用索引,例如主键、外键等。
但在数据量较小的表、频繁更新的列或者数据分布不均匀的列上不建议使用索引,因为它会增加数据插入、更新和删除的开销。
二、数据库管理与维护1、描述一下你在数据库备份和恢复方面的经验。
包括你使用的工具和技术,以及如何制定备份策略。
在过往工作中,我使用过 SQL Server 的内置备份工具和第三方工具如 Veeam。
备份策略通常根据数据的重要性和更新频率来制定。
对于关键业务数据,每天进行全量备份,并定期进行差异备份和事务日志备份。
恢复操作会先评估损失,然后选择合适的备份进行恢复,并确保恢复后的数据一致性和完整性。
数据库面试必会6题经典
数据库面试必会6题经典以下是一些常见的数据库面试题,有助于准备数据库面试:1. 请解释 SQL 查询语句中的 JOIN 操作。
JOIN 操作用于将两个或多个表中的数据进行匹配,以便在查询结果中显示所有匹配的行。
JOIN 操作分为内连接 (JOIN)、外连接(LEFT JOIN、RIGHT JOIN、INNER JOIN) 和全连接 (FULL OUTER JOIN)。
其中,内连接是最基本的连接方式,它只会返回两个表中匹配的行。
外连接则会返回两个表中的所有行,即使它们没有匹配的行。
全连接则会返回两个表中的所有行,即使没有匹配的行。
2. 请解释什么是表?表是一种数据结构,用于存储一组相关数据。
一张表通常由多个列组成,每个列描述了数据的某个方面。
例如,一张顾客订单表可能包含顾客 ID、订单 ID、商品 ID 和商品名称等列。
3. 请解释什么是索引?索引是一种数据结构,用于提高查询速度。
它通常是一组关键词,用于快速查找表中的数据。
例如,如果一张顾客订单表需要查找顾客ID 为 123456 的订单,如果没有索引,则需要遍历整个表,而如果使用了索引,则可以非常快地找到该订单。
4. 请解释什么是数据一致性?数据一致性是指系统中的数据保持一致状态。
这意味着,无论何时,系统中的数据都应该是一致的。
例如,如果一张顾客订单表记录了顾客 ID 为 123456 的订单,那么无论什么时候查询该表,都应该看到该订单。
5. 请解释什么是数据库锁定?数据库锁定是一种机制,用于防止多个事务同时访问同一张表。
当多个事务同时访问同一张表时,可能会导致数据不一致,因此数据库会强制其中一个事务等待其他事务释放锁,以便该事务可以访问该表。
6. 请解释什么是数据库备份和恢复?数据库备份是指将数据库中的数据复制到其他位置,以便在数据库损坏或数据丢失时进行恢复。
数据库恢复是指将损坏或丢失的数据库恢复到先前状态的过程。
备份和恢复是数据库管理中非常重要的一部分,可以帮助保证数据库数据的完整性和可靠性。
数据仓库面试题
数据仓库面试题问题1: in exists的区别not in和not exists的区别?是一个集合运算符.a in (a, c, d, s, d-}这个运算中,前面是一个元素, 答案:n后面是一个集合,集合中的元素类型是和前面的元素一样的.而exists是一个存在判断,如果后面的查询中有结果,则exists为真,否则为假。
not in和not exi sts如果查询语句使用了not in那么内外表都进行全表扫描,没有用到索引;而not extsts的子查询依然能用到表上的索引。
所以无论那个表大,用not exists都比not in要快。
总之:尽量使用not exist ,避免使用not innot in会默认调用子查询not exist会调用关联子查询问题2:拉链表知道么?答案:拉链表就是随着时间变迁产生历史数据。
拉链表的含义:就是记录历史。
记录一个事务从开始一直到当前状态的所有变化信息。
问题3:数仓三层架构,具体每层作用?答案:1:数据访问层:主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据库的操作,而不是数据,具体为业务逻辑层或表示层提供数据服务。
2:业务逻辑层:主耍是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。
3:界面层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
问题4:为什么叫星型模型和雪花模型?答案:星型模型是:多维表的数据关系,它由一个事实表和一组维表组成,每个维作为主键雪花模型是:当一个或多个维没有直接连接到事实表上,而是通过其他维表连接到事实表上的时候,其图解就像雪花模型连接在一起、使用场景:雪花模型使得维度分析更加容易,比如“针对特定的广告主,有哪些客户或者公司是在线的?”星形模型用来做指标分析更适合,比如“给定的一个客户他们的收入是多少?”问题5:星型模型和雪花模型各自的优点?答案:概念一一根据事实表和维度表的关系,可将常见的模型分为星型模型和雪花模型。
数据仓库架构师面试题
数据仓库(商业智能)/ETL架构师面试题1. What is a logical data mapping and what does it mean to the ETL team?什么是逻辑数据映射?它对ETL项目组的作用是什么?答:逻辑数据映射(Logical Data Map)用来描述源系统的数据定义、目标数据仓库的模型以及将源系统的数据转换到数据仓库中需要做操作和处理方式的说明文档,通常以表格或Excel的格式保存如下的信息:目标表名:目标列名:目标表类型:注明是事实表、维度表或支架维度表。
SCD类型:对于维度表而言。
源数据库名:源数据库的实例名,或者连接字符串。
源表名:源列名:转换方法:需要对源数据做的操作,如Sum(amount)等。
逻辑数据映射应该贯穿数据迁移项目的始终,在其中说明了数据迁移中的ETL 策略。
在进行物理数据映射前进行逻辑数据映射对ETL项目组是重要的,它起着元数据的作用。
项目中最好选择能生成逻辑数据映射的数据迁移工具。
2. What are the primary goals of the data discovery phase of the data warehouse project?在数据仓库项目中,数据探索阶段的主要目的是什么?答:在逻辑数据映射进行之前,需要首先对所有的源系统进行分析。
对源系统的分析通常包括两个阶段,一个是数据探索阶段(Data Discovery Phase),另一个是异常数据检测阶段。
数据探索阶段包括以下内容:1.收集所有的源系统的文档、数据字典等内容。
2.收集源系统的使用情况,如谁在用、每天多少人用、占多少存储空间等内容。
3.判断出数据的起始来源(System-of-Record)。
4.通过数据概况(Data Profiling)来对源系统的数据关系进行分析。
数据探索阶段的主要目的是理解源系统的情况,为后续的数据建模和逻辑数据映射打下坚实的基础。
数仓相关面试题
数仓相关面试题1. 前期业务调研,如需求调研、数据调研、技术调研2. 提炼业务模型、总线矩阵、划分主题域3. 定制规范,如命名规范、开发规范、流程规范4. 数仓架构分层以阿里巴巴OneData建设为例:一般分为操作数据层(ODS:Operational Data Store)、公共维度模型层(CDM)和应用数据层(ADS)。
其中公共维度模型层包括明细数据层(DWD和汇总数据层(DWS)。
公共维度模型层(CDM):存放明细事实数据、维表数据及公共指标汇总数据,其中明细事实数据、维表数据一般根据ODS层数据加工生成:公共指标汇总数据一般根据维表数据和明细事实数据加工生成。
CDM层又细分为DWD层和DWS层,分别是明细数据层和汇总数据层,采用维度模型方法作为理论基础,更多地采用一些维度退化手法,将维度退化至事实表中,减少事实表和维表的关联,提高明细数据表的易用性:同时在汇总数据层,加强指标的维度退化,采取更多的宽表化手段构建公共指标数据层,提升公共指标的复用性,减少重复加工。
组合相关和相似数据:采用明细宽表,复用关联计算,减少数据扫描。
公共指标统一加工:基于OneData体系构建命名规范、口径一致和算法统一的统计指标,为上层数据产品、应用和服务提供公共指标;建立逻辑汇总宽表。
建立一致性维度:建立一致的数据分析维表,降低数据计算口径、算法不统一的风险。
应用数据层(ADS):存放数据产品个性化的统计指标数据,根据CDM层与ODS层加工生成。
5)选择合适的数据模型,不同的行业所选取的模型不尽相同,合适的模型,更利于在数据存储,计算,开发,安全,以及数据查询的效率,更能体现数仓的价值。
综上所述:数仓建设这个问题的范围过于大,它包含了一个0-1的过程,此处只做大方面的回答,具体的细节问题还需另外讨论。
关于数仓构建,推荐阅读:《数据仓库架构和建设方法论》、《企业大数据平台仓库架构建设思路》、《详解数据仓库的实施步骤》。
数据仓库工程师面试题(笔试1)
数据仓库工程师面试题姓名:____张小核______ 开始时间:_____:______ 结束时间:_____:_____一、数据库1.使用过哪些数据库?试说出它们的异同。
答:使用过SQL SERVER和ORACLE它们的区别是:1.sql server 是中小型企业用的,oracle是中大型企业用的;oracle跨平台能在linux上运行,sqlserver只能在windows运行,而linux平台比windows平台稳定,所以安全性高;sqlserver操作简便,oracle比较复杂;oracle能把数据存在不同的硬盘上sqlserver不能;oracle能够回滚表空间查询sqlserver不能;oracle支持label security,sqlserver不能;oracle扩展性比较强。
2.事务有多个性质,其中不包括( B )A.一致性 B.唯一性C.原子性 D.隔离性3.CHAR类型和V ARCHAR类型有何区别?答:char的长度是固定的,最长2000个字符,当输入的字符小于你定义的字符数目时,它会自动补空值,所以它占用空间较大但是效率高;varchar的长度是可变的,用它可以节省存储空间,但是效率没有char高。
4.视图与表有何区别?表是实际存在的,视图是一个或多个表结果的映射,实际不存在,所以视图不占用实际的物理空间,但删除时不影响数据,而表影响5.数据库中常见的约束有哪些?答:1.非空值约束,是not null;2。
唯一性约束,不能重复造成冗余;3.检查约束,能够保证数据完整性;还有主键不能为空,应该是唯一的,字段属性要不能再分6.有一个空表t_empty,结构是:create table t_empty(a integer)请问以下各语句的输出分别是什么?(A) select sum(a) from t_empty 什么都不输出(B) select NullToZero(a) from t_empty *假定NullToZero是一个将Null值转成0的标函数(C) select count(*) from t_empty7.有下列两表Table1Col1 INTCol2 CHAR (30)Table2Col1 INTCol2 CHAR (30)请问下列哪条语句会将table2的全部列插入到table1? BA. INSERT INTO table1 (table2.col1,table2.col2)B. INSERT INTO table1 SELECT col1, col2 FROM table2C. INSERT INTO table1 VALUES (SELECT col1,col2 FROM table2)D. INSERT INTO table1 (col1, col2) VALUES (SELECT col1, col2 FROM table2)8.有下列两表TAB1 TAB2C1 C2 CX CY---- ----- ------ -----A 11 A 21B 12C 22C 13D 23如果要得到如下的输出结果:C1 C2 CX CY----- ----- ---- -----A 11 A 21C 13 C 22-- -- D 23下列哪条语句会得到所需的结果?A. SELECT * FROM tab1 INNER JOIN tab2 ON c1=cxB. SELECT * FROM tab2 FULL OUTER JOIN tab1 ON c1=cxC. SELECT * FROM tab2 RIGHT OUTER JOIN tab1 ON c1=cxD. SELECT * FROM tab1 RIGHT OUTER JOIN tab2 ON c1=cx9.在数据库中使用存储过程有什么好处?使用方便,速度快,方便改动,一个过程可以包含多个语句,可以用参数10.数据库中的日志有哪些作用?记录你所做的操作,有利于在出现异常时的排错速度,可以用它查看数据库的工作状态11.对于一个数据量过大的表,如果要提高对它的查询速度,你会采用哪些办法?建立索引,清楚多余的数据,整利视图二、数据仓库1.什么叫数据仓库?谈谈你自己的理解。
数据仓库面试题
数据仓库面试题数据仓库是如今企业中不可或缺的一部分,它用于存储和管理大量的数据,并提供可靠且高效的分析和报告功能。
为了在面试中更好地表现自己的能力,下面将介绍一些常见的数据仓库面试题及其详细解答。
1. 请解释什么是数据仓库?数据仓库是一个用于集成、存储、管理和分析大量结构化和非结构化数据的系统。
它用于支持企业决策和战略规划,通过提供高质量、一致和实时的数据帮助企业更好地理解自身业务。
2. 数据仓库和数据库的区别是什么?数据库是一个用于组织和存储数据的系统,其主要目标是提供高效的数据访问。
数据仓库则更加注重数据的集成和分析,它将来自不同数据源的数据进行整合,并提供决策支持的功能。
3. 数据仓库的架构有哪些主要组件?数据仓库的主要组件包括:数据提取(Extraction)、数据转换(Transformation)、数据加载(Loading)、数据存储(Storage)和数据查询(Querying)。
- 数据提取:从不同的数据源中抽取数据,并进行清洗和转换以确保数据的质量和一致性。
- 数据转换:将提取的数据进行预处理、清洗和转换,以适应数据仓库的结构和标准。
- 数据加载:将转换后的数据加载到数据仓库中,以便后续的分析和报告。
- 数据存储:数据仓库通常使用多维数据库或列式数据库进行数据存储和管理。
- 数据查询:用户可以通过查询语言或报告工具对数据仓库中的数据进行查询和分析。
4. 请解释维度和事实表在数据仓库中的作用。
维度是数据仓库中用于描述业务过程的属性,例如时间、地点、产品等。
维度表包含一个主键和与之关联的属性列。
事实表包含了与业务过程相关的事实数据,例如销售额、数量等,并与维度表通过主键进行关联。
维度表和事实表共同构成了数据仓库中的星型或雪花模式结构。
维度表提供了多维数据的上下文信息,而事实表包含了与业务过程相关的度量数据,通过联结维度表和事实表,可以进行复杂的多维分析和报表生成。
5. 数据仓库中的ETL过程是什么?ETL是“提取、转化和加载(Extract, Transform, Load)”的缩写,是数据仓库中非常重要的一环。
数据仓库面试题
数据仓库面试题数据仓库及bi工程师面试题集锦1、介绍一下项目经验、项目中的角色。
1、oracle数据库,视图与表的区别?普通视图与物化视图的区别?物化视图的促进作用?2、oracle数据库,有哪几类索引,分别有什么特点?3、union与unionall的区别?4、对游标的理解?游标的分类?使用方法?5、如何搜寻和删掉表的重复数据?得出方法或sql。
6、不借助第三方工具,怎么查看sql的执行计划?7、建立索引存有哪些须要特别注意的要点?8、oracle数据库中,有哪几种分区?各自特点是什么?作用是什么?分区索引的分类和作用?9、表中t(a,b,c,d),必须根据字段c排序后挑第21—30条记录表明,恳请得出sql。
10、备份如何分类?归档是什么含义?11、如果系统现在须要在一个非常大的单上建立一个索引,须要考量那些因素,如何努力做到尽量增大对应用领域的影响?12、是否有海量数据处理经验?有何方法?二、etl工具1、informatica中,update组件叫什么?更新机制?2、informatica中,lookup组件存有哪几类?区别就是什么?3、informatica中,如何调用存储过程?4、informatica中,工作流控制存有哪些组件?5、informatica优化方案?6、datastage的job存有哪些类型?特点分别就是什么?7、datastage中,如何设置paralleljob并行运行?8、datastage中,joinstage与lookupstage组件在采用上有何区别?9、datastage的优化方案?三、模型设计1、有哪几种模型设计方法?特点分别是什么?2、模型设计的步骤?3、维度模型的设计方法?4、模型设计的思路?业务市场需求驱动?数据驱动?3、模型设计经验说明。
在概念模型设计、逻辑模型设计以及物理模型设计几个阶段主要的工作是什么?四、cognos研发1、cube刷新方案?2、报表数据权限掌控方案?3、cube增量刷新方案?五、shell研发1、在unix/linux中,查看磁盘空间可以用哪些命令?2、在unix/linux中,放大庭外和解压缩文件可以用哪些命令?3、sed命令的作用?4、在unix/linux中,嵌入用户用什么命令?5、在unix/linux中,查看文件行数什么命令?六、数据仓库设计1、增量数据获取方案?2、恳请表述以下概念:数据集市、事实表中、维度表中、olap3、元数据管理在数据仓库中的运用有何心得?4、数据仓库系统的数据质量如何确保?方案?5、数据仓库系统组件接口设计方案?七、项目管理1、能否出差?2、希望薪资待遇多少?3、个人发展方向?。
数据仓库工程师面试题
数据仓库工程师面试题作为数据仓库工程师,面试题是评估您对数据仓库设计和管理的理解和经验的重要参考。
下面是一些常见的数据仓库工程师面试题,带您深入了解该领域的知识和技能。
1. 请解释一下数据仓库是什么,以及它与传统数据库的区别是什么?数据仓库是一个被设计用于支持处理和分析大量结构化和非结构化数据的系统。
与传统数据库相比,数据仓库有以下区别:- 数据来源:数据仓库从多个不同的源中获取数据,包括内部和外部数据源,例如业务系统、Web日志和社交媒体。
而传统数据库主要用于业务操作和事务处理。
- 数据结构:数据仓库使用星型模型或雪花模型来组织数据,以便更好地支持查询和分析。
传统数据库则使用关系模型。
- 数据性能:数据仓库通过聚集、索引和分区等技术来优化查询性能,而传统数据库更关注事务性处理的响应时间。
2. 请解释一下ETL的过程是什么,以及在数据仓库中的作用是什么?ETL(抽取、转换和加载)是数据仓库中的常见过程。
它包括以下步骤:- 抽取(Extract):从多个数据源中获取数据,并进行初步清洗和转换,以满足后续处理的需求。
- 转换(Transform):对抽取的数据进行清洗、规范化、转换和整合,以满足数据仓库的模型和规范。
- 加载(Load):将已转换的数据加载到数据仓库中的相应表中。
ETL的作用是将分散和异构的数据整合到一个中心化的数据仓库中,以便进行分析和报告。
通过ETL过程,可以清洗数据、处理数据质量问题、整合多个数据源的数据,并为分析师和业务用户提供一致、准确的数据。
3. 请解释一下星型模型和雪花模型,并阐述它们之间的区别。
星型模型和雪花模型是用于组织数据仓库中的事实表和维度表的两种常见模型。
- 星型模型:星型模型由一个中心的事实表和多个维度表组成。
事实表包含可度量的业务指标,而维度表包含描述业务上下文的属性。
维度表通过外键与事实表相连,而且维度表之间没有相互连接。
- 雪花模型:雪花模型延伸了星型模型,通过将维度表进一步分解成多个规范化的表来减少数据冗余。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据仓库及BI工程师面试题集锦
前言
1、介绍一下项目经验、项目中的角色。
一、数据库
1、Oracle数据库,视图与表的区别?普通视图与物化视图的区别?物化视图的作
用?
i.视图与表的区别
1. 1、视图是已经编译好的sql语句。
而表不是
2. 视图没有实际的物理记录。
而表有。
3. 表是内容,视图是窗口
4. 表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,
表可以及时四对它进行修改,但视图只能有创建的语句来修改ii. 物化视图与视图区别
1.物化视图和视图差别非常大,不是几句能说清物化视图是自动刷新或者
手动刷新的,视图不用刷新物化视图也可以直接update,但是不影响b
ase table,对视图的update反映到base table上物化视图主要用于
远程数据访问,物化视图中的数据需要占用磁盘空间,视图中不保存数据。
2、Oracle数据库,有哪几类索引,分别有什么特点?
a) 1.单列索引与复合索引
一个索引可以由一个或多个列组成,用来创建索引的列被称为“索引列”。
单列索引是基于单列所创建的索引,复合索引是基于两列或者多列所创建的索引。
2.唯一索引与非唯一索引
唯一索引是索引列值不能重复的索引,非唯一索引是索引列可以重复的索引。
无论是唯一索引还是非唯一索引,索引列都允许取NULL值。
默认情况下,Oracle 创建的索引是不唯一索引。
3.B树索引
B树索引是按B树算法组织并存放索引数据的,所以B树索引主要依赖其组织并存放索引数据的算法来实现快速检索功能。
4.位图索引
位图索引在多列查询时,可以对两个列上的位图进行AND和OR操作,达到更好的查询效果。
5.函数索引
Oracle中不仅能够直接对表中的列创建索引,还可以对包含列的函数或表达式创建索引,这种索引称为“位图索引”。
3、Union与Union All的区别?
a)Union会对查询结果进行排序去重,效率比union all 低,union all只是两个查
询集的合并操作。
建议使用Union all,查询出来后再对数据进行去重操作。
4、对游标的理解?游标的分类?使用方法?
游标是映射在结果集中一行数据的位置实体,有了游标,用户就可以访问结果集中的任何一条数据。
游标分为静态游标和REF游标,静态游标分为显示游标和隐式游标,显示游标使用步骤是声明游标,打开游标,获取记录,关闭游标。
所有的DML语句为隐式游标,可以从游标的属性获得sql语句的信息。
REF游标是动态关联结果集的临时对象,使用步骤也是先要进行声明游标,然后打开游标,获取记录,关闭游标。
5、如何查找和删除表中的重复数据?给出方法或SQL。
查询表中重复数据。
Select * from people where id in (Select id from people group by id having count(id)>1);
Delete from people where id in(select id from people group by id having count(id)>1) and rowid not in (select min(rowid) from people group by id hacing count(id)>1);
创建索引有哪些需要注意的要点?
a)一般来说,不需要为比较小的表创建索引(数据占用存储空间小)
b)即使是大表,如果经常需要查询的数据不超过10%到15%的话,那就没有必要为
其建立索引的必要。
c)如对于一些重复内容比较少的列,特别是对于那些定义了唯一约束的列。
在这些列
上建立索引,往往可以起到非常不错的效果。
d)数据库管理员,需要隔一段时间,如一年,对数据库的索引进行优化。
该去掉的去
掉,该调整的调整,以提高数据库的性能。
e)通常来说,表的索引越多,其查询的速度也就越快。
但是,表的更新速度则会降低。
这主要是因为表的更新(如往表中插入一条记录)速度,反而随着索引的增加而增加。
f)对于一些数据仓库或者决策型数据库系统,其主要用来进行查询。
g)位图索引。
基数是位图索引中的一个基本的定义,它是指数据库表中某个字段内容
中不重复的数值。
6、Oracle数据库中,有哪几种分区?各自特点是什么?作用是什么?分区索引的分类和作用?
范围分区,散列分区,复合分区,索引分区
7、表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sql。
select * from (select c.*,rownum as rn from (select * from t order by c) c) where rn berween 21 and 30;
8、怎样优化数据库?
i.首先应确定那里出现性能问题,一般一个调度时常都会有时间log
记录,若发现某个调度时间过长,那么我们可以使用oracle自带
profiler进行诊断出该模块出现性能问题的sql。
ii.找出问题sql后对表大小进行分析,知道哪些是大表和小表。
iii.查看该sql执行计划(用 autotrace)即可大概找出问题原因。
iv.查询方面:查看是否未走索引,或sql写法中有运算或<> 等影响走索引条件,或并未对关键关联字段创建索引,必要情况重建索引。
v.删除更新情况,尽量使用rowid。
9、华为开发流程是什么(CMMI)
a)华为接口人或业务提出需求文档。
b)我们根据需求文档写入概要设计。
c)根据概要设计进行开发。
d)开发完成后进行ut测试。
e)编写详细设计。
f)上线后编写产品文档。
二、ETL工具
1、Informatica中,Update组件叫什么?更新机制?
2、Informatica中,LookUp组件有哪几类?区别是什么?
3、Informatica中,如何调用存储过程?
4、Informatica中,工作流控制有哪些组件?
5、Informatica优化方案?
6、DataStage的JOB有哪些类型?特点分别是什么?
7、DataStage中,如何设置parallel job并行运行?
8、DataStage中,Join Stage 与Lookup Stage组件在使用上有何区别?
9、DataStage的优化方案?
10、什么是维度?
人们观察数据的特定角度。
例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观察产品的销售情况。
这里的时间、地区和产品就是
维。
11、事实表、维度表是什么?
12、事实表:就是所有需要统计值的表;维度表:根据时间或地区需要分析的数据
表。
13、DW维表分类
a) 1.一致性维度
b) 2.杂项维度
c) 3.角色类
14、缓慢变化维
a)随着时间的推移维度中的属性,慢慢会改变。
例如一个产品销售地区之前为国
内省,现在上国际,为各个国家。
15、ETL分别是“Extract”、“ Transform”、“Load”。
16、datastage优点
a)优点在于,把复杂的工作,分解成,易查错的job。
三、模型设计
1、有哪几种模型设计方法?特点分别是什么?
2、模型设计的步骤?
确定该业务过程每个事实表的粒度
确定维度的属性
确定维度的层次
确定每个事实所需要关联的维度
确定数字型事实,包括预先计算的
确定缓慢变化维
3、维度模型的设计方法?
4、模型设计的思路?业务需求驱动?数据驱动?
3、模型设计经验说明。
在概念模型设计、逻辑模型设计以及物理模型设计几个阶段主
要的工作是什么?
四、Cognos开发
1、Cube刷新方案?
2、报表数据权限控制方案?
3、Cube增量刷新方案?
五、Shell开发
1、在Unix/Linux中,查看磁盘空间可以用哪些命令?
2、在Unix/Linux中,压缩和解压缩文件可以用哪些命令?
3、sed命令的作用?
4、在Unix/Linux中,添加用户用什么命令?
5、在Unix/Linux中,查看文件行数什么命令?
六、数据仓库设计
1、增量数据获取方案?
2、请解释以下概念:数据集市、事实表、维度表、OLAP
3、元数据管理在数据仓库中的运用有何心得?
4、数据仓库系统的数据质量如何保证?方案?
5、数据仓库系统组件接口设计方案?
七、项目管理
八、其他
1、能否出差?
2、期望薪资待遇多少?
3、个人发展方向?。