1什么事数据仓库:
数据仓库是作为DSS服务基础的分析性DB,用来存放大容量的只读数据,为制定决策提供所需的信息。
数据仓库是与操作型系统相分离的、基于标准企业模型集成的,带有时间属性的,即与企业定义的时间区段相关、面向主题及不可更新的数据集合。
数据仓库的定义就是数据仓库是一个更好的支持企业或者组织的决策分析,处理的、面向主题的、集成的、不可更新的、随时间不断变化的数据集合。
2 数据仓库的四个特征
数据仓库的数据是面向主题的
数据仓库的数据是集成的
数据仓库的数据是不可更新的
数据仓库的数据是随时间不断变化的
3 OLTP和OLAP
联机事务处理OLTP(on-line transaction processing)主要是执行基本日常的事务处理,比如数据库记录的增删查改。
比如在银行的一笔交易记录,就是一个典型的事务。
OLTP的特点一般有:
1.实时性要求高。
我记得之前上大学的时候,银行异地汇款,要隔天才能到账,而现在是分分钟到账的节奏,说明现在银行的实时处理能力大大增强。
2.数据量不是很大,生产库上的数据量一般不会太大,而且会及时做相应的数据处理与转移。
3.交易一般是确定的,比如银行存取款的金额肯定是确定的,所以OLTP是对确定性的数据
进行存取
4.高并发,并且要求满足ACID原则。
比如两人同时操作一个银行卡账户,比如大型的购物网站秒杀活动时上万的QPS请求。
联机分析处理OLAP(On-Line Analytical Processing)是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
典型的应用就是复杂的动态的报表系统。
OLAP的特点一般有:
1.实时性要求不是很高,比如最常见的应用就是天级更新数据,然后出对应的数据报表。
2.数据量大,因为OLAP支持的是动态查询,所以用户也许要通过将很多数据的统计后才能得到想要知道的信息,例如时间序列分析等等,所以处理的数据量很大;
3.OLAP系统的重点是通过数据提供决策支持,所以查询一般都是动态,自定义的。
所以在OLAP中,维度的概念特别重要。
一般会将用户所有关心的维度数据,存入对应数据平台。
4操作型数据和分析型数据的区别
5 粒度与数据分割
粒度分为两种形式:
1)对数据仓库中的数据的综合成都高低的一个度量
粒度越小,细节成都越高,综合成都越低。
粒度大小影响数据仓库效率,能回答询问的种类
数据仓库是多粒度的,不同粒度回答不同的查询
2)样本数据库
根据采样率的高低来划分粒度:以一定采样率从细节数据或轻度综合数据中抽取一个子集
用处:代替元数据进行模拟分析
抽样方法:随机抽取
优点:高效率、元数据量很大的情况下,抽样数据可以大大下降,分析结果误差极小、有助于抓住主要因素可主要矛盾。
分割
分割:将数据分散到各自的物理单元中去以便能分别独立处理数据
分片:数据分割后的数据单元
分割的目的:提高效率
分割标准:根据实际情况确定
1)易于重构、索引、重组、恢复、监控和顺序扫描
2)按日期、地域或业务领域
3)按多个分割标准的组合
6 数据仓库体系架构
数据仓库系统由如下几部分组成:
数据仓库的后台工具
数据仓库服务器
OLAP服务器
前台工具
后台工具:包括数据抽取、清洗、转换、装载和维护工具
功能:负责报企业或组织中各部门的操作型数据进行转换,装载到数据仓库系统中,同时维护数据仓库和操作型数据源数据的一致性。
数据仓库服务器一般是关系DBMS或扩展DBMS
OLAP服务器透明地为用户提供多维数据,用户不必关心数据到底存储在什么地方。
但物理上必须考虑数据存储问题。
7 数据仓库提高性能的方法八个方面
1)合并表
2)建立数据序列
3)引入冗余
4)表的物理分割
5)生成导出数据
6)建立广义索引
7)粒度划分
8)数据分割
8 数据仓库数据追加的四种方法
数据追加:数据仓库的数据初装完成后,再向数据仓库输入数据的过程
1)时标方法:如果数据含有时标,对新插入或更新的数据记录,加更新是的时标问题:许多数据库中的数据并不含有时标
2)DELTA文件方法
由应用生成DELTA文件,记录应用所改变的所有内容
优点:避免了扫描整个数据库,效率比较高
问题:生成DELTA文件的应用不普遍、更改应用代码,应用在生成新数据时可自动将其记录下来、应用成千上万,且修改代码十分繁琐,很难实现
3)前后映像文件的方法
抽取数据到数据库之后,本次将抽取数据之前,对数据分别做一次快照,比较两幅快照的不同,确定追加的数据。
问题:占用大量资源,影响系统性能
4)日志文件
优点:利用DB的固有机制,数据只限于日志文件,不用扫描整个数据库
缺点:原来的日志文件格式是依据DB系统的要求设计的,要进行改进。
9 三种不同类型的聚集函数
1)5个标准聚集函数:
Sum, Count , Max, Min, Ave
2)在group by的基础上还可以使用“Having” clause
3)可以在维层次上做聚集
Average by region (with store)
Maximum by month (with date)
10 五种常用OLPA的分析操作
1)上卷(Roll-up)
上卷标识沿着某一维度按照一定的规则对数据进行聚合操作,沿着某一维度,按照层级关系从子类维度想父类维度做聚合。
2)下钻(Drill-down)
下钻和上卷相反,允许用户从已聚合的数据中提取所有的细节,
3)切片(slice)
切片表示通过选择某个维度的单一值,从OLAP cube中抽取一个分片的过程。
4)切块(Dice)
切块表示通过选择多个维度的某些值(或区间)
5)旋转(pivot)旋转操作允许用户通过旋转OLAP cube,重新选择目标分析维度,通常表现为交换坐标轴操作。
11 ods处理的两种功能
ODS(operational Data Store)操作型数据存储,是面向主题、集成的、当前或接近当前的不断变化的数据。
通过统一规划,规范框架和数据,ODS可以实现操作型数据整合和各个系统之间的数据交换,能够提供实时的操作类型表,减轻数据仓库的负担,建设ODS还
可以为后期数据仓库建设做好准备。
ODS进行企业级的全局应用划分为两类
1)进行企业级的联机事务处理
企业级OLTP一个事务车技多个部门的数据,ODS的建立克服了原来面向应用的数据库组织过于分散的缺点。
ODS与DB之间双向映射关系:ODS从DB中抽取数据的关系,各DB记录系统上所做的认可修改操作都需要反映在ODS记录中
ODS系统中的参考表:ODS全局更新时必须反应到所有DB中相关记录的信息
维护ODS与DB的一致性:应用程序完成,采用数据库复制服务器
2)即时OLAP数据处理
企业的一些非战略性的中层决策:对企业的日常管理和控制;参考可存取当前的和接近的数据;较快的响应速度
信息(分析)型处理模式:只有查询操作的工作模式(非排它型的);即时OLPA 操作型处理模式:有更新操作的工作模式(排它型)
动态切换思想:
状态切换开关ODS系统在操作型环境和分析型环境进行动态切换。