数据仓库是体系结构化环境的核心,是决策支持系统(DSS)处理的基础;它的概念提出者、美国著名信息工程专家 William Inmon 博士在90年代初提出了数据仓库的一个表述。他认为:“一个数据仓库通常是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的用来支持管理人员决策的数据集合。”
主题,是指用户使用数据仓库进行决策时所关心的重点方面,如:收入、客户、销售渠道等;面向主题,是指数据仓库内的信息是按主题进行组织的,而不是像业务支撑系统那样是按照业务功能进行组织的。
集成,是指数据仓库中的信息不是从各个业务系统中简单抽取出来的,而是经过一系列加工、整理和汇总的过程,因此数据仓库中的信息是关于整个企业的一致的全局信息。
随时间变化,是指数据仓库内的信息并不只是反映企业当前的状态,而是记录了从过去某一时点到当前各个阶段的信息。通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
本身相对稳定,是指一旦某个数据进入数据仓库以后,一般很少进行修改,更多的是对信息进行查询操作。
依据上面的定义,有人可能会把数据仓库简单地理解为仅仅是一个大型的数据存储机制,是一个静态的概念。实际上,数据仓库更像一个过程,这个过程涉及数据的收集、整理和加工,生成决策所需要的信息,并且最终把这些信息提供给需要这些信息的使用者,供他们做出改善业务经营的正确决策。
数据仓库的重点与要求就是能够准确、安全、可靠地从业务系统中取出数据,经过加工转换成有规律信息之后,供管理人员进行分析使用。因此数据仓库是一个动态的概念,应该称为数据仓库工程(Data Warehousing)。
SAP BI(Business Intelligence)商务智能,是SAP公司的数据仓库解决方案,BI7.0以前的版本称为BW(Business Information Warehouse)业务信息仓库,它将来自源系统的数据(可以是SAP R3,也可以是其它事务处理系统、文本文件、数据库、或其它BW/BI系统),经过抽取、转换、上载至BI数据仓库,以EXCEL、WEB等形式的报表展示给用户。
图 1.1
如图1.1展示了SAP BI平台的体系架构,它包括了以下几个部分:
1. 数据抽取、传输、上载工具(ETL)
从来自不同的数据源系统自动上载、整理、整合数据;
2. 数据存取工具
数据仓库可以保证存储有足够量的数据来满足客户的业务分析和信息决策的需求;
3. 强大的前段分析工具
通过报表设计器客制化报表,使客户可以利用上载过来的数据进行分析和决策,并提供两种不同的查询和分析风格:WEB格式和EXCEL(Analyzer)格式;
4. 监测系统运行效率的工具
管理平台提供数据ETL等执行过程的作业安排、监控和有效的管理,并能制定满足要求的数据处理逻辑。
ERP系统是典型的OLTP(联机在线处理)系统,BI系统是OLAP(联机在线分析)系统,他们的侧重点不同,有不同的功能和任务。
ERP系统用于日常快速有效的处理业务流程,包含了最原始、最明细的单据。
BI系统做海量业务数据的在线分析,用于产生决策信息和知识,它不仅可以包含明细单据,最重要的是对单据根据决策需求进行汇总分析。
信息对象 业务评估对象和表字段在BI中被称为信息对象,它是BI中最小的单元,通过它将信息部署为各种结构,信息对象分为特性和关键值两部分:
1. 特性Characteristics
在主数据表中的信息对象,例如客户、供应商、加油站、销售小组等。
系统必备的特殊类型的特性有以下三个:
时间特性与时间相关的特性“Fiscal period”, “Calendar year”, ...
单位特性国际通用的单位 “Local currency” or “0Unit
技术特性例如请求号等
2. 关键值Key figures
关键值在报表中提供数值,例如销售数量、金额等。
DSO(DataStore Objects ) 数据存储对象 是单据级的业务数据或主数据在BI中的存储点,DSO中的数据也可以用于报表的使用分析,它有三种类型:标准DSO、写入优化DSO和直接更新DSO。
标准DSO它的结构包括待激活数据队列、激活后的数据、更改日志, 用于BI系统中抽取和加载数据过程中的数据存储。
写入优化DSO它的结构只包含激活后的数据,特点是加载到其中的数据无需手工激活,可以迅速进行下一步处理。
直接更新DSO该类型的DSO数据可来自报表、信息集,不能使用一般数据源提供数据,它的结构中只包含一种形式的数据,因此数据与它的数据提供者中保持一致。
INFOCUBE 信息立方体 是多维信息提供者的一个类型,从报表角度看,一个INFOCUBE描述了一个完备的面向业务的数据集,同样这个数据集可以用于报表分析。
图 1.2
信息立方体的信息存储是一个星型的模型结构,上图所示是一个简易的星型模型,中央的关键指标和周围的特性共同组成了一个多维分析模型;存储关键指标的表我们称作事实表(Fact Table),周围特性的编号存放于维度表(Dimension Table)中,而特性的描述、层次等信息通过编号来与后台的SID表关联得到,详细结构见下图:
图 1.3
模型由中间的事实表(Fact Table)和周围的维度表(Dimension Table)组成,通过外键将事实表和维度表连接在一起,在SAP BI中维度表由业务分析对象组成例如客户、销售办公室、时间等,事实表由维表ID和关键值例如销量、金额等。
Multi-CUBE 复合立方体 是一种方便出具跨模块报表的,集合了多个信息提供器(CUBE,DSO等)的信息提供者;它本身不包含任何数据,它的数据全部来源于它的下挂信息提供器。
数据源(DataSource) 提供BI数据的来源,一般是在源系统中由一些有逻辑关系的字段组成的结构,BI系统通过ETL机制从中获得数据。
信息源(InfoSource) BI中由信息对象组成的,可对应多个数据源和信息提供者的数据传输结构,数据的传输路径是:源系统数据源->信息源->信息提供者。
传输规则(transfer rules)提供给数据源和信息源之间的逻辑链接, 允许数据字段到信息对象的映射、常量或者ABAP例程控制, 可以在传输交易数据、属性、文本或层次中使用
更新规则(update rules) 提供给信息源和数据目标之间的逻辑链接, 允许信息对象到信息对象的映射、或者ABAP例程控制, 只能在数据目标的特性或者关键指标中使用
转换(transformations) 在BI7.0中用于提供数据源与数据目标或者数据提供者与数据目标之间的逻辑链接,可以在信息对象的映射中建立常量或ABAP例程的控制。
图 1.4
SAP BI7.0中的数据流如上图所示,通过SAP BI的数据抽取机制将源系统数据源中的数据按定制的计划进行分段上载,通过传输结构先上载到PSA(Persistent Staging Area ,持续分段传输区域)再通过信息源的对照与更新规则的清洗转换上载到信息提供者DSO,最终通过转换进入信息立方体提供报表查询分析。
数据传输进程(Data Transfer Process)是决定数据如何在两个数据存储对象间传输的对象,它用于在BI中依照确定的转换和过滤器在两个数据存储对象间传输数据。
数据处理链(Process Chain )是BI7.0中后台定制的为特定事件安排的一个处理队列,它的优点是可以自动的、形象化的、可完全监控的处理一系列事件