数据仓库理论-数据仓库体系结构

/ 数据仓库理论 / 1 条评论 / 198浏览

数据仓库技术体系和开发

数据仓库组成:数据源,数据仓库的数据存储,数据仓库的应用工具,数据仓库的可视化界面。

产生历史

有两个主要因素:

历史分析

首先,将大量的业务数据应用分析和统计是非常简单和自然的想法。但是操作过程有很多问题:

  1. 联机事务处理系统(数据库)关心的是数据更新处理性能和系统的可靠性,不关心数据查询的方便和快捷
  2. 业务数据村雨分散的环境中
  3. 业务数据的模式针对的是事务的处理,可能数据格式和组织情况并不适用于分析和查询

数据仓库定义

简单总结起来一句话是:数据仓库就是面对主题的,集成的,不可更新的,随时间不断变化的数据集合,这些信息可用于查询分析,研究事务发展走势,用以支持经营管理的决策指定。

数据仓库的特征

  1. 包含大量的数据-可以来自企业内部,外部
  2. 数据仓库为最终使用者提供用于存储和分析的数据工具
  3. 数据仓库需要以特定的组织方式进行存储,以便更好的进行查询和分析

总结起来:数据仓库是将原始的数据进行各种处理并转换成综合信息,提供强大的分析工具对这些数据进行全方面的分析以帮助决策和管理者对公司作出符合业务发展规律的决策来。

数据仓库结构

用户角度数据仓库结构

示意图:

1533700053931.jpg

数据源是数据仓库的基础也是根本。来源大体有两种

内部数据 企业内部的信息管理系统,erp系统等。 外部数据 行业数据,调查来的数据,商品数据库数据等等

无论是内部数据还是外部数据,由于数据类型,差异,缺失等因素,数据源的数据不能直接用于复杂的分析处理 ,需要确定分析的主题和分析目标,并据此从数据源中获取数据有效的组织起来,存储于数据仓库中,进行搞笑 的数据分析。也就是ETL过程。

存放在数据仓库中的数据需要借助应用工具来进行分析处理。主要有两个方面 - 联机分析处理(OLAP)用于分析目标明确比较复杂的查询操作 2017年一季度比特币矿机比前几年一季度增长了多少,增长率多少等等。 - 数据挖掘 (DATA Mining)在大量数据中寻找尚未发现的知识 购买矿机的用户有什么特征,区域,人群,等等

数据仓库的技术体系结构

引用一篇文章的体系结构,著名数据仓库专家Ralph Kimball总结了一套规则,主要从三个方面描述数据仓库体系 数据体系结构,系统体系结构,技术体系结构。他描述的图如下:

数据体系结构系统体系结构技术体系结构
商务需求进行商务分析和决策的信息需求对网络环境,软硬件平台的性能要求如何获得信息,查询信息
体系结构模型多维数据模型表达信息。包含哪些事实表,唯独表,直接怎么联系选择怎样的网络环境,软硬平台,数据具体存放在哪里系统能否满足数据计算,数据存储,数据传递的性能要求如何将数据转换成所需要的信息,以正确的内容和恰当的格式存储和输出
实现方法创建数据库,建立表(各类维度),索引。安装平台对原始数据进行抽取清洗转换和存储生成分析报告等数据处理结构提供给用户

一般情况,所谈的仓库的体系结构指的是技术体系结构。大体来说技术体系结构可以分为三个大部分:数据获取,应用服务,数据管理,

示意图如下:

1533721394563.jpg

在整个数据仓库中,数据存储主要涉及5个方面。数据源,数据准备区,主题数据,查询服务数据,元数据

数据集市

数据集市是为了满足某个业务部门决策而创建的。数据集市是按照业务分析领域进行数据组织,一个数据集市一般含有某一特定业务领域的数据。例如:销售数据集市,财务数据集市,人力数据集市。

数据集市一般是以数据仓库的主题数据为基础建立起来的独立的数据集合。

元数据

元数据是数据的数据,是数据仓库的目录,数据仓库的门面。元数据为数据仓库提供了一个信息目录,这个信息目录主要描绘了,都有什么数据,怎么来的,用来干什么,怎么访问。所以数据仓库必须通过元数据进行数据仓库的存储和管理,用户也需要通过元数据进行数据仓库的访问

元数据我理解主要有两个作用:通过元数据对数据仓库进行管理,通过元数据进行数据仓库的使用

管理元数据主要有:数据源信息,数据转换信息,数据仓库对象,数据结构的定义,数据清理和数据更新的规则,元数据到目标数据的映射,用户访问权限,数据备份历史,导入数据仓库的记录。

用户元数据主要有:主题数据的描述,以及对数据查询,报表的描述。

数据仓库粒度和分割

粒度是指数据仓库是指数据仓库中保存数据的细化和程度级别。越详细的数据粒度越小,越是概括的数据粒度越大,一般数据仓库涉及采用双重或者多重粒度进行数据存储。

数据存储的粒度程度同时也会影响着数据查询和存储的效率。

举个例子:商场数据仓库。

商场一季度的电视销售额。高粒度和第粒度都可以查询到结果,但是低粒度不仅可以查询电视的销售,还可以查询到每一个品牌,每天的销售额,但是高密度则不可以。但是查询效率来说,低密度会远不如高密度的。

划分粒度的原则
  1. 数据仓库存储空间。容易理解。
  2. 数据仓库的查询能力。如果为了追求更好,更加详细的查询结果,则需要使用粒度更低的数据存储。
  3. 查询效率。也就是数据仓库的查询性能,低粒度的查询所耗费的服务器资源肯定越多,效率也低一些。

根据实际经验来看。一般数据仓库都会采用双重的粒度模式,即可以提供低粒度模式带来的详细数据的分析,又可以通过高粒度数据来提高概括数据查询。低粒度细节数据和高粒度的总结数据

在举个例子:电信数据仓库。 用户可能查询每月的通话记录,也可能查询每次通话的详细记录。所以需要按照双重粒度进行数据存储,虽然详细数据也可以查询每月的通话记录,但是会给数据仓库带来资源和性能的压力,提前做好高粒度数据存储,会极大的减轻数据查询和分析的压力。而且高粒度数据存储并不会带来存储空间的压力。毕竟数据比较少。反正就是根据具体的情况而定

数据分割

这个概念比较简单,当某个业务数据量比较大的时候,可以进行数据分割,将打的物理或者逻辑存储单元划分较小的数据单元。

好处:

  1. 提高查询效率。例如:按时间粒度进行划分的话,那么当我们查询时间段时,可以较少磁盘扫描。
  2. 可以建立更高效的索引。
  3. 更加容易对数据进行监控和管理,保证数据更加稳定,避免,个别数据损坏,导致全部损坏

一般情况下,时间粒度是必须要有的。也可以有地理等概念。

数据仓库开发流程

数据仓库大概有三个阶段-数据仓库的设计,数据仓库的开发,数据仓库的实施。

开发阶段是最为重要的。需要深入分析业务需求,明确各个集市的主题,明确好事实表和维度表,完善的ETL过程。并最终给用户使用

总线型结构的数据仓库

不太好理解。

引用书中内容。就是采用统一的维和统一的事实表。所谓的统一的维就是指某个维度是可以在各个数据集市共享的。最最常见的就是就是时间维。例如年月日,季度,周,日等等。统一的事实就是指一个事实数据在各个数据集市必须要要一致。计量单位,含义,计算依据等等。

  1. MARK 有空再看

    回复