数据仓库:面向对象的,集成的,时变的,非易失的数据集合
数据仓库所有的技术:
数据清理,数据集成,联机分析处理(OLAP)
数据仓库是通过(etl extract,transform,load)数据清理,数据变换,数据集成,数据装入和定期刷新来构造的。
围绕主题组织(如顾客,供应商,商品)
数据处理分为两类:
(1)联机事务处理:主要面向传统的关系型数据库,主要是对基本的,日常的事务进行处理。
(2)联机分析处理:支持复杂的分析操纵,侧重于决策支持,并提供直观易懂的查询结果。主要是对数据进行不同维度的聚合,上钻,下卷。
为什么需要分离数据仓库:提高两个系统的性能
操作数据库:为已知的任务和负载设计的,包含主码,索引等,定制化优化
数据仓库:查询复杂,往往需要大量数据的汇总级的计算,可能需要特殊的基于多维视图数据组织、存取方法和存储方法。操作往往只包含访问,不需要并发控制和恢复控制。决策支持需要历史数据。
ROLAP(关系型在线分析处理)、MOLAP(多维在线分析处理)和HOLAP(混合型线上分析处理)。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。
数据立方:多维数据结构,每一维对应的是一个或一组属性,而每个单元存放的是某种聚集度量值。提供多维数据的立体视图,并允许预计算和和快速访问汇总数据。
基本立方体:存放最底层汇总数据
上钻:概念分层向上(city - country),维度规约
下钻:概念分层向下,得到更详细的数据
切片:在一个维度上进行选择,得到子立方体 (time = “q”)
切块:在连个或多个维度上进行选择 (time = “q” and city = “new york”)
转轴:转换数据视角
数据仓库分层:
原始数据层:
明细数据层:数据清洗 (去空值,脱敏,一致性处理)(不完整数据,重复数据,错误数据)
服务数据层:轻度汇总
数据应用层:生成报表
将问题分为多个步骤,每层只干一件事,清晰,方便定位
通过中间数据层,能减少极大的重复计算,增加一次结果的复用。
隔离原始数据
数据集市 vs 数据仓库:
数据集市是微型的数据仓库,通常有更少的数据,更少的主题,是部门级别的
数据仓库是企业级的
数据仓库的输入源和输出源:
输入:用户日志,业务数据,爬虫
输出:报表系统,用户画像,推荐系统
构建企业级数据仓库5步法:
确定主题:
确定量度(统计的指标)
确定事务粒度
确定维度
创建事实表