有关商业智能和数据仓库的重要术语
了解数据中心建设过程
了解公司数据仓库项目重要案例

计算机数据管理的历史:
1961年通用电气开发出网状数据库管理系统— 集成数据存储(Integrated DataStore IDS)。1968 年IBM 公司开发出层次数据库的IMS (Information Management System)。1970年关系模型建立。IBM研发全功能关系DBMS — System R。
1973年加州大学伯克利分校开发出关系数据库系统Ingres。后来由Oracle公司、Ingres公司等厂商商品化。
在20世纪70年代提出了决策支持系统概念。在1970年, 联机分析处理工具——Express诞生了。 1980年明确了其部件结构(对话部件、数据部件、模型部件)。
1988年,IBM公司的研究者Barry Devlin和Paul Murphy发明了一个新的术语—信息仓库,之后,IT的厂商开始构建实验性的数据仓库。1991年,W.H. "Bill" Inmon出版《如何构建数据仓库》。
把数据仓库、联机分析处理、数据挖掘、模型库、数据库、知识库结合起来形成综合决策支持系统(Synthetic Decision Support System, SDSS)是今后的发展方向。
数据仓库概念
William H.Inmon:数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合。
与其他数据库应用不同的是,数据仓库更像一种过程,对分布在企业内部各处的业务数据的整合、加工和分析的过程。
特点
1、面向主题,操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织的。
2、集成的 ,数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
3、相对稳定的 ,数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
4、反映历史变化 ,数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
企业管理与决策
数据仓库-面向主题
数据仓库-系统结构
数据仓库主要包括数据的提取、转换与装载(ETL)、元数据、数据集市和操作数据存储等部分,常用的数据仓库结构如图所示。
重要术语数据集市
人们在早期开发企业级数据仓库时,一般是先建立一个全局的数据仓库,然后在此基础上建立各种应用,即“自顶向下”的方法。但在开发的过程中会出现以下问题。
(1)如果按“自顶向下”的方法建立企业级数据仓库,建设规模往往较大,建设周期长,投资大。
(2)在数据仓库建好后,随着使用数据仓库的部门增多,对数据仓库资源的竞争将成为企业面临的—个难题。
(3)各个部门希望能定制数据仓库中的数据,但数据仓库是面向企业的。
OLTP与OLAP
数据处理系统可以分成两大类:
联机事务处理OLTP(on-line transaction processing):OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易、电力营销系统。
联机分析处理OLAP(On-Line Analytical Processing):OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。 OLAP的目标是满足决策支持或多维环境特定的查询和报表需求,它的技术核心是“维”这个概念,因此OLAP也可以说是多维数据分析工具的集合。数据仓库的核心是联机分析处理。
数据仓库系统的核心是联机分析处理,但数据仓库包括更为广泛的内容。
-概括来说,数据仓库系统是指具有综合企业数据的能力,能够对大量企业数据进行快速和准确分析,辅助做出更好的商业决策的系统。它本身包括三部分内容:
数据层。实现对企业操作数据的抽取、转换、清洗和汇总,形成信息数据,并存储在企业级的中心信息数据库中。
应用层。通过联机分析处理,甚至是数据挖掘等应用处理,实现对信息数据的分析。
表现层。通过前台分析工具,将查询报表、统计分析、多维联机分析和数据发掘的结论展现在用户面前。
从应用角度来说,数据仓库系统除了联机分析处理外,还可以采用传统的报表,或者采用数理统计和人工智能等数据挖掘手段,涵盖的范围更广;就应用范围而言,联机分析处理往往根据用户分析的主题进行应用分割,例如:销售分析、市场推广分析、客户利润率分析等等,每一个分析的主题形成一个OLAP应用,而所有的OLAP应用实际上只是数据仓库系统的一部分。
ROLAP、MOLAP、HOLAP模式ROLAP用关系数据库存储多维数据,对应用频率比较高、计算工作量比较大的查询作为实视图,并作为表存储。针对OLAP服务器的查询,优先利用已经计算好的实视图来生成查询结果以提高查询效率。
同时RDBMS也针对OLAP作相应的优化,比如并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL的OLAP扩展(cube,rollup)等等。
MOLAP将OLAP分析所用到的多维数据物理上存储为多维数组的形式,形成“立方体”的结构。维的属性值被映射成多维数组的下标值或下标的范围,而总结数据作为多维数组的值存储在数组的单元中。
OLAP分类
重要术语
维:是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。
维的层次:人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)。
维的成员:维的一个取值。是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)
多维数组:维和变量的组合表示。一个多维数组可以表示为:(维1,维2,…,维n,变量)。(时间,地区,产品,销售额)
度量(数据单元,单元格):多维数组的取值。(2000年1月,上海,笔记本电脑,$100000)
星型模式(Star Schema)事实表:用来存储事实的度量值和各个维的码值。
维 表:用来存放维的元数据(维的层次、成员类别等描述信息)。
关键技术
ETL
ETL是数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程。是构建数据仓库的重要一环。
ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。
实现ETL,首先要实现ETL转换的过程。它可以集中地体现为以下几个方面:
空值处理 可捕获字段空值,进行加载或替换为其他含义数据,并可根据字段空值实现分流加载到不同目标库。
规范化数据格式 可实现字段格式约束定义,对于数据源中时间、数值、字符等数据,可自定义加载格式。
拆分数据 依据业务需求对字段可进行分解。例,主叫号 861082585313-8148,可进行区域码和电话号码分解。
验证数据正确性 可利用Lookup及拆分功能进行数据验证。例如,主叫号861082585313-8148,进行区域码和电话号码分解后,可利用Lookup返回主叫网关或交换机记载的主叫地区,进行数据验证。
数据替换 对于因业务因素,可实现无效数据、缺失数据的替换。
Lookup 查获丢失数据 Lookup实现子查询,并返回用其他手段获取的缺失字段,保证字段完整性。
建立ETL过程的主外键约束 对无依赖性的非法数据,可替换或导出到错误数据文件中,保证主键唯一记录的加载。
ETL工具有:OWB(Oracle Warehouse Builder)、ODI(Oracle Data Integrator)、Informatic PowerCenter、AICloudETL、DataStage、Repository Explorer、Beeload、Kettle、DataSpider
数据模型
数据模型:标准定义数据
合理的业务模型设计对ETL至关重要。数据仓库是企业唯一、真实、可靠的综合数据平台。数据仓库的设计建模一般都依照三范式、星型模型、雪花模型,无论哪种设计思想,都应该最大化地涵盖关键业务数据,把运营环境中杂乱无序的数据结构统一成为合理的、关联的、分析型的新结构,而ETL则会依照模型的定义去提取数据源,进行转换、清洗,并最终加载到目标数据仓库中。
模型的重要之处在于对数据做标准化定义,实现统一的编码、统一的分类和组织。标准化定义的内容包括:标准代码统一、业务术语统一。ETL依照模型进行初始加载、增量加载、缓慢增长维、慢速变化维、事实表加载等数据集成,并根据业务需求制定相应的加载策略、刷新策略、汇总策略、维护策略。
数据模型-建模方法
关于数据仓库不同类型的数据存储的数据模型的建模方法已经相对成熟,典型设计组采用了数据仓库之父Inmon在《Building the Dataware House》阐述的方法,
对于ODS数据模型和数据仓库数据模型采用关系模型建模方法,要求逻辑模型模型符合三范式保证数据的规范化,物理模型可根据需要进行反规范化设计;
对于数据集市数据模型采用星型模式建模。
数据模型设计内容-模型架构
数据模型分类
数据模型是指用实体、属性及其关系对企业运营和管理过程中涉及的所有业务概念和逻辑规则进行统一定义、命名和编码。数据模型是业务人员、IT人员和开发商之间进行沟通的一套语言。数据模型分为概念数据模型、逻辑数据模型和物理数据模型。概念模型和逻辑模型是业务相关,技术平台无关的,物理模型是技术平台相关的。
信息展现
报表实现要求在线自定义WEB报表制作与发布、精确打印(包括套打)等功能。支持业界所有类型报表,如列表报表、明细报表、分组报表、图表报表、交叉报表、主从报表、嵌套报表、嵌入报表等,还支持独有的树型控件、树形列表、汇总报表等任意复杂格式报表。
数据中心的报表生成工具应具有如下的主要功能特性:
报表生成工具应具有极强的易用性以及快速开发环境。通过各种向导式界面、联机帮助、提示窗口等,即可定义各种复杂报表。而且这种向导应是可重入式的,即随着应用的不断变化,向导界面可重复进入,原有设置均可保留,从而提高报表开发效率。报表生成工具应能开发各种形式的复杂报表,返回的数据类型和格式也不应受限制。报表格式能迅速以所见即所得方式进行显示。报表生成工具应具有相同数据不同输出的能力。针对相同的报表数据需求,报表生成工具可根据需要产生打印输出、文件输出、email输出、Web发布等,而不需要分别生成查询数据。另外,针对相同报表数据的不同粒度需求,报表生成工具也只需生成一次数据。报表生成系统应具有极强的可扩展性。报表生成服务器应支持多个服务进程,为报表作业队列提供服务。随着数据中心应用的不断扩展,位于应用服务层的报表生成服务器应能动态扩展,并且在服务器之间可自动进行报表作业的负载均衡。如果某台服务器出现故障,其报表应用可被其它服务器自动恢复。报表生成系统应提供高速缓存机制。数据中心的预定义报表可能为大量用户重复访问,高速缓存机制能使重复的访问需求减少直接访问数据库的次数,从而极大地提高报表生成速度,降低网络流量。报表生成系统应提供集中式的安全控制机制。这种安全机制不仅能定义数据的安全性,而且能定义应用级的安全性。报表系统的安全管理应能够通过门户方式与其它应用集成为一体。报表生成系统应具有极强的开放性。一方面,报表生成系统应具有访问北京电力公司各种数据库系统和外部系统的能力,另一方面,生成的报表可输出为各种文件格式,如Excel、HTML、XML、RTF等。报表生成系统应与OLAP分析和即席查询具有良好的集成性。一方面,报表生成系统可直接访问在即席查询中生成的各种数据和视图,产生所需要的报表。另一方面,可访问多维数据模型的维和事实表等,产生相应的报表。OLAP多维分析:OLAP的基本多维分析操作有钻取(Drill-up和Drill-down)、切片(Slice)和切块(Dice)、以及旋转(Pivot)等。
钻取:是改变维的层次,变换分析的粒度。它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)。Drill-up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而Drill-down则相反,它从汇总数据深入到细节数据进行观察或增加新维。 切片和切块:是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个或以上,则是切块。 旋转:是变换维的方向,即在表格中重新安排维的放置(例如行列互换)即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是由用户自定义查询条件的。
构建数据仓库主要分为几步:
需求分析;
逻辑分析;
数据源分析;
ODS建模;
数据仓库建模;
数据集市建模;
数据的获取与整合;
应用分析;
数据展现;
各个步骤的关系:
数据仓库与数据中心
数据中心是企业的业务系统与数据资源进行集中、集成、共享、分析的场地、工具、流程等的有机组合。
从应用层面看,包括业务系统、基于数据仓库的分析系统;
从数据层面看,包括操作型数据和分析型数据以及数据与数据的集成/整合流程;
从基础设施层面看,包括服务器、网络、存储和整体IT运行维护服务。
广义数据中心-逻辑结构
数据中心-执行架构
解决方案
IBM数据仓库解决方案
Oracle解决方案
SAP BW解决方案
数据中心体系