数据仓库相关概念
本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/data_warehouse_concept.html
以下内容不少来自Wiki和网络,整理了一下相关的概念。
数据仓库:Data Warehouse(DW),一种信息系统的数据存储理论,此理论强调利用某些特殊数据存储方式,让所包含的数据,特别有利于分析处理,以产生有价值的信息并依此作决策。利用数据仓库方式所存放的数据,具有一但存入,便不随时间而更动的特性,同时存入的数据必定包含时间属性,通常一个数据仓库皆会含有大量的历史性数据,并利用特定分析方式,自其中发掘出特定信息。
主要功能乃是将组织通过信息系统之在线交易处理(OLTP)经年累月所累积的大量数据,通过数据仓库理论所特有的数据存储架构,作一有系统的分析整理,以利各种分析方法如在线分析处理(OLAP)、数据挖掘(Data Mining)之进行,并进而支持如决策支持系统(DSS)、主管信息系统(EIS)之建立,帮助决策者能快速有效的自大量数据中,分析出有价值的信息,以利决策拟定及快速回应外在环境变动,帮助建构商业智能(BI)。
一般来说,数据仓库可由关系数据库,或专为数据仓库开发的多维度数据库建立,若由多维度数据库建立而成,其架构可分为星状及雪花状架构,包含数个维度数据表,及一个事实数据表。
数据超市:Data Mart(DM),数据仓库的特殊形式。正如数据仓库,资料超市也包含对操作数据的快照,便于用户基于历史趋势与经验进行战略决策。两者关键的区别在于资料超市的创建是在有具体的、预先定义好了的对被选数据分组并配置的需求基础之上的。配置资料超市强调对相关信息的易连接性。
在线分析处理:On-Line Analytical Processing(OLAP),一套以多维度方式分析资料,而能弹性地提供积存(Roll-up)、下钻(Drill-down)、和枢纽分析(pivot)等操作,呈现整合性决策资讯的方法,多用于决策支持系统、商务智能或数据仓库。其主要的功能,在于方便大规模数据分析及统计计算,对决策提供参考和支持。
数据挖掘:Data mining,它是数据库知识发现(Knowledge-Discovery in Databases,简称:KDD)中的一个步骤。数据挖掘一般是指从大量的数据中自动搜索隐藏于其中的有着特殊关系性(属于Association rule learning)的信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。
决策支持系统:Decision Support Systems(DSS),一种协助人类做决策的资讯系统,协助人类规划与解决各种行动方案,通常以交谈式的方法来解决半结构性(Semi-structured)或非结构性(Non-structured)的问题,帮助人类做出的决策,其强调的是支援而非替代人类进行决策。
操作数据存储:Operational Data Store(ODS),是一种数据架构或数据库设计的概念,出现原因是来自于当需要集成来自多个系统的数据,结果又要给一或多个系统使用时。
集成来自多个系统的数据,应先建立数据模型(data model)。由于ODS并不属于特定的系统,因此其数据模型的设计应为主题导向式(subject-oriented),实现方法与数据仓库无异。为求快速建置以及体现来源系统数据,实务上常见许多企业采取的做法是直接将来源系统的数据以类似复制的方式至来源系统以外的数据库,将它视为来源数据的复本,而没有进行真正的数据集成。
相较于数据仓库,ODS较偏向作业(operational)面的用途,通常数据有较频繁的更新以及较短的历史,但这主要是概念上的差异,实际建置时可以建立在同一平台上,由一份数据从事两种性质的服务。
ETL(Extract-Transform-Load):用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL所描述的过程,一般常见的作法包含ETL或是ELT(Extract-Load-Transform),并且混合使用。通常愈大量的数据、复杂的转换逻辑、目的端为较强计算能力的数据库,愈偏向使用ELT,以便运用目的端数据库的平行处理能力。
商业智能:Business Intelligence(BI),指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。
目前,商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。这里所谈的数据包括来自企业业务系统的订单、库存、交易账目、客户和供应商资料及来自企业所处行业和竞争对手的数据,以及来自企业所处的其他外部环境中的各种数据。而商业智能能够辅助的业务经营决策既可以是作业层的,也可以是管理层和策略层的决策。
为了将数据转化为知识,需要利用数据仓库、线上分析处理(OLAP)工具和数据挖掘等技术。因此,从技术层面上讲,商业智能不是什么新技术,它只是ETL、数据仓库、OLAP、数据挖掘、数据展现等技术的综合运用。
从这些概念看来,一个完整的数据仓库系统,应该从源数据(Source Data)经过Staging或者ODS ETL到Staging Area,然后进行最终ETL存储到数据仓库,然后清除无用数据并归档压缩,再对这些数据进行BI分析,生成报表等呈现形式给最终用户。