收藏 分享(赏)

BI商业智能1.doc

上传人:ysd1539 文档编号:6734880 上传时间:2019-04-21 格式:DOC 页数:45 大小:84KB
下载 相关 举报
BI商业智能1.doc_第1页
第1页 / 共45页
BI商业智能1.doc_第2页
第2页 / 共45页
BI商业智能1.doc_第3页
第3页 / 共45页
BI商业智能1.doc_第4页
第4页 / 共45页
BI商业智能1.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、BI 商业智能 1数据仓库系统(DWS)由数据仓库、仓库管理和分析工具三部分组成。源数据:数据仓库的数据来源于多个数据源,包括企业内部数据、市场调查报告及各种文档之类的外部数据。仓库管理: 在确定数据仓库信息需求后,首先进行数据建模,然后确定从源数据到数据仓库的数据抽取、清理和转换过程,最后划分维数及确定数据仓库的物理存储结构。元数据是数据仓库的核心,它用于存储数据模型和定义数据结构、转换规划、仓库结构、控制信息等。数据仓库: 包括对数据的安全、归档、备份、维护、恢复等工作,这些工作需要利用数据库管理系统(DBMS)的功能。分析工具用于完成实际决策问题所需的各种查询检索工具、多维数据的 OLA

2、P 分析工具、数据开采 DM 工具等,以实现决策支持系统的各种要求。数据仓库应用是一个典型的 C/S 结构。其客户端的工作包括客户交互、格式化查询及结果和报表生成等。服务器端完成各种辅助决策的 SQL 查询、复杂的计算和各类综合功能等。现在,一种越来越普遍的形式是三层结构,即在客户与服务器之间增加一个多维数据分析服务器。OLAP 服务器能加强和规范决策支持的服务工作,集中和简化原客户端和 DW 服务器的部分工作,降低系统数据传输量,因此工作效率更高。什么是联机分析处理(OLAP)联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd 于 1993 年提出的,他同时提出了关于

3、OLAP 的 12 条准则。OLAP 的提出引起了很大的反响,OLAP 作为一类产品同联机事务处理 (OLTP) 明显区分开来。当今的数据处理大致可以分成两大类:联机事务处理 OLTP(on-line transaction processing)、联机分析处理 OLAP(On-Line Analytical Processing)。OLTP 是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP 是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。下表列出了 OLTP 与 OLAP 之间的比较。OLAP 是使分析人员、管理人员

4、或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP 的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是“维“这个概念。“维”是人们观察客观世界的角度,是一种高层次的类型划分。“维”一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多项重要的属性定义为多个维(dimension),使用户能对不同维上的数据进行比较。因此 OLAP 也可以说是多维数据分析工具的集合。OLAP 的基本多维分析操作有钻取(roll up 和 drill down)、切片(slice)和切块(dice)、以及旋转(pivot)

5、、drill across、drill through 等。 钻取是改变维的层次,变换分析的粒度。它包括向上钻取(roll up)和向下钻取(drill down)。roll up 是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而 drill down 则相反,它从汇总数据深入到细节数据进行观察或增加新维。切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个,则是切块。旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。OLAP 有多种实现方法,根据存储数据的方式不同可以分为ROLAP、MOLAP、HOLA

6、P。ROLAP 表示基于关系数据库的 OLAP 实现(Relational OLAP)。以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP 将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成了“星型模式“。对于层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表来描述,这种星型模式的扩展称为“雪花模式“。MOLAP 表示基于多维数据组织的 OLAP 实现(Multidimensional OLAP)。以多维数据组织方

7、式为核心,也就是说,MOLAP 使用多维数组存储数据。多维数据在存储中将形成“立方块(Cube)“的结构,在MOLAP 中对“立方块“的“旋转“、“切块“、“切片“是产生多维数据报表的主要技术。HOLAP 表示基于混合数据组织的 OLAP 实现(Hybrid OLAP)。如低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活性。还有其他的一些实现 OLAP 的方法,如提供一个专用的 SQL Server,对某些存储模式(如星型、雪片型)提供对 SQL 查询的特殊支持。OLAP 工具是针对特定问题的联机数据访问与分析。它通过多维的方式对数据进行分析、查询和报表。维是人们观察数据的特定角度。

8、例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观察产品的销售情况。这里的时间、地区和产品就是维。而这些维的不同组合和所考察的度量指标构成的多维数组则是 OLAP 分析的基础,可形式化表示为(维 1,维 2,维 n,度量指标),如(地区、时间、产品、销售额)。多维分析是指对以多维形式组织起来的数据采取切片(Slice)、切块(Dice)、钻取(Drill-down 和 Roll-up)、旋转(Pivot)等各种分析动作,以求剖析数据,使用户能从多个角度、多侧面地观察数据库中的数据,从而深入理解包含在数据中的信息。根据综合性数据的组织方式的不同,目前常见的 OLAP

9、主要有基于多维数据库的 MOLAP 及基于关系数据库的 ROLAP 两种。MOLAP 是以多维的方式组织和存储数据,ROLAP 则利用现有的关系数据库技术来模拟多维数据。在数据仓库应用中,OLAP 应用一般是数据仓库应用的前端工具,同时 OLAP 工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。数据抽取、清洗与转换 BI 项目中 ETL 设计作者: , 出处:ITPub, 责任编辑: 叶江, 2007-05-14 13:39ETL 是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析的依据E

10、TL 是 BI 项目最重要的一个环节,通常情况下 ETL 会花掉整个项目的 1/3 的时间,ETL 设计的好坏直接关接到 BI 项目的成败。ETL 也是一个长期的过程,只有不断的发现问题并解决问题,才能使 ETL 运行效率更高,为项目后期开发提供准确的数据。ETL 的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计 ETL 的时候也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到 ODS 中(这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高 ETL的运行效率。ETL 三个部分中,花费时间最长的是 T(清洗、转换)的部分,一般情况下这部分

11、工作量是整个 ETL 的 2/3。数据的加载一般在数据清洗完了之后直接写入 DW 中去。ETL 的实现有多种方法,常用的有三种,第一种是借助 ETL 工具如 Oracle 的 OWB、SQL server 2000 的 DTS、SQL Server2005 的SSIS 服务、informatic 等实现,第二种是 SQL 方式实现,第三种是ETL 工具和 SQL 相结合。前两种方法各有优缺点,借助工具可以快速的建立起 ETL 工程,屏蔽复杂的编码任务,提高速度,降低难度,但是欠缺灵活性。SQL 的方法优点是灵活,提高 ETL 运行效率,但是编码复杂,对技术要求比较高。第三种是综合了前面二种的优

12、点,极大的提高 ETL 的开发速度和效率。数据的抽取数据的抽取需要在调研阶段做大量工作,首先要搞清楚以下几个问题:数据是从几个业务系统中来?各个业务系统的数据库服务器运行什么 DBMS?是否存在手工数据,手工数据量有多大?是否存在非结构化的数据?等等类似问题,当收集完这些信息之后才可以进行数据抽取的设计。1、与存放 DW 的数据库系统相同的数据源处理方法这一类数源在设计比较容易,一般情况下,DBMS(包括SQLServer,Oracle)都会提供数据库链接功能,在 DW 数据库服务器和原业务系统之间建立直接的链接关系就可以写 Select 语句直接访问。2、与 DW 数据库系统不同的数据源的处

13、理方法。这一类数据源一般情况下也可以通过 ODBC 的方式建立数据库链接,如 SQL Server 和 Oracle 之间。如果不能建立数据库链接,可以有两种方式完成,一种是通过工具将源数据导出成.txt 或者是.xls 文件,然后再将这些源系统文件导入到 ODS 中。另外一种方法通过程序接口来完成。3、对于文件类型数据源(.txt,,xls),可以培训业务人员利用数据库工具将这些数据导入到指定的数据库,然后从指定的数据库抽取。或者可以借助工具实现,如 SQL SERVER 2005 的 SSIS 服务的平面数据源和平面目标等组件导入 ODS 中去。4、增量更新问题对于数据量大的系统,必须考虑

14、增量抽取。一般情况,业务系统会记录业务发生的时间,可以用作增量的标志,每次抽取之前首先判断 ODS 中记录最大的时间,然后根据这个时间去业务系统取大于这个时间的所有记录。利用业务系统的时间戳,一般情况下,业务系统没有或者部分有时间戳。数据的清洗转换一般情况下,数据仓库分为 ODS、DW 两部分,通常的做法是从业务系统到 ODS 做清洗,将脏数据和不完整数据过滤掉,再从 ODS到 DW 的过程中转换,进行一些业务规则的计算和聚合。1、数据清洗数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。不符合要求的数据主要是有不完整的数据

15、、错误的数据和重复的数据三大类。A、不完整的数据,其特征是是一些应该有的信息缺失,如供应商的名称,分公司的名称,客户的区域信息缺失、业务系统中主表与明细表不能匹配等。需要将这一类数据过滤出来,按缺失的内容分别写入不同 Excel 文件向客户提交,要求在规定的时间内补全。补全后才写入数据仓库。 B、错误的数据,产生原因是业务系统不够健全,在接收输入后没有进行判断直接写入后台数据库造成的,比如数值数据输成全角数字字符、字符串数据后面有一个回车、日期格式不正确、日期越界等。这一类数据也要分类,对于类似于全角字符、数据前后有不面见字符的问题只能写 SQL 的方式找出来,然后要求客户在业务系统修正之后抽

16、取;日期格式不正确的或者是日期越界的这一类错误会导致 ETL 运行失败,这一类错误需要去业务系统数据库用 SQL 的方式挑出来,交给业务主管部门要求限期修正,修正之后再抽取。 C、重复的数据,特别是维表中比较常见,将重复的数据的记录所有字段导出来,让客户确认并整理。数据清洗是一个反复的过程,不可能在几天内完成,只有不断的发现问题,解决问题。对于是否过滤、是否修正一般要求客户确认;对于过滤掉的数据,写入 Excel 文件或者将过滤数据写入数据表,在 ETL 开发的初期可以每天向业务单位发送过滤数据的邮件,促使他们尽快的修正错误,同时也可以作为将来验证数据的依据。数据清洗需要注意的是不要将有用的数

17、据过滤掉了,对于每个过滤规则认真进行验证,并要用户确认才行。2、数据转换数据转换的任务主要是进行不一致的数据转换、数据粒度的转换和一些商务规则的计算。A、不一致数据转换,这个过程是一个整合的过程,将不同业务系统的相同类型的数据统一,比如同一个供应商在结算系统的编码是 XX0001,而在 CRM 中编码是 YY0001,这样在抽取过来之后统一转换成一个编码。 B、数据粒度的转换,业务系统一般存储非常明细的数据,而数据仓库中的数据是用来分析的,不需要非常明细的数据,一般情况下,会将业务系统数据按照数据仓库粒度进行聚合。 C、商务规则的计算,不同的企业有不同的业务规则,不同的数据指标,这些指标有的时

18、候不是简单的加加减减就能完成,这个时候需要在 ETL 中将这些数据指标计算好了之后存储在数据仓库中,供分析使用。ETL 日志与警告发送1、ETL 日志,记录日志的目的是随时可以知道 ETL 运行情况,如果出错了,出错在那里。ETL 日志分为三类。第一类是执行过程日志,是在 ETL 执行过程中每执行一步的记录,记录每次运行每一步骤的起始时间,影响了多少行数据,流水账形式。第二类是错误日志,当某个模块出错的时候需要写错误日志,记录每次出错的时间,出错的模块以及出错的信息等。第三类日志是总体日志,只记录 ETL 开始时间,结束时间是否成功信息。如果使用 ETL 工具,工具会自动产生一些日志,这一类日

19、志也可以作为 ETL 日志的一部分。2、警告发送ETL 出错了,不仅要写 ETL 出错日志而且要向系统管理员发送警告,发送警告的方式有多种,常用的就是给系统管理员发送邮件,并附上出错的信息,方便管理员排查错误。数据挖掘技术简介作者: , 出处:专家博客, 责任编辑: 金璞, 2006-12-14 08:00摘要:数据挖掘是目前一种新的重要的研究领域。本文介绍了数据挖掘的概念、目的、常用方法、数据挖掘过程、数据挖掘软件的评价方法。对数据挖掘领域面临的问题做了介绍和展望。 关键词:数据挖掘 数据集合 摘要:数据挖掘是目前一种新的重要的研究领域。本文介绍了数据挖掘的概念、目的、常用方法、数据挖掘过程

20、、数据挖掘软件的评价方法。对数据挖掘领域面临的问题做了介绍和展望。关键词:数据挖掘 数据集合1. 引言数据挖掘(Data Mining)是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。随着信息技术的高速发展,人们积累的数据量急剧增长,动辄以 TB 计,如何从海量的数据中提取有用的知识成为当务之急。数据挖掘就是为顺应这种需要应运而生发展起来的数据处理技术。是知识发现(Knowledge Discovery in Database)的关键步骤。2. 数据挖掘的任务数据挖掘的任务主要是关联分析、聚类分析、分类、预测、时序模式和

21、偏差分析等。关联分析(association analysis)关联规则挖掘是由 Rakesh Apwal 等人首先提出的。两个或两个以上变量的取值之间存在某种规律性,就称为关联。数据关联是数据库中存在的一类重要的、可被发现的知识。关联分为简单关联、时序关联和因果关联。关联分析的目的是找出数据库中隐藏的关联网。一般用支持度和可信度两个阀值来度量关联规则的相关性,还不断引入兴趣度、相关性等参数,使得所挖掘的规则更符合需求。聚类分析(clustering)聚类是把数据按照相似性归纳成若干类别,同一类中的数据彼此相似,不同类中的数据相异。聚类分析可以建立宏观的概念,发现数据的分布模式,以及可能的数据

22、属性之间的相互关系。分类(classification)分类就是找出一个类别的概念描述,它代表了这类数据的整体信息,即该类的内涵描述,并用这种描述来构造模型,一般用规则或决策树模式表示。分类是利用训练数据集通过一定的算法而求得分类规则。分类可被用于规则描述和预测。预测(predication)预测是利用历史数据找出变化规律,建立模型,并由此模型对未来数据的种类及特征进行预测。预测关心的是精度和不确定性,通常用预测方差来度量。时序模式(time-series pattern)时序模式是指通过时间序列搜索出的重复发生概率较高的模式。与回归一样,它也是用己知的数据预测未来的值,但这些数据的区别是变量

23、所处时间的不同。偏差分析(deviation)在偏差中包括很多有用的知识,数据库中的数据存在很多异常情况,发现数据库中数据存在的异常情况是非常重要的。偏差检验的基本方法就是寻找观察结果与参照之间的差别。3.数据挖掘对象根据信息存储格式,用于挖掘的对象有关系数据库、面向对象数据库、数据仓库、文本数据源、多媒体数据库、空间数据库、时态数据库、异质数据库以及 Internet 等。4.数据挖掘流程定义问题:清晰地定义出业务问题,确定数据挖掘的目的。数据准备:数据准备包括:选择数据-在大型数据库和数据仓库目标中提取数据挖掘的目标数据集;数据预处理-进行数据再加工,包括检查数据的完整性及数据的一致性、去

24、噪声,填补丢失的域,删除无效数据等。数据挖掘:根据数据功能的类型和和数据的特点选择相应的算法,在净化和转换过的数据集上进行数据挖掘。结果分析:对数据挖掘的结果进行解释和评价,转换成为能够最终被用户理解的知识。知识的运用:将分析所得到的知识集成到业务信息系统的组织结构中去。5.数据挖掘的方法神经网络方法神经网络由于本身良好的鲁棒性、自组织自适应性、并行处理、分布存储和高度容错等特性非常适合解决数据挖掘的问题,因此近年来越来越受到人们的关注。典型的神经网络模型主要分 3 大类:以感知机、BP 反向传播模型、函数型网络为代表的,用于分类、预测和模式识别的前馈式神经网络模型;以 Hopfield 的离

25、散模型和连续模型为代表的,分别用于联想记忆和优化计算的反馈式神经网络模型;以 ART 模型、Koholon 模型为代表的,用于聚类的自组织映射方法。神经网络方法的缺点是“黑箱“性,人们难以理解网络的学习和决策过程。遗传算法遗传算法是一种基于生物自然选择与遗传机理的随机搜索算法,是一种仿生全局优化方法。遗传算法具有的隐含并行性、易于和其它模型结合等性质使得它在数据挖掘中被加以应用。Sunil 已成功地开发了一个基于遗传算法的数据挖掘工具,利用该工具对两个飞机失事的真实数据库进行了数据挖掘实验,结果表明遗传算法是进行数据挖掘的有效方法之一4。遗传算法的应用还体现在与神经网络、粗集等技术的结合上。如

26、利用遗传算法优化神经网络结构,在不增加错误率的前提下,删除多余的连接和隐层单元;用遗传算法和 BP 算法结合训练神经网络,然后从网络提取规则等。但遗传算法的算法较复杂,收敛于局部极小的较早收敛问题尚未解决。决策树方法决策树是一种常用于预测模型的算法,它通过将大量数据有目的分类,从中找到一些有价值的,潜在的信息。它的主要优点是描述简单,分类速度快,特别适合大规模的数据处理。最有影响和最早的决策树方法是由 Quinlan 提出的著名的基于信息熵的 ID3 算法。它的主要问题是:ID3 是非递增学习算法;ID3 决策树是单变量决策树,复杂概念的表达困难;同性间的相互关系强调不够;抗噪性差。针对上述问

27、题,出现了许多较好的改进算法,如 Schlimmer 和Fisher 设计了 ID4 递增式学习算法;钟鸣,陈文伟等提出了 IBLE 算法等。粗集方法粗集理论是一种研究不精确、不确定知识的数学工具。粗集方法有几个优点:不需要给出额外信息;简化输入信息的表达空间;算法简单,易于操作。粗集处理的对象是类似二维关系表的信息表。目前成熟的关系数据库管理系统和新发展起来的数据仓库管理系统,为粗集的数据挖掘奠定了坚实的基础。但粗集的数学基础是集合论,难以直接处理连续的属性。而现实信息表中连续属性是普遍存在的。因此连续属性的离散化是制约粗集理论实用化的难点。现在国际上已经研制出来了一些基于粗集的工具应用软件

28、,如加拿大 Regina 大学开发的 KDD-R;美国 Kansas 大学开发的 LERS 等。覆盖正例排斥反例方法它是利用覆盖所有正例、排斥所有反例的思想来寻找规则。首先在正例集合中任选一个种子,到反例集合中逐个比较。与字段取值构成的选择子相容则舍去,相反则保留。按此思想循环所有正例种子,将得到正例的规则(选择子的合取式)。比较典型的算法有Michalski 的 AQ11 方法、洪家荣改进的 AQ15 方法以及他的 AE5 方法。统计分析方法在数据库字段项之间存在两种关系:函数关系(能用函数公式表示的确定性关系)和相关关系(不能用函数公式表示,但仍是相关确定性关系),对它们的分析可采用统计学

29、方法,即利用统计学原理对数据库中的信息进行分析。可进行常用统计(求大量数据中的最大值、最小值、总和、平均值等)、回归分析(用回归方程来表示变量间的数量关系)、相关分析(用相关系数来度量变量间的相关程度)、差异分析(从样本统计量的值得出差异来确定总体参数之间是否存在差异)等。模糊集方法即利用模糊集合理论对实际问题进行模糊评判、模糊决策、模糊模式识别和模糊聚类分析。系统的复杂性越高,模糊性越强,一般模糊集合理论是用隶属度来刻画模糊事物的亦此亦彼性的。李德毅等人在传统模糊理论和概率统计的基础上,提出了定性定量不确定性转换模型-云模型,并形成了云理论。6.评价数据挖掘软件需要考虑的问题越来越多的软件供

30、应商加入了数据挖掘这一领域的竞争。用户如何正确评价一个商业软件,选择合适的软件成为数据挖掘成功应用的关键。评价一个数据挖掘软件主要应从以下四个主要方面:计算性能:如该软件能否在不同的商业平台运行;软件的架构;能否连接不同的数据源;操作大数据集时,性能变化是线性的还是指数的;算的效率;是否基于组件结构易于扩展;运行的稳定性等;功能性:如软件是否提供足够多样的算法;能否避免挖掘过程黑箱化;软件提供的算法能否应用于多种类型的数据;用户能否调整算法和算法的参数;软件能否从数据集随机抽取数据建立预挖掘模型;能否以不同的形式表现挖掘结果等;可用性:如用户界面是否友好;软件是否易学易用;软件面对的用户:初学

31、者,高级用户还是专家?错误报告对用户调试是否有很大帮助;软件应用的领域:是专攻某一专业领域还是适用多个领域等;辅助功能:如是否允许用户更改数据集中的错误值或进行数据清洗;是否允许值的全局替代;能否将连续数据离散化;能否根据用户制定的规则从数据集中提取子集;能否将数据中的空值用某一适当均值或用户指定的值代替;能否将一次分析的结果反馈到另一次分析中,等等。7.结束语数据挖掘技术是一个年轻且充满希望的研究领域,商业利益的强大驱动力将会不停地促进它的发展.每年都有新的数据挖掘方法和模型问世,人们对它的研究正日益广泛和深入。尽管如此,数据挖掘技术仍然面临着许多问题和挑战:如数据挖掘方法的效率亟待提高,尤

32、其是超大规模数据集中数据挖掘的效率;开发适应多数据类型、容噪的挖掘方法,以解决异质数据集的数据挖掘问题;动态数据和知识的数据挖掘;网络与分布式环境下的数据挖掘等;另外,近年来多媒体数据库发展很快,面向多媒体数据库的挖掘技术和软件今后将成为研究开发的热点。BI 和 ERP 是互补的系统作者: 佚名, 出处:中国商业智能网 , 责任编辑: 丁一凡, 2005-01-18 16:24如何只用一句话就能使商业信息(Business Information 简称BI) 、决策支持等新架构体系对用户产生新的诱惑力呢?如何只用一句话就能使商业信息(Business Information 简称 BI) 、决

33、策支持等新架构体系对用户产生新的诱惑力呢?BI 是架构在 ERP之上的,而决策支持是在 BI 基础上的再扩展。也就是说,新的架构体系使行业用户能够在现有企业数据仓库之上再创建一个“虚拟”企业,这意味着什么呢? 简单的说,就是行业用户可将现有的数据仓库资源整合到一个分布式的 BI 网络环境当中。像 ERP 一样,它是一种自上而下的透视方法。它能提高行业用户相关商业目标的执行潜力,并允许用户重组一种更精准的部门级操作流程;然后创建出整个公司目标执行的实时监视体系。 BI Vs ERP在 ERP 环境中安装数据仓库是一个相当经济的建议。因为,从基础架构的角度上看,BI 数据库和 ERP 有许多共通之

34、处。 两者都采用分布式架构存储海量数据,因此,双方进行融合的可能性很大;两者都为大范围终端用户提供深度访问的能力;两者都具有高度的分布性和应用程序的可扩展性,尽管这种特性在 BI 上体现得不是很明显 ;两者基于同样的前提。即利用直接或者间接数据作为预测工作的信息参考。 在过去 10 年中,ERP 技术和 BI 都有重大的发展,但它们的发展道路或多或少是并行的。两者的商业判断能力都有赖于信息技术,但功能特点却各自针对于商业智能(business intelligence)和业绩跟踪(performance tracking)的不同方面。虽然存在类似之处,但 BI 和 ERP 绝对不是同一事物或是

35、同一事物体的两个方面,它们是互补的系统。它们最大的共性就是,它们使企业运行得更有效率、响应更及时并易于整合。因此,已实施了 ERP 的企业需要 BI 是显而易见的。调高用户期望行业客户实施 ERP 之后, 就建立起了新的业务处理模式。ERP系统所涉及的所有业务流程通过整合彼此协调,打破了原有的部门分割局面。公司内所有环节的信息获知能力都得到了提升,企业内外的业务处理瓶颈将被打破,响应速度也能相应改善。 BI 能提高行业用户在关键领域的信息获知能力及掌控精度。首先,报告格式将大大改良,整合后的用户数据无疑使报告进行得更快、更及时、更精确。其次, 信息传输也将越来越实时化,在各部门周转时间将大为减

36、少。最后,业务处理流程当中可能出现的问题和失误也易于及时发现,从而使纠错工作更加迅速和准确。 通过 BI, 孤立、分散的企业数据按历史记录顺序彼此相关了,而且能按高效、易于提取的结构进行存储;行业用户由此就可以按不同的透视方法进行快速分析。与传输数据不同,一旦信息进入数据仓库或局部领域的数据集市,它就不可改变。它成为了分析型数据,而非传输型数据。因此,行业用户可以做的分析就不再是简单的总结,他们可以按自己设置的分析方法对数据进行任何深度的分析。这种数据仓库按照执行快速、灵活可变的形式组织起来,数据访问变得异常简便(用户不需专门应用软件就能访问,就像从书架上取下一本书一样方便) 。确定商业主题接

37、下来的环节就是重新定义信息及其应用方法。记录、文档等旧有概念已经过时。然而从行业用户的应用系统迁移开始,ERP 数据库的应用环境变化却没能改变这种思维定式。当今世界,行业用户面对的是一个崭新竞争环境,即商业目标(business object)精确实现的世界。商业目标的执行力并不依赖于时间的不同或管理级别的差异,这个目标不管是正执行的还是已经执行过的,都应该传达给企业各个层面,如部门级、公司级等。每个小目标的实现都可能对整个公司产生大的推动力。商业目标实际上是一种信息“包” ,它的作用要看行业用户对它如何定义以及如何处理。行业用户可以将它看成是一位虚拟化的员工,赋与它特定的工作职能,即它能胜任

38、各种应用。为了理解商业目标, 就必须首先知道元数据(Metadata)的概念。元数据是一种用来描述实际数据的信息;它主要用于应用程序和分析流程当中的数据交流工作。元数据是一种构建数据库的基本素材,它将用来构建 BI 数据模型。 商业目标对信息而言不仅是一种模板,它将定义出能被数据信息完成的商业任务,以及主要执行者的任务(从这个层面上说,商业目标是一名虚拟员工) 。在此,定义一个数据模型的简便之处并没有被夸大。数据仓库涉及的终端用户都能获知这些任务信息;各部门的中层管理者都可以自己设置所需要的分析功能;从而打破部门分割的局限,帮助决策层进行管理。试想一下,如果一个公司 CIO 进行本地存货运输成

39、本分析所使用的“成本会计”主题报告,一名基层仓库管理员在工作岗位上也可以及时使用,那么,该公司商品交易信息的时效性和精确性就会大大提高。此 CIO 就能及时确定该公司是否降低公司目录中的产品数量。如何实现在实际建造系统之时,行业用户的顾虑也不必太多,BI 可以从很小的系统开始,而且它只需往 ERP 里面添加信息,而不是重建一个系统。BI 平台独特之处是,在一种高度整合的 ERP 环境下,它通常被隐藏于底层。为了简便起见,BI 主要数据来源毫无疑问就是ERP 数据库。BI 是一种组织完善的表格驱动系统,在系统中,ERP数据库和 ERP 应用系统通过接口界面紧密结合,元数据在它们之间流动;提取器(

40、Extractors)从传输系统中提取合适的信息,然后将信息放入以商业目标为导向的数据库体系当中(程序编程接口API 也在这个阶段进行工作) 。接下来就是 BI 引擎,它包含信息来源管理和转换系统、装载系统等。信息来源管理系统主要用于跟踪信息从何处来、到哪里去,它还定义所有的传输活动;转换、装载系统主要负责必要的数据规范操作。随后是元数据,这是一系列用功能术语完成信息定义工作。从这里开始, 建模、分析、相关主题展示等高级功能就开始运行。在此必须强调的是,数据仓库中的信息主要用于数据分析,它无法被 BI 用户修改或者升级。数据建模师谈建模方法及技巧作者: ocanod, 出处:博客, 责任编辑:

41、 金璞, 2007-01-12 00:00笔者从 98 年进入数据库及数据仓库领域工作至今已经有近八年的时间,对数据建模工作接触的比较多,创新性不敢谈,本文只是将工作中的经验总结出来,供大家一同探讨和指正。 提起数据建模来,有一点是首先要强调的,数据建模师和 DBA 有着较大的不同,对数据建模师来说,对业务的深刻理解是第一位的,不同的建模方法和技巧是为业务需求来服务的。而本文则暂时抛开业务不谈,主要关注于建模方法和技巧的经验总结。 笔者从 98 年进入数据库及数据仓库领域工作至今已经有近八年的时间,对数据建模工作接触的比较多,创新性不敢谈,本文只是将工作中的经验总结出来,供大家一同探讨和指正。

42、提起数据建模来,有一点是首先要强调的,数据建模师和 DBA有着较大的不同,对数据建模师来说,对业务的深刻理解是第一位的,不同的建模方法和技巧是为业务需求来服务的。而本文则暂时抛开业务不谈,主要关注于建模方法和技巧的经验总结。从目前的数据库及数据仓库建模方法来说,主要分为四类。第一类是大家最为熟悉的关系数据库的三范式建模,通常我们将三范式建模方法用于建立各种操作型数据库系统。第二类是 Inmon 提倡的三范式数据仓库建模,它和操作型数据库系统的三范式建模在侧重点上有些不同。Inmon 的数据仓库建模方法分为三层,第一层是实体关系层,也即企业的业务数据模型层,在这一层上和企业的操作型数据库系统建模

43、方法是相同的;第二层是数据项集层,在这一层的建模方法根据数据的产生频率及访问频率等因素与企业的操作型数据库系统的建模方法产生了不同;第三层物理层是第二层的具体实现。第三类是 Kimball 提倡的数据仓库的维度建模,我们一般也称之为星型结构建模,有时也加入一些雪花模型在里面。维度建模是一种面向用户需求的、容易理解的、访问效率高的建模方法,也是笔者比较喜欢的一种建模方式。第四类是更为灵活的一种建模方式,通常用于后台的数据准备区,建模的方式不拘一格,以能满足需要为目的,建好的表不对用户提供接口,多为临时表。下面简单谈谈第四类建模方法的一些的经验。数据准备区有一个最大的特点,就是不会直接面对用户,所

44、以对数据准备区中的表进行操作的人只有 ETL 工程师。ETL 工程师可以自己来决定表中数据的范围和数据的生命周期。下面举两个例子:1)数据范围小的临时表当需要整合或清洗的数据量过大时,我们可以建立同样结构的临时表,在临时表中只保留我们需要处理的部分数据。这样,不论是更新还是对表中某些项的计算都会效率提高很多。处理好的数据发送入准备加载到数据仓库中的表中,最后一次性加载入数据仓库。2)带有冗余字段的临时表由于数据准备区中的表只有自己使用,所以建立冗余字段可以起到很好的作用而不用承担风险。举例来说,笔者在项目中曾遇到这样的需求,客户表客户ID,客户净扣值,债项表债项 ID,客户 ID,债项余额,债

45、项净扣值,即客户和债项是一对多的关系。其中,客户净扣值和债项余额已知,需要计算债项净扣值。计算的规则是按债项余额的比例分配客户的净扣值。这时,我们可以给两个表增加几个冗余字段,如客户表客户 ID,客户净扣值,客户余额,债项表债项 ID,客户ID,债项余额,债项净扣值,客户余额,客户净扣值。这样通过三条 SQL 就可以直接完成整个计算过程。将债项余额汇总到客户余额,将客户余额和客户净扣值冗余到债项表中,在债项表中通过(债项余额客户净扣值/客户余额)公式即可直接计算处债项净扣值。另外还有很多大家可以发挥的建表方式,如不需要主键的临时表等等。总结来说,正因为数据准备区是不对用户提供接口的,所以我们一

46、定要利用好这一点,以给我们的数据处理工作带来最大的便利为目的来进行数据准备区的表设计。行业借鉴经验:数据仓库架构经验谈对于数据仓库的架构方法,不同的架构师有不同的原则和方法,笔者在这里来总结一下当前常采用的架构方式及其优缺点。这些架构方式不限于某个行业,可以供各个行业借鉴使用。首先需要说明的一点是,目前在数据仓库领域比较一致的意见是在数据仓库中需要保留企业范围内一致的原子层数据。而独立的数据集市架构(Independent data marts)没有企业范围内一致的数据,很可能会导致信息孤岛的产生,除非在很小的企业内或只针对固定主题,否则不建议建立这样的架构方式。联邦式的数据仓库架构(Fede

47、rated Data Warehouse Architecture)不管是在地域上的联邦还是功能上的联邦都需要先在不同平台上建立各自的数据仓库,再通过参考(reference)数据来实现整合,而这样很容易造成整合的不彻底,除非联邦式的数据仓库架构也采用 Kimball 的总线架构(Bus Architecture)中类似的功能,即在数据准备区保留一致性维度(Conformed Table)并不断更新它。所以,这两种架构方式不在讨论范围之内。下面主要讨论剩下的三种架构方式。1)三范式(3NF)的原子层+数据集市这样的数据仓库架构最大的倡导者就是数据仓库之父 Inmon,而他的企业信息工厂(Cor

48、porate Information System)就是典型的代表。这样的架构也称之为企业数据仓库(Enterprise Data Warehouse,EDW)。企业信息工厂的实现方式是,首先进行全企业的数据整合,建立企业信息模型,即 EDW。对于各种分析需求再建立相应的数据集市或者探索仓库,其数据来源于 EDW。三范式的原子层给建立 OLAP 带来一定的复杂性,但是对于建立更复杂的应用,如挖掘仓库、探索仓库提供了更好的支持。这类架构的建设周期比较长,相应的成本也比较高。2)星型结构(Star Schema)的原子层+HOLAP星型结构最大的倡导者是 Kimall,他的总线架构是该类架构的典型

49、代表。总线架构实现方式是,首先在数据准备区中建立一致性维度、建立一致性事实的计算方法;其次在一致性维度、一致性事实的基础上逐步建立数据集市。每次增加数据集市,都会在数据准备区整合一致性维度,并将整合好的一致性维度同步更新到所有的数据集市。这样,建立的所有数据集市合在一起就是一个整合好的数据仓库。正是因为总线架构这个可以逐步建立的特点,它的开发周期比其他架构方式的开发周期要短,相应的成本也要低。在星型结构的原子层上可以直接建立聚集,也可以建立 HOLAP。笔者比较倾向于 Kimball 的星型结构的原子层架构,在这种架构中的经验也比较多。3)三范式(3NF)的原子层+ROLAP这样的数据仓库架构也称为集中式架构(Centralized Architecture),思路是在三范式的原子层上直接建立 ROLAP,做的比较出色的就是 MicroStrategy。在三范式的原子层上定义 ROLAP比在星型结构的原子层上定义 ROLAP 要复杂很多。采用这种架构需要在定义 ROLAP 是多下些功夫,而且 ROLAP 的元数据不一定是通用的格式,所以对 ROLAP 做展现很可能会受到工具的局限。这类架构和第一类很相似,只是少了原子层上的数据集市。总结来说,这三种数据仓库的架构方式都是不错的选择。对于需要见效快

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报