📅  最后修改于: 2023-12-03 14:54:53.797000             🧑  作者: Mango
数据仓库-面试问题
1. 什么是数据仓库?
数据仓库是一个用来存储企业所需数据的集中式数据存储器,数据来自不同来源,如交易、客户、人事、营销等。它们经过ETL(Extract, Transform, Load)提取、转换、加载处理后,存储到数据仓库中,便于企业决策者进行数据分析、挖掘、检索和综合查询。
2. 为什么需要数据仓库?
数据仓库的出现主要是为了解决传统数据库在大数据量、多样化数据处理、数据质量、性能等方面的问题,而数据仓库可以解决这些问题:
- 可以将组织内所有的数据整合到一个地方进行查询、分析和提取。
- 可以减轻企业的IT负担,增加生产效率。
- 可以提供更快的访问速度。
- 可以提高数据质量和一致性。
3. 什么是ETL?
ETL(Extract, Transform, Load)是一种将数据从一个地方抽取出来,在转换之后加载到另一个地方的过程。它是构建数据仓库过程中最重要的环节。
- Extract: 从源系统中抽取数据。
- Transform: 对数据进行清洗、转换、整合等操作。
- Load: 将处理后的数据加载到数据仓库中。
4. 数据仓库的生命周期有哪些?
数据仓库的生命周期包括以下几个阶段:
- 策划阶段:确定数据仓库的目的、建模和数据抽取方式等。
- 需求定义阶段:明确用户需求,确定仓库范围、数据来源、数据仓库维度等。
- 设计与建设阶段:确定数据仓库的结构、物理架构、抽取、转换和加载手段等。
- 实施阶段:构建物理数据库并加载数据,建立查询接口等。
- 运行和支持阶段:维护、备份和监控数据仓库,以保证其安全和正常运转。
- 报表分析阶段:进行数据挖掘和分析,优化数据仓库结构和性能。
5. 数据仓库的架构是怎样的?
数据仓库的架构通常分为三层:
- 第一层:数据源层,用来抽取数据并对数据质量进行校验和清洗,例如外部系统、数据库和应用等。
- 第二层:数据仓库层,用来存储抽取后的数据仓库。这一层主要包括数据仓库和各种数据集市等。
- 第三层:信息访问层,用于给用户提供查询和分析方式。例如OLAP(在线分析处理)、多维分析、OLTP(在线事务处理)等。
6. 如何优化数据仓库?
优化数据仓库可以提高查询和分析速度,从而更好地支持企业智能决策。以下是几个优化的方法:
- 加入索引:在需要快速查询的列上建立索引,可以极大地提高查询速度。
- 分区:按照日期或者某些较少变动的列进行分区,可以提高查询效率。
- 汇总:按照查询维度进行汇总,可以减少查询数据的数量,提高查询速度。
- 使用优化查询工具:例如Oracle AWR(自动工作负载仓库),可以自动优化查询,提高SQL语句的效率。
- 优化索引策略:例如使用位图索引等可以大大缩短查询时间。
- 加入缓存:缓存查询结果是提高数据仓库性能的一个非常有效的方式。
以上是数据仓库的一些面试问题介绍,希望对大家有所帮助!