文档章节

数据仓库的基本架构

 张欢19933
发布于 2016/08/22 00:23
字数 2424
阅读 299
收藏 14

数据仓库的基本架构
数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。其实数据仓库本身并不“生产”任何数据,同时自身也不需要“消费”任何的数据,数据来源于外部,并且开放给外部应用,这也是为什么叫“仓库”,而不叫“工厂”的原因。因此数据仓库的基本架构主要包含的是数据流入流出的过程,可以分为三层——源数据、数据仓库、数据应用:


从图中可以看出数据仓库的数据来源于不同的源数据,并提供多样的数据应用,数据自上而下流入数据仓库后向上层开放应用,而数据仓库只是中间集成化数据管理的一个平台。
数据仓库的数据来源
数据仓库从各数据源获取数据及在数据仓库内的数据转换和流动都可以认为是ETL(抽取Extra, 转化Transfer, 装载Load)的过程,ETL是数据仓库的流水线,也可以认为是数据仓库的血液,它维系着数据仓库中数据的新陈代谢,而数据仓库日常的管理和维护工作的大部分精力就是保持ETL的正常和稳定。
数据仓库的数据存储
数据仓库并不需要储存所有的原始数据,同时数据仓库需要储存部分细节数据。简单地解释下:
a.为什么不需要所有原始数据?数据仓库面向分析处理,但是某些源数据对于分析而言没有价值或者其可能产生的价值远低于储存这些数据所需要的数据仓库的实现和性能上的成本。比如我们知道用户的省份、城市足够,至于用户究竟住哪里可能只是物流商关心的事,或者用户在博客的评论内容可能只是文本挖掘会有需要,但将这些冗长的评论文本存在数据仓库就得不偿失;
b.为什么要存细节数据?细节数据是必需的,数据仓库的分析需求会时刻变化,而有了细节数据就可以做到以不变应万变。如果我们只存储根据某些需求搭建起来的数据模型,那么显然对于频繁变动的需求会手足无措;
c.为什么要面向主题?面向主题是数据仓库的第一特性,主要是指合理地组织数据以方面实现分析。对于源数据而言,其数据组织形式是多样的,像点击流的数据格式是未经优化的,前台数据库的数据是基于OLTP操作组织优化的,这些可能都不适合分析,而整理成面向主题的组织形式才是真正地利于分析的,比如将点击流日志整理成页面(Page)、访问(Visit或Session)、用户(Visitor)三个主题,这样可以明显提升分析的效率。
数据仓库基于维护细节数据的基础上在对数据进行处理,使其真正地能够应用于分析。主要包括三个方面:
1.数据的聚合
这里的聚合数据指的是基于特定需求的简单聚合(基于多维数据的聚合体现在多维数据模型中),简单聚合可以是网站的总Pageviews、Visits、Unique Visitors等汇总数据,也可以是Avg. time on page、Avg. time on site等平均数据,这些数据可以直接地展示于报表上。
2.多维数据模型
多维数据模型提供了多角度多层次的分析应用,比如基于时间维、地域维等构建的销售星形模型、雪花模型,可以实现在各时间维度和地域维度的交叉查询,以及基于时间维和地域维的细分。所以多维数据模型的应用一般都是基于联机分析处理(Online Analytical Process, OLAP)的,而面向特定需求群体的数据集市也会基于多维数据模型进行构建。
3.业务模型
这里的业务模型指的是基于某些数据分析和决策支持而建立起来的数据模型,比如用户评价模型、关联推荐模型、RFM分析模型等,或者是决策支持的线性规划模型、库存模型等;同时,数据挖掘中前期数据的处理也可以在这里完成。

数据仓库的数据应用
报表展示
报表几乎是每个数据仓库的必不可少的一类数据应用,将聚合数据和多维分析数据展示到报表,提供了最为简单和直观的数据。
即时查询
理论上数据仓库的所有数据(包括细节数据、聚合数据、多维数据和分析数据)都应该开放即时查询,即时查询提供了足够灵活的数据获取方式,用户可以根据自己的需要查询获取数据。
数据分析
数据分析大部分基于构建的业务模型展开,当然也可以使用聚合的数据进行趋势分析、比较分析、相关分析等,而多维数据模型提供了多维分析的数据基础;同时从细节数据中获取一些样本数据进行特定的分析也是较为常见的一种途径。
数据挖掘
数据挖掘用一些高级的算法可以让数据展现出各种令人惊讶的结果。数据挖掘可以基于数据仓库中已经构建起来的业务模型展开,但大多数时候数据挖掘会直接从细节数据上入手,而数据仓库为挖掘工具诸如SAS、SPSS等提供数据接口。

数据仓库的开发流程:

第1天到第n天的现象
建立数据仓库不是一蹴而就的。相反,数据仓库只能一次一步地进行设计和载入数据,即它是进化性的,而非革命性的。数据仓库的建立要采用有序地反复和一次一步的方式。下图说明一个建立数据仓库的典型过程。

第1天,通晓本质上进行操作型处理的几个系统。
第2天,对数据仓库中第一个主题领域的最初几个表载入数据,此时就会产生一定的好奇心,用户开始发现数据仓库和分析处理。
第3天,更多的数据载入数据仓库,并且随着数据量增大,将吸引更多的用户。一旦用户发现有较容易载入的集成数据源,并有在时间维上观察数据的历史基础,这就不仅仅是好奇心了。大约此时,认真的DSS分析员渐渐地被吸引到数据仓库中。
第4天,随着更多的数据载入数据仓库,一批存储在操作型环境的数据被适当地放入数据仓库中。现在,我们就“发现”数据仓库是可用来进行分析处理的信息源。各种各样的DSS应用出现了。的确,伴随着现在存入数据仓库的大规模数据,此时开始出现如此多的用户和如此多的处理请求,以致于一些用户进入数据仓库的要求和分析工作被推迟。进入数据仓库的竞争成为使用数据仓库的障碍。
第5天,部门数据库(数据集市,或OLAP )开始兴起,各部门发现通过把数据从数据仓库输入它们自己的部门处理环境,会使它们的处理既便宜又容易。到达部门级的数据吸引着一些D S S分析员。
第6天,部门系统出现繁忙,得到部门数据比获得数据仓库的数据更便宜、更快、更容易。很快最终用户就放弃数据仓库的细节,去进行部门处理。
第n天,这种体系结构得到充分发展。生产系统的原始集合中只剩下操作型处理。数据仓库具有丰富的数据,并有一些数据仓库的直接用户和许多部门数据库。因为在部门级上获得处理所需要的数据既容易又便宜,所以大部分DSS分析处理都在部门级进行。
当然,从第1天到第n天的进化需要很长的时间,通常需要几年。并且在从第1天到第n天的处理过程中,DSS环境在不断地提高和职能化。

元数据管理

元数据(Meta Date),其实应该叫做解释性数据,或者数据字典,即数据的数据。主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态及ETL的任务运行状态。一般会通过元数据资料库(Metadata Repository)来统一地存储和管理元数据,其主要目的是使数据仓库的设计、部署、操作和管理能达成协同和一致。

 

本文转载自:http://webdataanalysis.net/web-data-warehouse/data-warehouse-frame/

粉丝 46
博文 538
码字总数 247200
作品 0
海淀
私信 提问
数仓的一些基本概念、处理流程及基础架构

BI/数据仓库/数据分析 基础入门:一些常见概念解释 什么是数据仓库? 数据仓库的架构 数据仓库多维数据模型的设计 数据仓库的架构以及数据分层 数仓的基本操作 数据仓库模型 数据建模相关 数...

hblt-j
2018/07/06
268
0
对比解读五种主流大数据架构的数据分析能力

数据分析工作虽然隐藏在业务系统背后,但是具有非常重要的作用,数据分析的结果对决策、对业务发展有着举足轻重的作用。 随着大数据技术的发展,数据挖掘、数据探索等专有名词的曝光度越来越...

技术小能手
2018/07/30
0
0
数据仓库知识与实战——电信运营商数仓建模

作者:网舟科技——王超 什么是数据仓库 数据仓库是为企业提供聚合,存储,投递,以及提供决策支持能提,数据仓库包含广泛数据并按照主题进行存储并且是在数据仓库流程过程中的一个部分。Willian...

网舟科技
2018/07/17
0
0
作为 CIO,构建一个商业智能 BI 分析平台应该重点关注什么? - 知乎

商业智能 BI 分析平台构建重点 企业级商业智能 BI 分析平台的构建是一个系统型的工程,涉及业务分析需求的把控、各类数据资源的整合清洗、数据仓库的架构设计、可视化分析报表逻辑设计、IT ...

大数据分析挖掘
昨天
0
0
我所经历的大数据平台发展史(上)——非互联网时代

这个数据平台发展史仅是我自己经历过的由传统数据平台到互联网数据平台发展的一些简单回忆,文章引用了历史项目&平台规划架构,在这里不做更深入描述。 我是从2000年开始接触数据仓库,大约0...

李博源
2016/02/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
13
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
13
0
【Medium 万赞好文】ViewModel 和 LIveData:模式 + 反模式

原文作者: Jose Alcérreca 原文地址: ViewModels and LiveData: Patterns + AntiPatterns 译者:秉心说 View 和 ViewModel 分配责任 理想情况下,ViewModel 应该对 Android 世界一无所知。...

秉心说
昨天
16
0
重学计算机组成原理(十二) - 异常和中断

1 概览 完好的程序都满足以下特征 自动运行 我们的程序和指令都是一条条顺序执行,不需要通过键盘或者网络给这个程序任何输入 正常运行 没有遇到计算溢出之类的程序错误。 不过,现实的软件世...

JavaEdge
昨天
11
0
程序设计基础(C)第06讲例程

1summing.c /* summing.c -- 根据用户键入的整数求和 */#include <stdio.h>int main(void){ long num; long sum = 0L; /* 把sum 初始化为0 */ int status; p......

树人大学数字媒体吴凡
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部