数据仓库学习笔记一

概念

数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。

数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)一书中所提出的定义被广泛接受——数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。

特点:

1、数据仓库是面向主题的;操作型数据库的数据组织面向事务处理任务,而数据仓库中的数据是按照一定的主题域进行组织。主题是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。

2、数据仓库是集成的,数据仓库的数据有来自于分散的操作型数据,将所需数据从原来的数据中抽取出来,进行加工与集成,统一与综合之后才能进入数据仓库;

数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。

数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。

数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到当前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。

3、数据仓库是不可更新的,数据仓库主要是为决策分析提供数据,所涉及的操作主要是数据的查询;

4、数据仓库是随时间而变化的,传统的关系数据库系统比较适合处理格式化的数据,能够较好的满足商业商务处理的需求。稳定的数据以只读格式保存,且不随时间改变。

5、汇总的。操作性数据映射成决策可用的格式。

6、大容量。时间序列数据集合通常都非常大。

7、非规范化的。Dw数据可以是而且经常是冗余的。

8、元数据。将描述数据的数据保存起来。

9、数据源。数据来自内部的和外部的非集成操作系统。

 

数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它并不是所谓的“大型数据库”。数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库往往有如下几点特点:

1.效率足够高。数据仓库的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。

2.数据质量。数据仓库所提供的各种信息,肯定要准确的数据,但由于数据仓库流程通常分为多个步骤,包括数据清洗,装载,查询,展现等等,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。

3.扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,未来不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。

广义的说,基于数据仓库的决策支持系统由三个部件组成:数据仓库技术,联机分析处理技术和数据挖掘技术,其中数据仓库技术是系统的核心

4.面向主题

操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织的。主题是与传统数据库的面向应用相对应的,是一个抽象概念,是在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的抽象。每一个主题对应一个宏观的分析领域。数据仓库排除对于决策无用的数据,提供特定主题的简明视图。

 

在数据仓库应用中主要使用的技术如下:

并行

计算的硬件环境、操作系统环境、 数据库管理系统和所有相关的数据库操作、查询工具和技术、应用程序等各个领域都可以从并行的最新成就中获益。

分区

分区功能使得支持大型表和索引更容易,同时也提高了数据管理和查询性能。

数据压缩

数据压缩功能降低了数据仓库环境中通常需要的用于存储大量数据的磁盘系统的成本,新的数据压缩技术也已经消除了压缩数据对查询性能造成的负面影响。

一个数据仓库通常是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,它用于对管理决策过程的支持

主题,是指用户使用数据仓库进行决策时所关心的重点方面,如:收入、客户、销售渠道等;所谓面向主题,是指数据仓库内的信息是按主题进行组织的,而不是像业务支撑系统那样是按照业务功能进行组织的。

集成,是指数据仓库中的信息不是从各个业务系统中简单抽取出来的,而是经过一系列加工、整理和汇总的过程,因此数据仓库中的信息是关于整个企业的一致的全局信息。

随时间变化,是指数据仓库内的信息并不只是反映企业当前的状态,而是记录了从过去某一时点到当前各个阶段的信息。

构造设计

数据仓库具有改变业务的威力。它能帮助公司深入了解客户行为,预测销售趋势,确定某一组客户或产品的收益率。尽管如此,数据仓库的实现却是一个长期的、充满风险的过程。由 DM Review 发布的一项网络调查显示, 51% 受访者认为创建数据仓库的头号障碍是缺乏准确的数据。而其中最重要的一点是无法实时更新所有的数据。

有六项指导原则可帮助企业快速实现数据仓库计划并评估其过程:

·简化需求收集和设计。

公司通常会难以确定,哪些数据重要,哪些使得他们无法利用有价值的非结构化信息来驱动关键业务流程。组织应该检查一下 IT 经理是否深入理解业务计划以及支持计划所需的信息。例如源数据在哪里?需要怎样的转换能让其为关键应用程序所用?

·支持业务和 IT 用户协作。

不完整、过时或不准确的数据会导致可信信息的缺乏。要注意公司是否有一个业务术语表供用户查看、用于协作并根据他们集体业务视角进行调整?

·避免代价高昂的低级错误和返工。

明确公司是否拥有一个包含界定完善的数据模型的实施策略,应用程序提供信息?

·识别匹配信息,创建单一视图。

同一事实的多个版本会导致在管理用户、产品和合作伙伴关系方面出现问题——增加违反法规遵从性的风险。

·使用最快的、最具伸缩性的方法进行转换和发布。

明确公司是否有能够利用并行处理并重用之前转换成果的自动化过程?公司系统能否及时按需将数据发布给用户和应用程序?

·通过信息服务扩展信息可访问性。

明确企业是否能真正将信息用作共有财产?IT 专家能否保存好这些财产并让被授权者使用?信息能否在合适的时间发布到合适的地方和合适的场景下?

数据仓库是一个过程而不是一个项目。

数据仓库系统是一个信息提供平台,他从业务处理系统获得数据,主要以星型模型和雪花模型进行数据组织,并为用户提供各种手段从数据中获取信息和知识。

从功能结构划分,数据仓库系统至少应该包含数据获取(Data Acquisition)、数据存储(Data Storage)、数据访问(Data Access)三个关键部分。

企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。因此,从产业界的角度看,数据仓库建设是一个工程,是一个过程。

体系结构

数据源

是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等等;

数据的存储与管理

是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。

OLAP服务器

对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:ROLAP(关系型在线分析处理)、MOLAP(多维在线分析处理)和HOLAP(混合型线上分析处理)。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。

前端工具

主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以数据挖掘及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。

组成

数据抽取工具

把数据从各种各样的存储方式中拿出来,进行必要的转化、整理,再存放到数据仓库内。对各种不同数据存储方式的访问能力是数据抽取工具的关键,应能生成COBOL程序、MVS作业控制语言(JCL)、UNIX脚本、和SQL语句等,以访问不同的数据。数据转换都包括,删除对决策应用没有意义的数据段;转换到统一的数据名称和定义;计算统计和衍生数据;给缺值数据赋给缺省值;把不同的数据定义方式统一。 ----->dataX,sqoop??

数据库

是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。相对于操纵型数据库来说其突出的特点是对海量数据的支持和快速的检索技术。      ---------->hbase

元数据

元数据是描述数据仓库内数据的结构和建立方法的数据。可将其按用途的不同分为两类,技术元数据和商业元数据。

技术元数据是数据仓库的设计和管理人员用于开发和日常管理数据仓库使用的数据。包括:数据源信息;数据转换的描述;数据仓库内对象和数据结构的定义;数据清理和数据更新时用的规则;源数据到目的数据的映射;用户访问权限,数据备份历史记录,数据导入历史记录,信息发布历史记录等。

商业元数据从商业业务的角度描述了数据仓库中的数据。包括:业务主题的描述,包含的数据、查询、报表;

元数据为访问数据仓库提供了一个信息目录(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)计算并存储fact表中的衍生数据段

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)数据转换工具要能从各种不同的数据源中读取数据。

2)支持平面文件、索引文件、和legacyDBMS。

3)能以不同类型数据源为输入整合数据。

4)具有规范的数据访问接口

5)最好具有从数据字典中读取数据的能力

6)工具生成的代码必须是在开发环境中可维护的

7)能只抽取满足指定条件的数据,和源数据的指定部分

8)能在抽取中进行数据类型转换和字符集转换

9)能在抽取的过程中计算生成衍生字段

10)能让数据仓库管理系统自动调用以定期进行数据抽取工作,或能将结果生成平面文件

11)必须对软件供应商的生命力和产品支持能力进行仔细评估

主要数据抽取工具供应商:Prismsolutions.Carleton'sPASSPORT.InformationBuildersInc.'s

EDA/SQL.SASInstituteInc.

关键问题

一般问题 (不完全是技术或文化,但很重要) 包括但不限于以下几点:

业务用户想要执行什么样的分析?

你现在收集的数据需要支持那些分析吗?

数据在哪儿?

数据的清洁度如何?

相似的数据有多个数据源吗?

什么样的结构最适合核心数据仓库 (例如维度或关系型)?

技术问题包括但不限于以下几点:

在你的网络中要流通多少数据?它能处理吗?

需要多少硬盘空间?

硬盘存储需要多快?

你会使用固态还是虚拟化的存储?

 

 

 

 

你可能感兴趣的:(数据仓库,数据仓库)