Oracle数据仓库解决方案技术白皮书完整、集成和高效的解决方案Oracle提供了一整套完整、集成的技术平台方案来为客户降低建设企业数据仓库和商业智能系统的成本和复杂性。Oracle数据库产品是第一个也是唯一一个把嵌入式抽取、转换和加载引擎(ETL)、在线分析处理引擎(OLAP)和数据挖掘引擎集成在一起的数据分析平台。Oracle应用服务器包含了门户和商业智能服务为您提供访问组织化的和个性化的商业智能应用GetTimely,AccurateBusinessIntelligence或致电:800-8100-161版权©2005Oracle公司版权所有。“Oracle”是Oracle公司及或其子公司的注册商标。Oracle数据仓库技术白皮书Copyright©2005OracleCorporationAllrightsreserved.2目录:1数据仓库31.1什么是数据仓库31.2为什么使用数据仓库31.3建设数据仓库的驱动力是什么42Oracle数据仓库解决方案52.1ORACLE数据仓库体系结构72.2ETL解决方案82.3数据仓库核心引擎92.4元数据管理解决方案112.5信息展现解决方案123数据仓库最佳实践173.1如何规划数据仓库项目173.2如何建设数据仓库项目184全球最大的数据仓库是如何建造的194.1案例一、电信行业客户利用ORACLE数据仓库管理海量数据(65TB)194.2案例二、金融业客户利用ORACLE数据仓库解决方案解决利润成本、风险和客户关系管理205您们如何得到我们的帮助23Oracle数据仓库技术白皮书Copyright©2005OracleCorporationAllrightsreserved.31数据仓库1.1什么是数据仓库入80年代以后,随着PC的迅速普及,业务处理系统的运行成本大大降低,极大地推动了信息处理技术的发展。基于并行可伸缩体系结构的大型计算机和关系数据库技术也在迅猛发展,企业大型联机事务处理技术已经相当成熟,很好地解决了企业对于实时业务交易的需求。与此同时,激烈的市场竞争使得各行各业对于数据处理提出了更高的要求。企业已经不满足于计算机能够帮助他们迅速地处理业务,而且需要从浩如烟海的大量数据中探索业务活动的规律性,提炼出经营管理所必须的关键信息,使企业能对其自身业务的运作以及整个市场相关行业的态势进行分析,从而做出正确的决策。正是在这样的背景下,数据仓库技术应运而生了。什么是数据仓库呢?数据仓库概念的提出者、美国著名信息工程专家WilliamInmon博士在90年代初提出了数据仓库概念的一个表述。他认为:“一个数据仓库通常是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,它用于对管理决策过程的支持。”所谓主题,是指用户使用数据仓库进行决策时所关心的重点方面,如:收入、客户、销售渠道等;所谓面向主题,是指数据仓库内的信息是按主题进行组织的,而不是像业务支撑系统那样是按照业务功能进行组织的。所谓集成,是指数据仓库中的信息不是从各个业务系统中简单抽取出来的,而是经过一系列加工、整理和汇总的过程,因此数据仓库中的信息是关于整个企业的一致的全局信息。所谓随时间变化,是指数据仓库内的信息并不只是反映企业当前的状态,而是记录了从过去某一时点到当前各个阶段的信息。通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。而信息本身相对稳定,是指一旦某个数据进入数据仓库以后,一般很少进行修改,更多的是对信息进行查询操作。依据上面的定义,有人可能会把数据仓库简单地理解为仅仅是一个大型的数据存储机制,是一个静态的概念。实际上,数据仓库更像一个过程,这个过程涉及数据的收集、整理和加工,生成决策所需要的信息,并且最终把这些信息提供给需要这些信息的使用者,供他们做出改善业务经营的正确决策。数据仓库的重点与要求就是能够准确、安全、可靠地从业务系统中取出数据,经过加工转换成有规律信息之后,供管理人员进行分析使用。因此数据仓库是一个动态的概念,应该称为数据仓库工程(DataWarehousing)。1.2为什么使用数据仓库业信息化建设过程中,为了提高日常的工作效率以及提高本企业的市场适应能力,大部分企业会根据市场、客户和企业本身建立不同的业务系统来满足需求。但此系统往往因为市进数据仓库使企业能对其自身业务的运作以及整个市场相关行业的态势进行分析,从而做出正确的决策。数据仓库更像一个过程,这个过程涉及数据的收集、整理和加工,生成决策所需要的信息,并且最终把这些信息提供给需要这些信息的使用者,供他们做出改善业务经营的正确决策。企Oracle数据仓库技术白皮书Copyright©2005OracleCorporationAllrightsreserved.4场需求、设计理念、建设时间、平台选择等因素的不一致性而导致系统间相互独立、信息分散等特点,从而形成信息孤岛。为了解决上述问题,企业就需要一种行之有效的技术进行信息整合,通过集成不同的系统信息为企业提供统一的决策分析平台,帮助企业解决实际的业务问题(如:如何提高客户满意度和忠诚度,降低成本、提高利润,合理分配资源,有效进行全面绩效管理等)。人们往往会采用数据仓库技术实现。使用数据仓库有三个方面的好处:第一,数据仓库能够为业务部门提供准确、及时的报表。第二,数据仓库可以赋予管理人员更强大的分析能力。第三,数据仓库是进行数据挖掘、知识发现的基础。1.3建设数据仓库的驱动力是什么什么使您热衷于建设数据仓库系统?对于大多数人认为是数据的问题、技术的问题,但这并不是建设数据仓库建设的真正驱动力。那建设数据仓库的真正驱动力是什么呢?是业务,企业需要发展业务、拓展市场、提高利润、降低成本和加强风险防范能力。如何发展、往那个方向发展、现在的利润成本有多少、明年的预算应该设多高,这需要经过全面、严格的分析后才能产生,分析的依据才是数据。因此数据仓库的建设应该是以解决企业那些业务问题来驱动,解决该业务问题需要经过如何计算,计算需要用到那些数据,然后考虑数据可能从哪里来,它的设计是一种“倒推式”的方法。是Oracle数据仓库技术白皮书Copyright©2005OracleCorporationAllrightsreserved.52Oracle数据仓库解决方案功地实施一个数据仓库项目,通常需要很长的时间。如果仅仅着眼于短期成果,缺乏整体考虑,采用一种不健全的体系结构,不仅会增加系统开发和维护成本,而且必将对发挥数据仓库的作用造成不利的影响。因此一个综合,清晰的远景规划及技术实施蓝图将在整个项目的实施过程中起到重要作用。完整的数据仓库体系架构应具备如下图所示三大类功能:数据获取功能数据获取过程主要完成数据仓库模型建设、数据源的定义、数据抽取、转换清洗及加载工作。ü数据仓库模型建设:数据仓库模型是直接反映数据仓库中业务逻辑视窗,数据仓库模型是根据企业的业务发展计划与策略而制定,数据仓库模型的起源来自业务驱动力(也就是说利用数据仓库解决何种业务问题),因此在模型设计时应由业务人员与模型专家共同完成。设计模型时要考虑总体规划、分步实施,考虑完整性、灵活性的同时也要考虑扩展能力和时效,尽量选择业务问题紧迫、数据源较完备的主题入手。设计数据模型一般采用第三范式、星型模型、雪花状模型不等。ü数据源的定义:数据仓库模型一旦设计完毕,也就是说未来业务需求以及解决上述需求所需的数据已被定义。下一个话题就是查找以及验证数据源的状况。由于以往系统大部分都是根据不同产品和需成Oracle数据仓库技术白皮书Copyright©2005OracleCorporationAllrightsreserved.6求独立设计的,因此不同系统设计的原理、架构、使用平台也不一样,因此这给数据源的统一带来了一定的困难。在确定完数据源后,接着就要考虑数据源的质量问题,如何把不统一、不完整的数据源变成按统一标准存放到数据仓库中就是下一个话题ü数据抽取、转换清洗及加载:数据抽取、转换清洗及加载(简称ETL)可以说是数据仓库最为复杂的过程。这里我们要根据系统特点建立ETL策略,如什么时候进行数据的抽取、抽取完后如何进行汇总和清洗、清洗完什么时候加载,抽取的频率有多高,数据的颗粒度有多高,是否采用workflow技术等。ETL完成还要进行整个过程的监控及跟踪处理。Oracle公司在长期进行数据仓库项目建设过程中已总结及开发成熟的数据获取工具(OracleWarehouseBuilder),帮助用户快速构建数据仓库。数据管理功能在数据存储层,数据是存放在两类数据库中:关系型数据库和多维数据库。存放在数据仓库中的数据包括详细数据、汇总数据、假设数据、计算数据、结果数据及元数据。数据存储是数据仓库系统的中心,取自多个数据源系统的明细数据,以及用于分析的集成汇总数据都存储在这个中心。它在逻辑上是一个完整的库。Oracle10gDB是专门针对数据仓库技术特殊技术要求而设计的。Oracle10gDB的特点是强大的海量数据处理能力,大用户并发处理能力,极强的扩展能力,安全、可靠及容易管理。数据使用功能数据使用包含以下几个过程:分析模型、信息展现工具、使用用户。ü分析模型:我们在考虑分析和解决一个问题时解决问题思路的雏形,我们会结合客户的实际问题和需求进行建设。ü信息展现工具:数据输出层的功能是使最终用户通过报表、图形和其它分析工具的方式简便、快捷地访问数据仓库系统中的各种数据,得到分析结果。Oracle为客户提供多种数据分析方法,包括标准报表、即席查询报表和动态分析报表,预测,假设分析(What-if)和数据挖掘等。标准报表和即席查询报表是基于关系型数据库/多维数据库的报表输出,标准报表是一种格式固定、内容仅依据预定义的条件变化的报表,是在系统开发时根据用户需求定制的,最终用户无法自己修改。即席查询报表的格式和内容可以由最终用户自由选择,即支持即席查询。允许最终用户控制数据的访问方法,定义报表格式和报表中的数据内容。动态分析报表支持客户对数据进行旋转、切片和分层,并从各个角度对数据进行分析和比较。预测主要是根据历史数据推断将来的数据趋势。假设分析允许用户设定一些数据仓库需要管理详细和用于分析的汇总数据。如果可以在一个数据仓库中统一管理这两种数据将大大提高整个系统的可管理性和最终数据的访问一致性。Oracle数据仓库技术白皮书Copyright©2005OracleCorporationAllrightsreserved.7假设条件,观察条件成立的情况下相关指标的变化。数据挖掘是利用多种数学的分析方法建立模型,找出隐含的业务规律。ü使用用户:业务用户可划分为四类(决策人员、管理层人员、分析人员和业务人员)决策人员:决策人员能根据系统分析信息,及时准确做出决策。管理层人员知识工作者(业务分析人员):专门从事业务分析、业务创新和数据挖掘的高级专业人员。业务人员:即业务系统的柜面人员,他们可以简单地访问数据仓库里的数据,并且这些数据在业务系统里是不存在的。为了能使交易人员访问数据仓库,必须要修改柜面系统的界面,柜面业务系统在后台同数据仓库系统进行接口。交易人员只能查询一些预定义的、非常简单的问题,比如某客户去年的交易情况。2.1Oracle数据仓库体系结构公司在数据仓库建设的每一个环节上都提供了相应的技术手段及工具来保障数据仓库的顺利实现。由于Oracle的数据仓库建立在一体化的框架下,产品之间无缝集成,可以大大降低数据仓库项目的成本和风险。下图所示为Oracle公司数据仓库体系结构。如图所示,Oracle数据仓库的体系结构可以分成三个层次:OracleOracle数据仓库技术白皮书Copyright©2005OracleCorporationAllrightsreserved.8数据获取层:OracleWarehouseBuilder(OWB)在同一个软件中实现