

数据仓库冷知识快问快答(30题)
问题: 数据仓库(Data Warehouse)这个术语最早是由哪位计算机科学家在20世纪80年代末提出的?
A) 比尔·盖茨 (Bill Gates) B) 詹姆斯·高斯林 (James Gosling) C) 比尔·恩门 (Bill Inmon) D) 莱纳斯·托瓦兹 (Linus Torvalds) 答案:C) 解析: 比尔·恩门被誉为“数据仓库之父”,他在1988年首次系统性地提出了数据仓库的概念,定义为“面向主题的、集成的、非易失的、随时间变化的数据集合,用于支持管理决策”。 问题: 在ETL(抽取、转换、加载)流程中,“T”(转换)步骤最不可能涉及以下哪项操作?
A) 将日期格式从 MM/DD/YYYY
统一为YYYY-MM-DDB) 计算每个订单的总金额(单价 x 数量) C) 将销售数据从源数据库复制到目标数据库 D) 将“男”、“女”标准化为“M”、“F” 答案:C) 解析: 复制是“抽取”(E) 和“加载”(L) 的核心,而“转换”(T) 专注于数据的清洗、标准化、计算、聚合等处理。复制本身不属于转换。 问题: 星型模式(Star Schema)中的“事实表”(Fact Table)通常存储什么类型的数据?
A) 描述性属性,如产品名称、客户地址 B) 可度量的业务事件,如销售额、订单数量 C) 数据库的元数据信息 D) 用户访问日志的原始文本 答案:B) 解析: 事实表是星型模式的核心,存储具体的、可量化的业务指标(度量值),并通过外键关联到维度表(存储描述性属性)。 问题: 如果一个数据仓库的维度表设计得非常庞大(例如,包含数百万行),哪种技术最有助于提升基于该维度的查询性能?
A) 对事实表进行分片(Sharding) B) 在维度表的关键属性上创建索引 C) 增加ETL流程的执行频率 D) 将维度表转换为事实表 答案:B) 解析: 索引是加速数据库查询(尤其是WHERE、JOIN、ORDER BY)的常用技术。在维度表的常用筛选或连接字段(如产品ID、客户ID)上创建索引能显著提升查询速度。 问题: “缓慢变化维度”(Slowly Changing Dimension, SCD)类型2(SCD Type 2)的主要特点是?
A) 直接覆盖旧值,不保留历史 B) 添加新行,保留历史版本,并用有效日期或版本号标记 C) 在同一行添加新列存储新值 D) 完全禁止维度属性的变更 答案:B) 解析: SCD Type 2是处理维度属性变化的标准方法,通过插入新记录并标记有效时间范围来完整保留历史信息,确保历史分析的准确性。 问题: 在数据仓库中,“数据集市”(Data Mart)通常与“企业级数据仓库”(EDW)的关系是?
A) 数据集市是EDW的子集,面向特定部门或主题 B) EDW是数据集市的子集 C) 数据集市和EDW完全独立,互不关联 D) 数据集市只存储原始日志数据 答案:A) 解析: 数据集市通常是基于EDW构建的,聚焦于特定业务领域(如销售、财务),为特定用户群体提供更便捷、更聚焦的数据视图。 问题: OLAP(联机分析处理)立方体(Cube)的主要优势是什么?
A) 提供极快的复杂多维分析查询响应 B) 确保事务处理的原子性和一致性 C) 降低数据存储成本 D) 简化ETL流程 答案:A) 解析: OLAP立方体预先计算和存储了各种维度组合下的聚合结果(如按年、月、地区、产品类别的销售额),使得“切片、切块、钻取、旋转”等分析操作非常迅速。 问题: 假设一个事实表记录了每笔订单的销售金额。如果要分析“每个客户每年的总消费额”,这个查询主要依赖于哪种数据库操作?
A) SELECT ... WHERE ...B) INSERT INTO ... VALUES ...C) UPDATE ... SET ...D) SELECT ... GROUP BY ... SUM(...)答案:D) 解析: 分析“总消费额”需要对销售金额进行求和( SUM
),并按客户和年份进行分组(GROUP BY
),这是典型的聚合查询。问题: 数据仓库中的“元数据”(Metadata)指的是?
A) 原始的、未经处理的业务数据 B) 关于数据的数据,如表结构、字段含义、ETL流程、数据血缘 C) 数据仓库服务器的硬件配置 D) 用户的登录密码 答案:B) 解析: 元数据是数据仓库的“地图”和“说明书”,它描述了数据的来源、结构、含义、转换规则和依赖关系,对数据治理和理解至关重要。 问题: 在现代云数据仓库(如Snowflake, BigQuery)中,“计算”和“存储”通常是?
A) 紧密耦合,无法分离 B) 完全分离,可以独立扩展 C) 存储依赖于计算资源 D) 计算资源固定不变 答案:B) 解析: 这是云数据仓库的核心架构优势。存储(存放数据)和计算(执行查询)解耦,允许用户根据需要独立地增加或减少计算资源,实现弹性伸缩和成本优化。 问题: “数据湖”(Data Lake)与“数据仓库”(Data Warehouse)最根本的区别之一在于?
A) 数据湖只存储图片和视频 B) 数据湖存储原始、未处理的数据(结构化、半结构化、非结构化),而数据仓库存储经过清洗和结构化的数据 C) 数据仓库不能存储历史数据 D) 数据湖不需要ETL流程 答案:B) 解析: 数据湖旨在以原始格式存储海量数据,Schema-on-Read(读时建模),灵活性高;数据仓库则强调Schema-on-Write(写时建模),数据经过ETL处理,结构清晰,更适合稳定、高性能的分析。 问题: 在数据仓库项目中,“数据治理”(Data Governance)不包括以下哪项?
A) 定义数据所有权和责任 B) 制定数据质量标准和规则 C) 管理用户对数据的访问权限 D) 直接编写所有ETL代码 答案:D) 解析: 数据治理是关于策略、标准、流程和责任的框架,确保数据的可用性、可理解性、一致性、完整性和安全性。编写ETL代码是具体的技术实现工作,通常由数据工程师完成,受治理框架的指导。 问题: 一个事实表的主键通常是?
A) 一个自增的代理键(Surrogate Key) B) 一个或多个维度表的外键组合 C) 一个业务系统中的自然键(Natural Key) D) 一个随机生成的UUID 答案:B) 解析: 事实表的主键通常由关联的维度表的外键(如日期键、产品键、客户键)组合而成,这唯一标识了一次具体的业务事件(如某天某客户购买某产品的订单)。代理键有时也用于事实表,但复合外键是更基础的设计。 问题: “数据血缘”(Data Lineage)图主要用来追踪?
A) 数据库服务器的网络延迟 B) 数据从源头到最终报表的流动路径和转换过程 C) 用户查询的执行时间 D) 数据存储的物理位置 答案:B) 解析: 数据血缘可视化了数据的“旅程”,展示数据从源系统经过哪些ETL作业、在哪些表中被处理,最终如何出现在报表或仪表板中。这对于影响分析、故障排查和合规审计至关重要。 问题: 在维度建模中,一个“退化维度”(Degenerate Dimension)指的是?
A) 已经废弃不用的维度表 B) 没有对应维度表的、存在于事实表中的业务标识符(如订单号、发票号) C) 一个非常小的维度表 D) 一个包含大量空值的维度 答案:B) 解析: 退化维度是事实表中的一个特殊字段,它本身是一个业务键(如订单号),但没有相关的描述性属性需要单独建模成维度表。它主要用于事实表的粒度定义和特定查询(如查单笔订单详情)。 问题: 为什么数据仓库通常不直接在生产OLTP(联机事务处理)数据库上进行复杂的分析查询?
A) OLTP数据库没有分析功能 B) 复杂分析会消耗大量资源,影响OLTP系统的性能和响应速度 C) 分析查询只能在数据湖中执行 D) OLTP数据库不支持SQL 答案:B) 解析: OLTP系统(如订单系统)设计目标是高并发、低延迟的事务处理(增删改查单条记录)。复杂的分析查询(涉及大量数据扫描和聚合)会占用CPU、内存和I/O资源,可能导致OLTP系统变慢甚至不可用。因此需要将分析负载分离到专用的数据仓库。 问题: “数据质量”维度不包括以下哪项?
A) 准确性(Accuracy) B) 完整性(Completeness) C) 一致性(Consistency) D) 数据存储的加密强度 答案:D) 解析: 数据质量主要关注数据本身是否可靠、可用,核心维度包括准确性、完整性、一致性、时效性、唯一性等。数据加密属于数据安全范畴,虽然重要,但不直接衡量“质量”。 问题: 在Kimball的维度建模理论中,构建数据仓库的第一步通常是?
A) 选择数据库软件 B) 选择服务器硬件 C) 选择业务过程(如处理订单、发货) D) 设计事实表的主键 答案:C) 解析: Kimball方法强调“自下而上”,从具体的、可量化的业务过程入手。确定了要分析的业务过程(如“处理订单”),才能定义相关的事实(销售额)和维度(时间、产品、客户、商店)。 问题: 一个事实表中,度量值(Measures)不可能是以下哪种类型?
A) 可加的(Additive),如销售额 B) 半可加的(Semi-additive),如账户余额(可按时间加,但按账户不能简单加) C) 不可加的(Non-additive),如利润率 D) 纯文本描述,如“客户满意度高” 答案:D) 解析: 事实表的度量值必须是数值型的,以便进行聚合计算(求和、平均等)。纯文本描述属于维度属性,应放在维度表中。 问题: “拉链表”(Zipper Table)是哪种缓慢变化维度技术的俗称?
A) SCD Type 0 (不变化) B) SCD Type 1 (覆盖) C) SCD Type 2 (新增行) D) SCD Type 3 (添加新列) 答案:C) 解析: “拉链表”是SCD Type 2的一种形象化称呼。它通过为每个维度实体的历史状态创建新记录,并用开始日期和结束日期(或有效日期)“拉链”起来,形成一条完整的历史记录链。 问题: 在数据仓库中,“粒度”(Granularity)指的是?
A) 数据存储的物理块大小 B) 事实表中一行数据所代表的业务事件的详细程度(如每笔订单 vs. 每天每个商店的总销售额) C) 数据库索引的密度 D) ETL作业的执行频率 答案:B) 解析: 粒度是事实表设计的核心。它决定了分析的最细级别。粒度越细(如每笔订单),灵活性越高,可聚合性越强;粒度越粗(如每天每产品类别的汇总),存储和查询可能更快,但分析灵活性降低。 问题: 为什么数据仓库中的日期维度表通常不是直接使用数据库的DATE类型字段,而是要建一个独立的日期维度表?
A) DATE类型在数据库中不存在 B) 独立的日期维度表可以方便地添加丰富的业务属性(如财年、季度、节假日标志、周几等),便于复杂分析 C) 为了增加数据库的复杂性 D) DATE类型无法进行比较 答案:B) 解析: 虽然事实表有日期键,但独立的日期维度表可以包含 is_holiday
,fiscal_quarter
,day_of_week_name
,weekend_flag
等大量对分析有用的属性,避免在查询中进行复杂的日期计算。问题: “数据虚拟化”(Data Virtualization)技术允许用户?
A) 物理复制所有数据到一个中心仓库 B) 通过一个统一的逻辑视图访问分散在不同源系统的数据,无需物理移动 C) 删除所有历史数据以节省空间 D) 将非结构化数据自动转换为结构化数据 答案:B) 解析: 数据虚拟化提供了一个抽象层,让用户像查询一个数据库一样查询多个异构数据源(数据库、数据湖、API等),查询时才实时获取数据,减少了数据复制和延迟,适合敏捷分析。 问题: 在数据仓库的“维度建模”中,雪花模式(Snowflake Schema)相对于星型模式(Star Schema)的主要缺点是?
A) 查询性能可能更慢,因为需要连接更多的表 B) 数据冗余更多 C) 无法表示层次关系 D) 不支持事实表 答案:A) 解析: 雪花模式对维度表进行了规范化,减少了数据冗余,但导致维度表被拆分成多个层级(如产品 -> 产品类别 -> 产品大类),查询时需要连接更多表,可能影响性能。星型模式牺牲一些冗余换取更快的查询速度。 问题: 一个数据仓库项目中,最可能负责定义“客户”维度的业务含义和属性的人是?
A) 网络管理员 B) 业务分析师(Business Analyst) C) 操作系统工程师 D) 数据库硬件供应商 答案:B) 解析: 业务分析师是业务部门与技术团队的桥梁。他们理解业务需求,负责定义关键业务实体(如客户、产品)的业务规则、属性和指标,确保数据模型能准确反映业务现实。 问题: “数据编织”(Data Fabric)是一种?
A) 新型的数据库存储引擎 B) 一种利用主动元数据、知识图谱和自动化,实现无缝数据集成、发现和管理的架构方法 C) 专门用于处理图像数据的技术 D) 一种过时的ETL工具 答案:B) 解析: 数据编织是近年来兴起的架构理念,旨在通过智能化的元数据管理和自动化,简化复杂数据环境(多云、混合云、数据湖仓)下的数据访问、集成和治理,提供一致的数据体验。 问题: 在云数据仓库中,“按需计费”(Pay-as-you-go)模式的主要优势是?
A) 固定成本,无需预算 B) 用户只为实际使用的计算和存储资源付费,成本更灵活可控 C) 免费使用所有功能 D) 无需进行任何性能优化 答案:B) 解析: 云服务的按需计费模式消除了前期大规模硬件投资,用户可以根据业务负载动态调整资源,高峰时扩容,低谷时缩容,有效控制成本。 问题: “数据可观测性”(Data Observability)主要关注?
A) 数据中心的物理安全摄像头 B) 监控数据管道的健康状况,包括数据质量、新鲜度、 lineage、数据量等,及时发现和预警问题 C) 用户界面的美观程度 D) 数据库服务器的温度 答案:B) 解析: 借鉴IT可观测性概念,数据可观测性通过监控关键指标(如数据延迟、空值率、模式变更、数据量突变),帮助数据团队了解数据系统的内部状态,快速定位数据中断或质量问题。 问题: 一个事实表记录了每笔销售订单。如果业务需求是分析“每个产品类别的月销售额”,这个查询最可能使用哪种聚合函数?
A) COUNT(*)B) AVG(sales_amount)C) SUM(sales_amount)D) MIN(order_date)答案:C) 解析: “销售额”通常指总收入,需要对每笔订单的 sales_amount
进行求和(SUM
),并按产品类别和月份分组。问题: “数据仓库即服务”(DWaaS)的主要交付模式是?
A) 供应商邮寄硬盘 B) 通过云平台提供托管的、可扩展的数据仓库解决方案 C) 提供开源软件下载 D) 派遣工程师驻场安装 答案:B) 解析: DWaaS是云服务的一种,如Amazon Redshift, Google BigQuery, Snowflake, Azure Synapse Analytics。供应商负责底层基础设施的管理、维护和扩展,用户通过网络访问,按需使用,简化了运维。
据统计,99%的大咖都关注了这个公众号👇
猜你喜欢👇
数仓面试👇

后台回复资料获取更多福利





