数据库和数据仓库各自的应用场景
两种数据处理模式
- 操作型数据处理(OLTP),是指对数据库联机的日常操作,主要完成数据的收集、整理、存储以及增删查改等操作,主要由一般工作人员和基层管理人员完成。
-
分析型数据处理(OLAP),是指对数据的再加工,通常是对海量的历史数据查询和分析,从中获取信息,主要由分析人员和中高级管理人员完成。
** 总结:数据库和数据仓库分工不同,数据库存放操作型数据,用于操作型数据处理,关注的事务处理的效率;数据仓库存放分析型数据,用于分析型数据处理,关注的是分析和查询的效率;两者功能不同、用途不同,因此结构也会不同。**
数据仓库的定义
简单地说,数据仓库就是一种面向决策主题的,从多个数据源集成数据的,拥有当前数据、细节级和综合级的历史数据的,以查询和分析为主的数据库系统,目的是支持企业决策。
数据仓库的组成要素
- 数据源:数据源就是提供初始数据的地方,是数据仓库系统的基础。通常包括企业内部数据和外部数据。内部数据包括各种操作型数据库中的数据以及文档数据,外部数据包括各类法律法规、市场信息、竞争对手信息以及各种统计数据和文档(包括各种爬虫数据)。
- 集成工具:即ETL工具。ETL是Extract-Transform-Load的缩写,包括数据抽取(Extracting)、数据清洗(Cleaning)、数据转换(Transforming)、数据加载(Loading)等工作。具体地说
- 数据抽取就是从不同数据源中选择数据仓库所需要的数据。这些数据可能具有的特点是:来自不同平台、不同结构、不同类型等。
- 数据清洗:由于数据来自于不同的数据源,因此数据质量难以保证,比如存在数据不一致性、量纲不同、值缺失等情况,就需要对抽取到的数据进行清洗。
- 数据转换:就是将面向应用的数据转换成面向主题的数据。
- 数据加载:就是将数据装入到数据仓库中。
- 数据仓库服务器:数据仓库服务器负责管理数据仓库中的数据,为整个企业的数据分析提供一个完整的、统一的视图。
- OLAP服务器:使用OLAP服务器对分析需要的数据按照多维数据模型进行再次重组,以支持用户多角度、多层级的数据分析。
- 数据集市:数据集市是一个小型的数据仓库,通常具有较少的主题域,是部门级的数据仓库,面向部门级的应用。
- 前台分析工具:包括各种数据分析工具,如报表工具、OLAP分析工具、数据挖掘工具。各种分析工具既可以从数据仓库中获取数据,还可以从数据集市中获取数据。
- 元数据:元数据就是整个数据仓库的所有描述性信息,即关于数据的数据。ETL负责建立元数据。
关于OLAP的介绍可以参考Focus@Data的博客内容。(关键词:多维数据模型,事实表,维度表事实表通过维度表主码值与维度表连接)
常用的多维数据模型
- 星型模型
- 雪花模型
- 事实群模型
常用的多维分析操作
- 多维分析基础——聚集函数:聚集就是对细节数据进行综合的过程。
最常用的五种聚集函数:求和(sum)、计数(count)、最大值(max)、最小值(min)、平均值(average),还有求中间值(median)、排序(rank)。 - 切片(slice):就是在数据方体的某一维上选定一个维成员的动作,即限定多维数组某一个维度只取一个特定的值。比如地区维,选定“北京”这一个维成员,这样就得到一个切片。
- 切块(dice):就是在数据方体的某一维上选定某个区间的全部维成员的动作,即限定多维数组某一个维度只取一定区间的值。
比如地区维,选定“北京”、“上海”、“杭州”,这样就得到一个切块。当这一个区间只有一个维成员时,就得到一个切片。因此切块可以由多个切片操作叠合而成。
(4)旋转(rotate):改变数据方体维的次序的动作称为旋转。旋转操作对数据不做任何改变,只是改变立方体摆放的视角。 - (5)下钻(drill down):下钻操作就是在某个分析的过程中,用户可能需要从更多的维或者某个维的更细层次上观察数据,这时候就需要通过下钻操作来实现。比如将日期维从季度层次下钻到月份层次。下钻前用户只能看到季度数据,而下钻后就可以看到月份数据。下钻操作主要有两种类型:一是在现有的维下钻取更细节一层的数据。比如日期维上的季度数据下钻到月份数据。二是增加更多的维,比如现在只分析了三个维度的数据,但是问题仍然无法解决,这时候就需要更多维的数据。