一 概念
数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
二 特点
1、数据仓库是面向主题的:操作型数据库的数据组织面向事务处理任务,而数据仓库中的数据是按照一定的主题域进行组织。主题是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。
2、数据仓库是集成的:数据仓库的数据有来自于分散的操作型数据,将所需数据从原来的数据中抽取出来,进行加工与集成,统一与综合之后才能进入数据仓库;
数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到当前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
3、数据仓库是不可更新的:数据仓库主要是为决策分析提供数据,所涉及的操作主要是数据的查询;
4、数据仓库是随时间而变化的:传统的关系数据库系统比较适合处理格式化的数据,能够较好的满足商业商务处理的需求。稳定的数据以只读格式保存,且不随时间改变。
5、汇总的:操作性数据映射成决策可用的格式。
6、大容量:时间序列数据集合通常都非常大。
7、非规范化的:Dw数据可以是而且经常是冗余的。
8、元数据:将描述数据的数据保存起来。
9、数据源:数据来自内部的和外部的非集成操作系统。
三 实现方式
数据仓库是一个过程而不是一个项目。
数据仓库系统是一个信息提供平台,他从业务处理系统获得数据,主要以星型模型和雪花模型进行数据组织,并为用户提供各种手段从数据中获取信息和知识。
从功能结构划分,数据仓库系统至少应该包含数据获取(Data Acquisition)、数据存储(Data Storage)、数据访问(Data Access)三个关键部分。
企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。因此,从产业界的角度看,数据仓库建设是一个工程,是一个过程。
四 体系结构
数据源
是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等等;
数据的存储与管理
是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。
OLAP服务器
对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:ROLAP(关系型在线分析处理)、MOLAP(多维在线分析处理)和HOLAP(混合型线上分析处理)。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。
前端工具
主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以数据挖掘及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
五 组成
数据抽取工具
把数据从各种各样的存储方式中拿出来,进行必要的转化、整理,再存放到数据仓库内。对各种不同数据存储方式的访问能力是数据抽取工具的关键,应能生成COBOL程序、MVS作业控制语言(JCL)、UNIX脚本、和SQL语句等,以访问不同的数据。数据转换都包括,删除对决策应用没有意义的数据段;转换到统一的数据名称和定义;计算统计和衍生数据;给缺值数据赋给缺省值;把不同的数据定义方式统一。
数据库
是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。相对于操纵型数据库来说其突出的特点是对海量数据的支持和快速的检索技术。
元数据
元数据是描述数据仓库内数据的结构和建立方法的数据。可将其按用途的不同分为两类,技术元数据和商业元数据。
技术元数据是数据仓库的设计和管理人员用于开发和日常管理数据仓库使用的数据。包括:数据源信息;数据转换的描述;数据仓库内对象和数据结构的定义;数据清理和数据更新时用的规则;源数据到目的数据的映射;用户访问权限,数据备份历史记录,数据导入历史记录,信息发布历史记录等。
商业元数据从商业业务的角度描述了数据仓库中的数据。包括:业务主题的描述,包含的数据、查询、报表;
元数据为访问数据仓库提供了一个信息目录(informationdirectory),这个目录全面描述了数据仓库中都有什么数据、这些数据怎么得到的、和怎么访问这些数据。是数据仓库运行和维护的中心,数据仓库服务器利用他来存贮和更新数据,用户通过他来了解和访问数据。
数据集市
为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据(subjectarea)。在数据仓库的实施过程中往往可以从一个部门的数据集市着手,以后再用几个数据集市组成一个完整的数据仓库。需要注意的就是在实施不同的数据集市时,同一含义的字段定义一定要相容,这样在以后实施数据仓库时才不会造成大麻烦。
国外知名的Garnter关于数据集市产品报告中,位于第一象限的敏捷商业智能产品有QlikView, Tableau和SpotView,都是全内存计算的数据集市产品,在大数据方面对传统商业智能产品巨头形成了挑战。国内BI产品起步较晚,知名的敏捷型商业智能产品有PowerBI, 永洪科技的Z-Suite,SmartBI,FineBI商业智能软件等,其中永洪科技的Z-Data Mart是一款热内存计算的数据集市产品。国内的德昂信息也是一家数据集市产品的系统集成商。
数据仓库管理
安全和特权管理;跟踪数据的更新;数据质量检查;管理和更新元数据;审计和报告数据仓库的使用和状态;删除数据;复制、分割和分发数据;备份和恢复;存储管理。
信息发布系统
把数据仓库中的数据或其他相关的数据发送给不同的地点或用户。基于Web的信息发布系统是对付多用户访问的最有效方法。
访问工具
为用户访问数据仓库提供手段。有数据查询和报表工具;应用开发工具;管理信息系统(EIS)工具;在线分析(OLAP)工具;数据挖掘工具。
数据模型
有别于一般联机交易处理(OLTP)系统,数据模型设计是一个数据仓库设计的地基,当前两大主流理论分别为采用正规方式(normalized approach)或多维方式(dimensional approach)进行数据模型设计。 数据模型可以分为逻辑与实体数据模型。逻辑数据模型陈述业务相关数据的关系,基本上是一种与数据库无关的结构设计,通常均会采用正规方式设计,主要精神是从企业业务领域的角度及高度订出subject area model,再逐步向下深入到entities、attributes,在设计时不会考虑未来采用的数据库管理系统,也不需考虑分析性能问题。而实体数据模型则与数据库管理系统有关,是建置在该系统上的数据架构,故设计时需考虑数据类型(data type)、空间及性能相关的议题。 实体数据模型设计,则较多有采用正规方式或多维方式的讨论,但从实务上来说,不执著于理论,能与业务需要有最好的搭配,才是企业在建置数据仓库时的正确考量。
数据仓库的建制不仅是资讯工具技术面的运用,在规划和执行方面更需对产业知识、行销管理、市场定位、策略规划等相关业务有深入的了解,才能真正发挥数据仓库以及后续分析工具的价值,提升组织竞争力。
六 设计步骤
1)选择合适的主题(所要解决问题的领域)
2)明确定义事实表
3)确定和确认维
4)选择事实表
5)计算并存储事实表中的衍生数据段
6)转换维表
7)数据库数据采集
8)根据需求刷新维表
9)确定查询优先级和查询模式。
硬件平台:数据仓库的硬盘容量通常要是操作数据库硬盘容量的2-3倍。通常大型机具有更可靠的性能和和稳定性,也容易与历史遗留的系统结合在一起;而PC服务器或UNIX服务器更加灵活,容易操作和提供动态生成查询请求进行查询的能力。选择硬件平台时要考虑的问题:是否提供并行的I/O吞吐?对多CPU的支持能力如何?
数据仓库DBMS:他的存储大数据量的能力、查询的性能、和对并行处理的支持如何。
网络结构:数据仓库的实施在那部分网络段上会产生大量的数据通信,需不需要对网络结构进行改进
七 建模划分
数据仓库的数据建模大致分为四个阶段:
1.业务建模,这部分建模工作,主要包含以下几个部分:
划分整个单位的业务,一般按照业务部门的划分,进行各个部分之间业务工作的界定,理清各业务部门之间的关系。
深入了解各个业务部门的内具体业务流程并将其程序化。
提出修改和改进业务部门工作流程的方法并程序化。
数据建模的范围界定,整个数据仓库项目的目标和阶段划分。
2.领域概念建模,这部分得建模工作,主要包含以下几个部分:
抽取关键业务概念,并将之抽象化。
将业务概念分组,按照业务主线聚合类似的分组概念。
细化分组概念,理清分组概念内的业务流程并抽象化。
理清分组概念之间的关联,形成完整的领域概念模型。
3.逻辑建模,这部分的建模工作,主要包含以下几个部分:
业务概念实体化,并考虑其具体的属性
事件实体化,并考虑其属性内容
说明实体化,并考虑其属性内容
4.物理建模,这部分得建模工作,主要包含以下几个部分:
针对特定物理化平台,做出相应的技术调整
针对模型的性能考虑,对特定平台作出相应的调整
针对管理的需要,结合特定的平台,做出相应的调整
生成最后的执行脚本,并完善之。
八 建立步骤
步骤
1)收集和分析业务需求
2)建立数据模型和数据仓库的物理设计
3)定义数据源
4)选择数据仓库技术和平台
5)从操作型数据库中抽取、净化、和转换数据到数据仓库
6)选择访问和报表工具
7)选择数据库连接软件
8)选择数据分析和数据展示软件
9)更新数据仓库
数据转换工具
1)数据转换工具要能从各种不同的数据源中读取数据。
3)能以不同类型数据源为输入整合数据。
4)具有规范的数据访问接口
5)最好具有从数据字典中读取数据的能力
6)工具生成的代码必须是在开发环境中可维护的
7)能只抽取满足指定条件的数据,和源数据的指定部分
8)能在抽取中进行数据类型转换和字符集转换
9)能在抽取的过程中计算生成衍生字段
10)能让数据仓库管理系统自动调用以定期进行数据抽取工作,或能将结果生成平面文件
11)必须对软件供应商的生命力和产品支持能力进行仔细评估
主要数据抽取工具供应商:Prismsolutions.Carleton'sPASSPORT.InformationBuildersInc.'s
EDA/SQL.SASInstituteInc.
关键问题
一般问题 (不完全是技术或文化,但很重要) 包括但不限于以下几点:
业务用户想要执行什么样的分析?
你现在收集的数据需要支持那些分析吗?
数据在哪儿?
数据的清洁度如何?
相似的数据有多个数据源吗?
什么样的结构最适合核心数据仓库 (例如维度或关系型)?
技术问题包括但不限于以下几点:
在你的网络中要流通多少数据?它能处理吗?
需要多少硬盘空间?
硬盘存储需要多快?
你会使用固态还是虚拟化的存储?
九 效益
每一家公司都有自己的数据。并且,许多公司在计算机系统中储存有大量的数据,记录着企业购买、销售、生产过程中的大量信息和客户的信息。通常这些数据都储存在许多不同的地方。
使用数据仓库之后,企业将所有收集来的信息存放在一个唯一的地方——数据仓库。仓库中的数据按照一定的方式组织,从而使得信息容易存取并且有使用价值。
已经开发出一些专门的软件工具,使数据仓库的过程实现可以半自动化,帮助企业将数据导入数据仓库,并使用那些已经存入仓库的数据。
数据仓库给组织带来了巨大的变化。数据仓库的建立给企业带来了一些新的工作流程,其他的流程也因此而改变。
数据仓库为企业带来了一些“以数据为基础的知识”,它们主要应用于对市场战略的评价,和为企业发现新的市场商机,同时,也用来控制库存、检查生产方法和定义客户群。
通过数据仓库,可以建立企业的数据模型,这对于企业的生产与销售、成本控制与收支分配有着重要的意义,极大的节约了企业的成本,提高了经济效益,同时,用数据仓库可以分析企业人力资源与基础数据之间的关系,可以用于返回分析,保障人力资源的最大化利用,亦可以进行人力资源绩效评估,使得企业管理更加科学合理。数据仓库将企业的数据按照特定的方式组织,从而产生新的商业知识,并为企业的运作带来新的视角。
十 数据仓库与数据库的之间的联系与区别
二者的联系:
数据仓库的出现,并不是要取代数据库。大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。
二者的区别:
1、出发点不同:数据库是面向事务的设计;数据仓库是面向主题设计的。
2、存储的数据不同:数据库一般存储在线交易数据;数据仓库存储的一般是历史数据。
3、设计规则不同:数据库设计是尽量避免冗余,一般采用符合范式的规则来设计;数据仓库在设计是有意引入冗余,采用反范式的方式来设计。
4、提供的功能不同:数据库是为捕获数据而设计,数据仓库是为分析数据而设计,
5、基本元素不同:数据库的基本元素是事实表,数据仓库的基本元素是维度表。
6、容量不同:数据库在基本容量上要比数据仓库小的多。
7、服务对象不同:数据库是为了高效的事务处理而设计的,服务对象为企业业务处理方面的工作人员;数据仓库是为了分析数据进行决策而设计的,服务对象为企业高层决策人员。
来源:oschina
链接:https://my.oschina.net/u/4414584/blog/3470461