数据仓库商业智能相关面试题带复习资料Word文档格式.docx
《数据仓库商业智能相关面试题带复习资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据仓库商业智能相关面试题带复习资料Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是"
维"
这个概念。
“维”是人们观察客观世界的角度,是一种高层次的类型划分。
“维”一般包含着层次关系,这种层次关系有时会相当复杂。
通过把一个实体的多项重要的属性定义为多个维(),使用户能对不同维上的数据进行比较。
因此也可以说是多维数据分析工具的集合。
也叫做多维数据集。
一般一个多维数据集可以用一个立方体的方式进行描述。
多维数据集是联机分析处理()中的主要对象,是一项可对数据仓库中的数据进行快速访问的技术。
多维数据集是一个数据集合,通常从数据仓库的子集构造,并组织和汇总成一个由一组维度和度量值定义的多维结构。
每个多维数据集都有一个架构,架构是数据仓库中已联接的各表的集合,多维数据集从数据仓库提取其源数据。
架构中的核心表是事实数据表,事实数据表是多维数据集度量值的源。
的基本多维分析操作有钻取(和)、切片()和切块()、以及旋转()、、等。
·
钻取是改变维的层次,变换分析的粒度。
它包括向上钻取()和向下钻取()。
是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;
而则相反,它从汇总数据深入到细节数据进行观察或增加新维。
切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。
如果剩余的维只有两个,则是切片;
如果有三个,则是切块。
旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。
多维数据集为什么显示有些表即是事实表又是维度表?
退化维度。
描述一下粒度?
维度?
?
粒度反映了数据仓库按照不同的层次组织数据,根据不同的查询需要,存储不同细节的数据。
在数据仓库中,粒度越小,数据越细,查询范围就越广泛。
相反,粒度级别越高,表示细节程度越低,查询范围越小。
描述一下,统一数据视图
运营数据存储(,)或称操作型数据存储是一个面向主题的、集成的、当前的并且是可"
挥发"
的数据集合,它反映了在某一个时间切片瞬间,经营分析系统和外围系统(、...)用以相互交换数据的集合,主要用于经营分析系统与外围系统关键数据一致性校验、以及经营分析系统对其它外围系统的决策支持数据的回馈,回馈数据包括以客户扩展属性为主体的详细资料等。
运营数据存储扮演的是用于数据稽核与交互的角色。
的存储结构是以企业范围所有相关业务系统的数据,以全面、统一进行关系型实体来体现的,中的数据是基于分析主题进行组织,而不是基于业务系统的功能进行组织。
只是存储了当前的数据且数据是“挥发”性的,因此其数据的刷新是很快,过期的数据将要被挥发掉。
因此的存储量取决于业务接口数据的抽取与刷新频率,取决于企业的服务客户的数量。
从的作用和实现来说,将各个孤立的业务系统的运营数据集成起来,现成全企业的统一数据视图,同时可实现的数据共享。
描述一下企业信息工厂
数据仓库领域里,有一种构建数据仓库的架构,叫,中文一般翻译为“企业信息工厂”。
企业信息工厂的创始人是数据仓库之父。
企业信息工厂主要包括集成转换层()、操作数据存储()、数据仓库()、数据集市()、探索仓库()等部件。
这些部件有机的结合在一起,为企业提供信息服务。
集成转换层的目的是将来自操作型源系统的数据集成转换到数据仓库中,它通常由一组程序组成,而其它部件如数据仓库和数据集市等则主要由数据组成。
当业务数据来源多,业务复杂时,集成转换层会建立一些临时表,为数据处理提供方便。
这时,集成转换层包括程序和数据,也称数据准备区()。
通常中等规模及以上的数据仓库系统都会建立数据准备区。
操作数据存储()是建立在数据准备区和数据仓库之间的一个部件。
用来满足企业集成的、综合的操作型处理需要。
例如,出尽可能实时的集成的操作报表等需求。
一般,也称操作数据存储是用来满足企业战术决策的需要。
操作数据存储是个可选的部件。
数据仓库是企业信息工厂的核心部件,用来保存整个企业的数据。
一般,也称数据仓库是用来满足企业战略决策的需要。
数据仓库的数据来自数据准备区和操作数据存储。
数据集市是为了满足企业特定部门的分析需求而专门建立的数据的集合。
数据集市的数据来源是数据仓库。
企业信息工厂中的数据集市一般来说是非规范化的、定制的和汇总的。
而多维体系架构中的数据集市分为两种,分别是原子数据集市和聚集数据集市。
一般来说,企业信息工厂中的数据集市相当于多维体系架构中的聚集数据集市。
数据是数据集市?
数据集市中的数据具有数据仓库中数据的特点,只不过数据集市专为某一部门或某个特定商业需求定制,而不是根据数据容量命名。
数据集市面向部门、业务单元或特定应用,因而规模较小,便于快速实现,且成本较低,短期内即可获得明显效果。
数据集市的应用不仅满足了部门的数据处理需求,而且作为数据仓库的子集有助于构建完整的企业级数据仓库。
元数据的定义,元数据管理,元数据的作用用?
数据仓库的元数据是关于数据仓库中数据的数据。
它的作用类似于数据库管理系统的数据字典,保存了逻辑数据结构、文件、地址和索引等信息。
广义上讲,在数据仓库中,元数据描述了数据仓库内数据的结构和建立方法的数据。
元数据是数据仓库管理系统的重要组成部分,元数据管理器是企业级数据仓库中的关键组件,贯穿数据仓库构建的整个过程,直接影响着数据仓库的构建、使用和维护。
(1)构建数据仓库的主要步骤之一是。
这时元数据将发挥重要的作用,它定义了源数据系统到数据仓库的映射、数据转换的规则、数据仓库的逻辑结构、数据更新的规则、数据导入历史记录以及装载周期等相关内容。
数据抽取和转换的专家以及数据仓库管理员正是通过元数据高效地构建数据仓库。
(2)用户在使用数据仓库时,通过元数据访问数据,明确数据项的含义以及定制报表。
(3)数据仓库的规模及其复杂性离不开正确的元数据管理,包括增加或移除外部数据源,改变数据清洗方法,控制出错的查询以及安排备份等。
元数据可分为技术元数据和业务元数据。
技术元数据为开发和管理数据仓库的人员使用,它描述了与数据仓库开发、管理和维护相关的数据,包括数据源信息、数据转换描述、数据仓库模型、数据清洗与更新规则、数据映射和访问权限等。
而业务元数据为管理层和业务分析人员服务,从业务角度描述数据,包括商务术语、数据仓库中有什么数据、数据的位置和数据的可用性等,帮助业务人员更好地理解数据仓库中哪些数据是可用的以及如何使用。
在数据仓库中,元数据的主要作用如下。
(1)描述哪些数据在数据仓库中,帮助决策分析者对数据仓库的内容定位。
(2)定义数据进入数据仓库的方式,作为数据汇总、映射和清洗的指南。
(3)记录业务事件发生而随之进行的数据抽取工作时间安排。
(4)记录并检测系统数据一致性的要求和执行情况。
(5)评估数据质量。
什么是主数据,主数据管理?
和元数据有什么区别?
主数据管理和传统数据仓库的区别?
主数据是指在整个企业范围内各个系统(操作/事务型应用系统以及分析型系统)间要共享的数据,比如,可以是与客户(),供应商(),帐户()以及组织单位()相关的数据。
主数据通常需要在整个企业范围内保持一致性()、完整性()、可控性(),为了达成这一目标,就需要进行主数据管理(,)。
主数据不是企业内所有的业务数据,只是有必要在各个系统间共享的数据才是主数据,比如大部分的交易数据、帐单数据等都不是主数据,而像描述核心业务实体的数据,而像客户、供应商、帐户、组织单位、员工、合作伙伴、位置信息等都是主数据。
主数据是企业内能够跨业务重复使用的高价值的数据。
主数据管理(,)是指一组约束和方法用来保证一个企业内主题域和系统内相关数据和跨主题域和系统的相关数据的实时性、含义和质量。
这是从深层次来说来说明主数据管理()的深度和复杂性,简单的说,主数据管理()保证你的系统协调和重用通用、正确的业务数据(主数据)。
通常,我们会把主数据管理作为应用流程的补充,通过从各个操作/事务型应用以及分析型应用中分离出主要的信息,使其成为一个集中的、独立于企业中各种其他应用核心资源,从而使得企业的核心信息得以重用并确保各个操作/事务型应用以及分析型应用间的核心数据的一致性。
通过主数据管理,改变企业数据利用的现状,从而更好地为企业信息集成做好铺垫。
主数据管理()可以帮助我们创建并维护整个企业内主数据的单一视图(),保证单一视图的准确性、一致性以及完整性,从而提供数据质量,统一商业实体的定义,简化改进商业流程并提供业务的响应速度。
从变化的频率来看,主数据和日常交易数据不一样,变化相对缓慢,另外,主数据由于跨各个系统,所以对数据的一致性、实时性以及版本控制要求很高。
主数据()和元数据()是两个完全不同的概念。
元数据是指表示数据的相关信息,比如数据定义等,而主数据是指实例数据,比如产品目录信息等。
主数据管理和传统数据仓库解决方案不是一个概念,数据仓库会将各个业务系统的数据集中在一起在进行业务的分析,而主数据管理系统不会把所有数据都管理起来,只是把需要在各个系统间共享的主数据进行采集和发布。
相对于传统数据仓库解决方案的单向集成,主数据管理正注重将主数据的变化同步发布到各个关联的业务系统中(主数据管理数据是双向的)。
描述一下过程中需要处理的内容
三个简单的字母,,很容易忽视38个子系统在数据仓库建设中的重要性。
抽取-转换-加载()系统,或者非正式的称为“后台系统”,在建立整个数据仓库系统中占据了70的工作量和时间。
但是这还不足以说明系统的复杂性。
每个人都理解这三个字母的含义,E,从源系统中将数据取出来;
T,对这些数据做处理;
L,加载到最终用户访问的表中。
1.抽取系统()
主要功能包括源数据的适配器,推/拖/搬运数据的工作调度,对源数据的过滤和排序功能,数据格式的转换,迁移到环境后的数据暂存功能。
2.变化数据捕获系统()
主要功能包括对源数据日志文件的阅读功能,源数据日期和序列号的过滤功能,基于算法的记录比较功能。
3.数据概况分析系统()
主要功能包括字段属性分析,如参照域的分析;
结构分析,如主外键关系分析;
数据规则分析;
值规则分析等。
4.数据清洗系统()
主要功能包括一个典型的数据字典驱动的系统,用于解析个体和组织的名称、地址等信息,也用来解析产品、场所等内容;
一个“”系统,用于鉴别和移除个体和组织信息,也用于产品和场所;
一个“”系统,使用特定的数据合并逻辑,用来保存特定数据源的指定字段,这个特定数据源的数据将成为数据仓库的最终版本;
为所有的数据源维护后台数据的对应关系,如自然键和代理键对应关系等内容。
5.数据一致性处理系统()
主要功能包括标识和生成专用的一致性维度属性、一致性事实的度量属性,这两组属性作为数据整合工作的基础,用来支持跨多个数据源的数据集成工作。
6.审计维度生成系统()
主要功能是将与事实表相关的元数据内容加载到一张审计维度表中,这样最终用户可以像查看普通维度一样查看与事实表相关的元数据。
7.数据质量过滤系统()
主要功能是在的处理过程中自动的检测所有的数据质量问题。
检测的结果将进入错误事件处理系统(详见子系统8)。
8.错误事件处理系统()
主要功能是全面的记录和报告在处理中的所有的错误事件。
包括各类错误的分枝处理逻辑,还包括对处理中数据质量的实时监控。
9.代理键生成系统()
主要功能是以一种鲁棒的机制生成流水的代理键,生成规则不依赖与任何维度,也不依赖与任何数据库实例,可以支持分布式系统。
10.缓慢变化维处理系统(,)
主要功能是处理维度表的属性随时间变化的情况,处理方式为:
类型1(直接覆盖),类型2(生成新行),类型3(添加新列)。
11.迟到维度处理系统()
主要功能是当维度数据的变化情况到达数据准备区的时间晚于对应的事实数据时,对维度数据的插入和更新策略。
12.固定层级结构生成系统()
主要功能是对维度表中各类多对一关系的层级结构进行数据有效性检查和维护。
13.可变层级结构生成系统()
主要功能是对维度表中所有的层深可变的层级结构的的数据有效性检查和维度,例如组织的层级结构,零件的层级结构等。
14.多值维度桥接表生成系统()
主要功能是建立和维护桥接表,用来描述维度间的多对多关系。
15.杂项维度生成系统()
主要功能是将来自多个数据源的多个低基数的标志字段、状态字段等小型维度建立成一个杂项维度,并对之进行维护。
16.交易粒度事实表加载系统()
主要功能是更新交易粒度事实表,包括对数据、索引和分区的处理。
通常是用来处理增量数据,即最新的数据。
需要使用代理键替换管道系统(详见子系统19)。
17.周期快照事实表加载系统()
主要功能是更新周期快照事实表,包括对数据、索引和分区的处理。
包括对当期数据的增量更新策略。
18.累计快照事实表加载系统()
主要功能是更新累积快照事实表,包括对数据、索引和分区的处理,同时更新维度外键和累积事实。
19.代理键替换管道系统()
主要功能是使用多线程技术将来到数据仓库数据的自然键替换为代理键。
20.迟到事实处理系统()
主要功能是处理对迟到事实记录的插入和更新策略。
21.聚合生成系统()
主要功能是创建和维护数据库物理结构,比如说聚合表,用于和技术配合使用,以提高数据库查询性能。
也包括独立的聚合表和物化表。
22.多维生成系统()
主要功能是创建和维护星型架构用于装载多维,包括技术的一些专有工作,比如维度层次结构的维护。
23.实时分区生成系统()
三种事实表类型(参照子系统16,17,18)的特殊逻辑在内存中维护着一个“热分区”,它只包含最近一次已经统计到数据仓库表中以后的部分增量数据。
24.维度管理子系统()
顾名思义,它是一个管理维度表的系统。
它负责从集中存放维度表和事实表之间的维度一致性,请参照子系统25.
25.事实管理系统()
对应于维度表管理系统,它是一个事实表的管理系统,它接收从维度管理系统发过来的一致性维度。
包括本地键替换,维度版本检查,和聚合表等维护系列工作。
26.任务调度系统()
它负责任务的安排和启动。
它能够等待各种系统条件包括对优先级高的任务完成的依赖。
能够针对异常情况发送警告。
27.工作流程监视系统()
它的主要功能是有控制台和报表系统用以监控任务被任务调度系统启动以后的执行状况。
包括处理的记录条数,错误摘要,和执行的活动。
28.恢复和重做系统()
当任务执行过程中任务暂停后的重新启动,或者是恢复到任务执行前的状态重新执行。
这个子系统严重依赖于备份子系统(参考子系统38)
29.并行处理和管道处理系统()
它的主要功能是利用多处理器,网格计算资源以提高性能,和实现数据流处理。
当不是写硬盘操作或者是执行过程中等待一个条件的发生的的情况,是有必要采用并行化和管道化的。
30.异常放大系统()
它的主要功能是负责在一定的条件下提高错误的级别以跟踪和解决问题。
包括简单错误日志记录,操作者通知,管理员通知和系统开发人员通知。
31.版本控制系统()
使得元数据的归档能够有坚固的快照功能,可以查阅某一时刻改变前后的状态。
能够迁入和迁出所有模块和任务。
源代码对比功能以快速展示改变前后的不同。
32.版本移植系统()
让程序可以在开发环境,测试环境,正式环境快速切换。
版本控制系统的用于恢复移植的一个接口,也是配置完整数据库连接信息的一个接口。
使得代理键生成不依赖于数据库的位置。
33.体系和依赖分析系统()
对任何选中的数据组件,都要展示它的物理数据源和所有的后来的转换,不管是选中管道中间的组件,或者是选中最终的数据结果,都一样展示。
对任何选中的数据组件,都要展示它的下游的数据组件和可能会造成改变的最终数据结果的字段结构,不管是选中管道中间的组件,或者是选中数据源,都一样展示。
34.符合规定报告系统()
符合规定的规则以证明系统报告的可信度。
证明数据和转换没有改变。
展示谁访问过或者改变过任何数据。
35.安全控制系统()
在的管道中,实现对所有数据和元数据基于角色的权限控制。
证明模块的版本没有改变。
展示谁做过任何更改。
36.备份系统()
对数据和元数据的备份,用于以后的数据的恢复,重启,安全,和符合规定的要求。
37.元数据管理系统()
用于捕获和维护所有的元数据的系统,包括所有转换逻辑。
包括处理元数据,技术元数据和业务逻辑元数据。
38.项目管理系统()
对所有任务进行开发的跟踪系统。
数据库及数据仓库模型设计的三个主要步骤?
1.概念数据模型()
概念数据模型设计与逻辑数据模型设计、物理数据模型设计是数据库及数据仓库模型设计的三个主要步骤。
概念数据模型是最终用户对数据存储的看法,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。
概念数据模型的内容包括重要的实体及实体之间的关系。
在概念数据模型中不包括实体的属性,也不用定义实体的主键。
这是概念数据模型和逻辑数据模型的主要区别。
概念数据模型的目标是统一业务概念,作为业务人员和技术人员之间沟通的桥梁,确定不同实体之间的最高层次的关系。
在有些数据模型的设计过程中,概念数据模型是和逻辑数据模型合在一起进行设计的。
2.逻辑数据模型()
逻辑数据模型反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化。
逻辑数据模型是根据业务规则确定的,关于业务对象、业务对象的数据项及业务对象之间关系的基本蓝图。
逻辑数据模型的内容包括所有的实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键,需要进行范式化处理。
逻辑数据模型的目标是尽可能详细的描述数据,但并不考虑数据在物理上如何来实现。
逻辑数据建模不仅会影响数据库设计的方向,还间接影响最终数据库的性能和管理。
如果在实现逻辑数据模型时投入得足够多,那么在物理数据模型设计时就可以有许多可供选择的方法。
3.物理数据模型()
物理数据模型设计与概念数据模型设计、逻辑数据模型设计是数据库及数据仓库模型设计的三个主要步骤。
物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构设计,真正实现数据在数据库中的存放。
物理数据模型的内容包括确定所有的表和列,定义外键用于确定表之间的关系,基于用户的需求可能进行发范式化等内容。
在物理实现上的考虑,可能会导致物理数据模型和逻辑数据模型有较大的不同。
物理数据模型的目标是指定如何用数据库模式来实现逻辑数据模型,以及真正的保存数据。
什么是多值维度,怎么处理多值维度?
在维度建模的数据仓库中,有一种维度表叫多值维度()。
多值维度有两种情况,第一种情况是指维度表中的某个属性字段同时有多个值,第二种情况是事实表在某个维度表中有多条对应记录。
处理多值维度最好的办法是降低事实表的粒度。
但是有些时候,事实表的粒度是不能降低的,多值维度的出现是无法避免的。
这时,可以采用桥接表技术进行处理。
在维度表属性间建立桥接表。
这个桥接表可以解决维度属性之间的多对多关系,也解决掉的维度表的多值维度问题。
总之,多值维度是应该尽量避免的,它给数据处理带来了很大的麻烦。
如果多值维度不能避免的话,应该建立桥接表来进行处理。
什么是缓慢变化维?
怎么处理缓慢变化维?
缓慢变化维(、)。
缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。
这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题,有时也简称为处理的问题。
处理缓慢变化维的方法通常分为三种方式。
第一种方式是直接覆盖原值。
这样处理,最容易实现,但是没有保留历史数据,无法分析历史变化信息。
第二种方式是添加维度行。
这样处理,需要代理键的支持。
实现方式是当有维度属性发生变化时,生成一条新的维度记录,主键是新分配的代理键,通过自然键可以和原维度记录保持关联。
第三种方式是添加属性列。
这种处理的实现方式是对于需要分析历史信息的属性添加一列,来记录该属性变化前的值,而本属性字段使用1来直接覆盖。
这种方式的优点是可以同时分析当前及前一次变化的属性值,缺点是只保留了最后一次变化信息。
在实际建模中,我们可以联合使用三种方式,也可以对一个维度表中的不同属性使用不同的方式,这些,都需要根据实际情况来决定,但目的都是一样的,就是能够支持方便的分析历史变化情况。
目前有两种比较通用的数据仓库建模方式
一种是维度建模,另一种是三范式建模。
数据仓库的两种架构和各自特点
星形架构(聚合速度快,占有存储空间小)
雪花型架构的特点(节省存储空间,一定程序上的范式,聚合速度慢)
如何处理海量数据的处理
选用优秀的数据库工具
编写优良的程序代码
分区操作
建立广泛的索引
建立缓存机制
加大虚拟内存
对数据进行分批次操作
使用临时表和中间表
优化查询语句
使用文本格式进行处理
定制强大的清洗规则和出错处理机制
建立视力或者物化视图
避免使用32位机
考虑操作系统问题
使用数据仓库和多维数据库存储
使用采样数据进行数据挖掘
的几种存储方式?
,
数据分析
数据挖掘
举例几种挖掘算法?
决策树,聚类,时间序列,贝叶斯,逻辑回归,神经网络,关联,线性回归,序列聚类
挖掘结构,挖掘模型,?