数据仓库技术知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、数据仓库
数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。
数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。
它是单个数据存储,出于分析性报告和决策支持目的而创建。
为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
1、数据仓库是面向主题的;操作型数据库的数据组织面向事务处理任务,而数据仓库中的数据是按照一定的主题域进行组织。
主题是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。
2、数据仓库是集成的,数据仓库的数据有来自于分散的操作型数据,将所需数据从原来的数据中抽取出数据仓库的核心工具来,进行加工与集成,统一与综合之后才能进入数据仓库;
数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到当前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
3、数据仓库是不可更新的,数据仓库主要是为决策分析提供数据,所涉及的操作主要是数据的查询;
4、数据仓库是随时间而变化的,传统的关系数据库系统比较适合处理格式化的数据,能够较好的满足商业商务处理的需求。
稳定的数据以只读格式保存,且不随时间改变。
5、汇总的。
操作性数据映射成决策可用的格式。
6、大容量。
时间序列数据集合通常都非常大。
7、非规范化的。
Dw数据可以是而且经常是冗余的。
8、元数据。
将描述数据的数据保存起来。
9、数据源。
数据来自内部的和外部的非集成操作系统。
二、数据仓库的特点要求
数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它并不是所谓的“大型数据库”。
数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。
为了更好地为前端应用服务,数据仓库往往有如下几点特点:
1. 效率足够高。
数据仓库的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。
由于有的企业
每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。
2、数据质量。
数据仓库所提供的各种信息,肯定要准确的数据,但由于数据仓库流程通常分为多个步骤,包括数据清洗,装载,查询,展现等等,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。
3.扩展性。
之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,未来不用太快花钱去重建数据仓库系统,就能很稳定运行。
主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。
4.面向主题
操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织的。
三、实现方式
数据仓库是一个过程而不是一个项目,数据仓库系统是一个信息提供平台,他从业务处理系统获得数据,主要以星型模型和雪花模型进行数据组织,并为用户提供各种手段从数据中获取信息和知识。
从功能结构划分,数据仓库系统至少应该包含数据获取(Data Acquisition)、数据存储(Data Storage)、数据访问(Data Access)三个关键部分。
企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。
数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。
而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。
因此,从产业界的角度看,数据仓库建设是一个工程,是一个过程。
四、体系结构
1、数据源(ORACLE)
是数据仓库系统的基础,是整个系统的数据源泉。
通常包括企业内部信息和外部信息。
内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。
外部信息包括各类法律法规、市场信息和竞争对手的信息等等;
2、数据的存储与管理(DB2)
是整个数据仓库系统的核心。
数据仓库的真正关键是数据的存储和管理。
数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。
要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。
针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。
数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。
3、OLAP服务器(BIEE)
对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。
其具体实现可以分为:ROLAP(关系型在线分析处理)、MOLAP (多维在线分析处理)和HOLAP(混合型线上分析处理)。
ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。
4、前端工具(BIEE)
主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以数据挖掘及各种基于数据仓库或数据集市的应用开发工具。
其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
五、组成
1、数据抽取工具
把数据从各种各样的存储方式中IBM数据仓库解决方案产品组成拿出来,进行必要的转化、整理,再存放到数据仓库内。
对各种不同数据存储方式的访问能力是数据抽取工具的关键,应能生成COBOL程序、MVS作业控制语言(JCL)、UNIX脚本、和SQL语句等,以访问不同的数据。
数据转换都包括,删除对决策应用没有意义的数据段;转换到统一的数据名称和定义;计算统计和衍生数据;给缺值数据赋给缺省值;把不同的数据定义方式统一。
2、数据库
是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。
相对于操纵型数据库来说其突出的特点是对海量数据的支持和快速的检索技术。
3、元数据
元数据是描述数据仓库内数据的结构和建立方法的数据。
可将其按用途的不同分为两类,技术元数据和商业元数据。
技术元数据是数据仓库的设计和管理人员用于开发和日常管理数据仓库使用的数据。
包括:数据源信息;数据转换的描述;数据仓库内对象和数据结构的定义;数据清理和数据更新时用的规则;源数据到目的数据的映射;用户访问权限,数据备份历史记录,数据导入历史记录,信息发布历史记录等。
商业元数据从商业业务的角度描述了数据仓库中的数据。
包括:业务主题的描述,包含的数据、查询、报表;
元数据为访问数据仓库提供了一个信息目录(informationdirectory),这个目录全面描述了数据仓库中都有什么数据、这些数据怎么得到的、和怎么访问这些数据。
是数据仓库运行和维护的中心,数据仓库服务器利用他来存贮和更新数据,用户通过他来了解和访问数据。
4、数据集市(主题)
为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据(subjectarea)。
在数据仓库的实施过程中往往可以从一个部门的数据
集市着手,以后再用几个数据集市组成一个完整的数据仓库。
需要注意的就是在实施不同的数据集市时,同一含义的字段定义一定要相容,这样在以后实施数据仓库时才不会造成大麻烦。
国外知名的Garnter关于数据集市产品报告中,位于第一象限的敏捷商业智能产品有QlikView, Tableau和SpotView,都是全内存计算的数据集市产品,在大数据方面对传统商业智能产品巨头形成了挑战。
国内BI产品起步较晚,知名的敏捷型商业智能产品有PowerBI, 永洪科技的Z-Suite,SmartBI,FineBI商业智能软件等,其中永洪科技的Z-Data Mart是一款热内存计算的数据集市产品。
国内的德昂信息也是一家数据集市产品的系统集成商。
5、数据模型
有别于一般联机交易处理(OLTP)系统,数据模型设计是一个数据仓库设计的地基,当前两大主流理论分别为采用正规方式(normalized approach)或多维方式(dimensional approach)进行数据模型设计。
数据模型可以分为逻辑与实体数据模型。
逻辑数据模型陈述业务相关数据的关系,基本上是一种与数据库无关的结构设计,通常均会采用正规方式设计,主要精神是从企业业务领域的角度及高度订出subject area model,再逐步向下深入到entities、attributes,在设计时不会考虑未来采用的数据库管理系统,也不需考虑分析性能问题。
而实体数据模型则与数据库管理系统有关,是建置在该系统上的数据架构,故设计时需考虑数据类型(data type)、空间及性能相关的议题。
实体数据模型设计,则较多有采用正规方式或多维方式的讨论,但从实务上来说,不执著于理论,能与业务需要有最好的搭配,才是企业在建置数据仓库时的正确考量。
数据仓库的建制不仅是资讯工具技术面的运用,在规划和执行方面更需对产业知识、行销管理、市场定位、策略规划等相关业务有深入的了解,才能真正发挥数据仓库以及后续分析工具的价值,提升组织竞争力。
六、设计步骤
1)选择合适的主题(所要解决问题的领域)
2)明确定义事实表
3)确定和确认维
4)选择事实表
5)计算并存储fact表中的衍生数据段
6)转换维表
7)数据库数据采集
8)根据需求刷新维表
9)确定查询优先级和查询模式。
硬件平台:数据仓库的硬盘容量通常要是操作数据库硬盘容量的2-3倍。
通常大型机具有更可靠的性能和和稳定性,也容易与历史遗留的系统结合在一起;而PC服务器或UNIX服务器更加灵活,容易操作和提供动态生成查询请求进行查询的能力。
选择硬件平台时要考虑的问题:是否提供并行的I/O吞吐?对多CPU的支持能力如何?
数据仓库DBMS:他的存储大数据量的能力、查询的性能、和对并行处理的支持如何。
网络结构:数据仓库的实施在那部分网络段上会产生大量的数据通信,需不需要对网络结构进行改进。
七、建模划分
数据仓库的数据建模大致分为四个阶段:
1.业务建模,这部分建模工作,主要包含以下几个部分:
•划分整个单位的业务,一般按照业务部门的划分,进行各个部分之间业务工作的界定,理清各业务部门之间的关系。
•深入了解各个业务部门的内具体业务流程并将其程序化。
•提出修改和改进业务部门工作流程的方法并程序化。
•数据建模的范围界定,整个数据仓库项目的目标和阶段划分。
2.领域概念建模,这部分得建模工作,主要包含以下几个部分:
•抽取关键业务概念,并将之抽象化。
•将业务概念分组,按照业务主线聚合类似的分组概念。
•细化分组概念,理清分组概念内的业务流程并抽象化。
•理清分组概念之间的关联,形成完整的领域概念模型。
3.逻辑建模,这部分的建模工作,主要包含以下几个部分:
•业务概念实体化,并考虑其具体的属性
•事件实体化,并考虑其属性内容
•说明实体化,并考虑其属性内容
4.物理建模,这部分得建模工作,主要包含以下几个部分:
•针对特定物理化平台,做出相应的技术调整
•针对模型的性能考虑,对特定平台作出相应的调整
•针对管理的需要,结合特定的平台,做出相应的调整
•生成最后的执行脚本,并完善之。
八、建立步骤
1) 收集和分析业务需求
《需求调研分析报告》
2) 建立数据模型和数据仓库的物理设计
《设计方案》
3)定义数据源
3) 选择数据仓库技术和平台
数据库:IBM的DB2;
ETL工具:IBM datastage
INFORMETICA:做得比较好,老大
Cognos
IBM、Oracle、Sybase、CA、NCR、Informix、Microsoft、和SAS
5)从操作型数据库中抽取、净化、和转换数据到数据仓库
6)选择访问和报表工具
ORACLE BIEE
7)选择数据库连接软件
IBM datastage
8)选择数据分析和数据展示软件
ORACLE BIEE
9)更新数据仓库
九、数据仓库平台技术
九大数据仓库方案特点比较
IBM、Oracle、Sybase、CA、NCR、Informix、Microsoft、和SAS等有实力的公司相继(通过收购或研发
的途径)推出了自己的数据仓库解决方案,BO和Brio等专业软件公司也在前端在线分析处理工具市场
上占有一席之地。
下面针对这些数据仓库解决方案的性能和特点做分析和比较。
1、IBM IBM公司提供了一套基于可视数据仓库的商业智能(BI)解决方案,包括:Visual Warehouse(VW)、Essbase/DB2 OLAP Server 5.0、IBM DB2 UDB,以及来自第三方的前端数据展现工具(如BO)和数据挖掘工具(如SAS)。
其中,VW是一个功能很强的集成环境,既可用于数据仓库建模和元数据管理,又可用于数据抽取、转换、装载和调度。
Essbase/DB2 OLAP Server支持“维”的定义和数据装载。
Essbase/DB2 OLAP Server不是ROLAP(Relational OLAP)服务器,而是一个(ROLAP和MOLAP)混合的HOLAP服务器,在Essbase完成数据装载后,数据存放在系统指定的DB2 UDB数据库中。
严格说来,IBM自己并没有提供完整的数据仓库解决方案,该公司采取的是合作伙伴战
略。
例如,它的前端数据展现工具可以是Business Objects的BO、Lotus的Approach、Cognos的Impromptu或IBM的Query Management Facility;多维分析工具支持Arbor Software的Essbase和IBM(与Arbor联合开发)的DB2 OLAP服务器;统计分析工具采用SAS系统。
Oracle Oracle数据仓库解决方案主要包括Oracle Express和Oracle Discoverer两个部分。
Oracle Express由四个工具组成:Oracle Express Server是一个MOLAP (多维OLAP)服务器,它利用多维模型,存储和管理多维数据库或多维高速缓存,同时也能够访问多种关系数据库;Oracle Express Web Agent通过CGI或Web插件支持基于Web的动态多维数据展现;Oracle Express Objects前端数据分析工具(目前仅支持Windows平台)提供了图形化建模和假设分析功能,支持可视化开发和事件驱动编程技术,提供了兼容 Visual Basic语法的语言,支持OCX和OLE;Oracle Express Analyzer是通用的、面向最终用户的报告和分析工具(目前仅支持Windows平台)。
Oracle Discoverer即席查询工具是专
门为最终用户设计的,分为最终用户版和管理员版。
在Oracle数据仓库解决方案实施过程中,通常把汇总数据存储在Express多维数据库中,而将详细数据存储在Oracle关系数据库中,当需要详细数据时,Express Server通过构造SQL语句访问关系数据库。
但目前的Express还不够灵活,数据仓库设计的一个变化往往导致数据库的重构。
另外,目前的 Oracle 8i和Express 之间集成度还不够高,Oracle 8i和Express之间需要复制元数据,如果Oracle Discoverer(或BO)需要访问汇总数据,则需要将汇总数据同时存放在Oracle和Express中,系统维护比较困难。
值得注意的是,刚刚问世的Oracle 9i把OLAP和数据挖掘作为重要特点。
Sybase Sybase提供的数据仓库解决方案称为Warehouse Studio,包括数据仓库的建模、数据抽取与转换、数据存储与管理、元数据管理以及可视化数据分析等工具。
其中,Warehouse Architect是PowerDesigner中的一个设计模块,它支持星形模型、雪花模型
和ER模型;数据抽取与转换工具包括PowerStage、 Replication Server、Carleton PASSPORT,PowerStage是Sybase提供的可视化数据迁移工具。
Adaptive Server Enterprise是Sybase企业级关系数据库,Adaptive Server IQ是Sybase公司专为数据仓库设计的关系数据库,它为高性能决策支持系统和数据仓库的建立作了优化处理,Sybase IQ支持各种流行的前端展现工具(如Cognos Impromptu、Business Objects、Brio Query等);数据分析与展现工具包括PowerDimensions、EnglishWizard、InfoMaker、PowerDynamo 等,PowerDimensions是图形化的OLAP分析工具,它支持SMP和多维缓存技术,能够集成异构的关系型数据仓库和分布式数据集市,从而形成单一的、新型的多维模式;数据仓库的维护与管理工具包括Warehouse Control Center、Sybase Central、Distribution Director,其中Warehouse Control Center是为数据仓库开发人员提供的元数据管理工具。
Sybase提供了完整的数据仓库解决方案Quick Start DataMart,具有良好的性能,并支持第三方数据展现工具。
从Quick Start DataMart的名称不难看出,它尤其适合于数据集市应用。
另外,Sybase可以提供面向电信、金融、保险、医疗保健这4个行业的客户关系管理(CRM)产品,在这4个产品中,有80%的功能是共性的,有20%的功能需要Sybase 与合作伙伴针对不同需求共同开发。
Informix Informix于1998和1999年相继收购了国际上享有盛誉的数据仓库供应商Red Brick System和数据管理软件供应商Ardent,并提供了完整、集成的数据仓库解决方案。
该解决方案还包括一个“快速启动”咨询服务,能够帮助用户快速完成数据仓库或数据集市的开发。
Informix产品能够集成Microsoft IIS或Netscape Enterprise/FastTrack服务器,从而支持基于Web的数据仓库应用。
Informix没有提供自己的报表和数据挖掘工具,但他们与Brio和SAS公司建立了战略联盟,并推出了“Informix商务智能联盟计划”。
该计划以Informix为主,结合Brio的前端数据分析和报表功能,以及SAS的数据挖掘功能,形成了一个“BI中心”打包方案。
(今年4月Informix Software已被IBM公司收购,此举将给IBM公司数据库及数据仓库产品,从技术和市场占有率上带来极大的提升。
)
CA CA于1999年收购了Platinum Technology公司后,得到了完整的数据仓库解决方案,包括:Erwin数据仓库设计工具、InfoPump数据转换与抽取工具、 InfoBeacon ROLAP服务器、Forest&Trees前端数据展现工具、Provision系统监视与作业调度工具和DecisionBase元数据管理工具等。
与Informix解决方案相似,CA解决方案也提供了数据仓库建模、元数据管理、数据抽取与转换、基于关系数据库的在线分析服务器、系统监视与作业调度、前端数据展现等功能,同时还支持Web应用。
不同之处是Informix提供了专门为数据仓库设计的高性能目标数据库(Red Birck),而CA解决方案则提供ODBC接口,并将数据存储在第三方关系数据库(如Oracle、Sybase、SQL Server、Informix和IBM DB2等)中,其性能要打一些折扣,但开放性要好些。
另外,CA的OLAP服务器目前只能与Microsoft的IIS Web服务器集成。
NCR Teradata NCR Teradata是高端数据仓库市场最有力的竞争者,主要运行在NCR WorldMark SMP硬件的Unix操作系统平台上。
1998年,该公司也提供了基于Windows NT 的Teradata,试图开拓数据集市(Data Mart)市场。
总的来看,NCR的产品性能很好,Teradata数据仓库在100GB、300GB、1TB和3TB级的TPC D指标测试中均创世界纪录。
但是,NCR产品的价格相对较高,中小企业用户难以接受。
Microsoft Microsoft将OLAP功能集成到Microsoft SQL Server 7.0中,提供可扩充的基于COM的OLAP接口。
它通过一系列服务程序支持数据仓库应用。
数据传输服务DTS (Data Transformation Services)提供数据输入/输出和自动调度功能,在数据传输过程中可以完成数据的验证、清洗和转换等操作,通过与Microsoft Repository集成,共享有关的元数据;Microsoft Repository存储包括元数据在内的所有中间数据;SQL Server OLAP Services支持在线分析处理;PivotTable Services提供客户端OLAP数据访问功能,通过这一服务,开发人员可以用VB或其他语言开发用户前端数据展现程序,PivotTable Services还允许在本地客户机上存储数据;MMC(Microsoft Management Console)提供日程安排、存储管理、性能监测、报警和通知的核心管理服务;Microsoft Office 2000套件中的Access和Excel可以作为数据展现工具,另外SQL Server还支持第三方数据展现工具。
SAS SAS公司在20世纪70年代以“统计分析”和“线性数学模型”而享誉业界,90年代以后,SAS公司也加入了数据仓库市场的竞争,并提供了特点鲜明的数据仓库解决方案,包括30多个专用模块。
其中,SAS/WA(Warehouse Administrator)是建立数据仓库的集成管理工具,包括定义主题、数据转换与汇总、更新汇总数据、元数据管理、数据集市的实现等;SAS/MDDB是SAS用于在线分析的多维数据库服务器;SAS/AF提供了屏幕设计功能和用于开发的SCL(屏幕控制语言);SAS /ITSV(IT Service Vision)是IT服务的性能评估和管理的软件,这些IT服务包括计算机系统、网络系统、Web服务器和电话系统等。
SAS系统的优点是功能强、性能高、特长突出,缺点是系统比较复杂。
Business Objects Business Objects(BO)是集查询、报表和OLAP技术为一身的智能决策支持系统。
它使用独特的“语义层”技术和“动态微立方”技术来表示数据库中的多维数据,具有较好的查询和报表功能,提供钻取(Drill)等多维分析技术,支持多种数据库,同时它还支持基于Web浏览器的查询、报表和分析决策。
虽然BO 在不断增加新的功能,但从严格意义上说,BO只能算是一个前端工具。
也许正因为如此,几乎所有的数据仓库解决方案都把BO作为可选的数据展现工具。
虽然国内有很多大学和研究机构从事数据仓库技术的研究,但到目前为止,国内基本上没有成熟的数据仓库解决方案。
九、ETL体系结构图
ETL,是英文Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
ETL是指从源系统中提取数据,转换数据为一个标准的格式,并加载数据到目标数据存储区,通常是数据仓库。
ETL工具的典型代表有:Informatica、Datastage、OWB、微软DTS、Beeload、Kettle、久其ETL……
开源的工具有eclipse的etl插件:cloveretl
数据集成:快速实现ETL
十、建模方法
1. 范式建模法(Third Normal Form,3NF)
范式建模法其实是我们在构建数据模型常用的一个方法,该方法的主要由Inmon 所提倡,主要解决关系型数据库得数据存储,利用的一种技术层面上的方法。
目前,我们在关系型数据库中的建模方法,大部分采用的是三范式建模法。
范式是数据库逻辑模型设计的基本理论,一个关系模型可以从第一范式到第五范式进行无损分解,这个过程也可称为规范化。
在数据仓库的模型设计中目前一般采用第三范式,它有着严格的数学定义。
从其表达的含义来看,一个符合第三范式的关系必须具有以下三个条件:
•每个属性值唯一,不具有多义性;
•每个非主属性必须完全依赖于整个主键,而非主键的一部分;
•每个非主属性不能依赖于其他关系中的属性,因为这样的话,这种属性应该归到其他关系中去。
由于范式是基于整个关系型数据库的理论基础之上发展而来的,因此,本人在这里不多做介绍,有兴趣的读者可以通过阅读相应的材料来获得这方面的知识。
根据Inmon 的观点,数据仓库模型得建设方法和业务系统的企业数据模型类似。
在业务系统中,企业数据模型决定了数据的来源,而企业数据模型也分为两个层次,即主题域模型和逻辑模型。
同样,主题域模型可以看成是业务模型的概念模型,而逻辑模型则是域模型在关系型数据库上的实例。
图5. 范式建模法。