商城网站建设论文,软件开发工具的基本功能,seo研究协会,免费建站推广提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 OLTP与OLAP的介绍OLTP#xff08;on-line transaction processing#xff09;#xff1a;联机事务处理OLAP#xff08;On-Line Analytical Processing#xff… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 OLTP与OLAP的介绍OLTPon-line transaction processing联机事务处理OLAPOn-Line Analytical Processing联机分析处理对比 OLAP 联机分析处理1. 什么是OLAP2.OLAP的核心概念3. OLAP和基本操作1 钻取Drill-down2 上卷Roll-up3 切片Slice4 切块Dice5 旋转Pivot 4.OLAP的分类5. 在OLAP系统中常使用分区技术、并行技术分区技术并行技术分开设计与优化 在这里插入图片描述 6.常见OLAP引擎对比7.OLAP vs BI工具 OLTP与OLAP的介绍
数据处理大致可以分成两大类联机事务处理OLTPon-line transaction processing、联机分析处理OLAPOn-Line Analytical Processing。
通俗来讲的话就是OLTP主要是面向传统的“增删改查”事务系统数据大都是以实体对象模型来存储数据并满足3NF(数据库第三范式)追求高并发场景下的快速响应。而OLAP是面向决策分析场景采用维度建模思想构建模型追求大规模聚合分析查询的性能表现。 OLTPon-line transaction processing联机事务处理
OLTP是传统的关系型数据库的主要应用主要是基本的、日常的事务处理例如银行交易。OLTP 系统强调数据库内存效率强调内存各种指标的命令率强调绑定变量强调并发操作
OLAPOn-Line Analytical Processing联机分析处理
OLAP是数据仓库系统的主要应用支持复杂的分析操作侧重决策支持并且提供直观易懂的查询结果。OLAP 系统则强调数据分析强调SQL执行市场强调磁盘I/O强调分区等。 对比 OLAP 联机分析处理
1. 什么是OLAP
OLAP 是 OnLine Analytical Processing 的缩写即联机分析处理。OLAP 对业务数据执行多维分析并提供复杂计算、趋势分析和复杂数据建模的能力。OLAP 主要用于支持企业决策管理分析是许多商务智能BI应用程序背后的技术。OLAP 使最终用户可以对多个维度的数据进行即席分析从而获取他们所需知识以便更好地制定决策。OLAP 技术已被定义为实现 “ 快速访问共享的多维信息 ” 的能力。
2.OLAP的核心概念 立方体(Cube)由维度构建出来的多维空间包含了所有要分析的基础数据所有的聚合数据操作都在立方体上进行。这里所说的立方其实就是多维模型中间的事实表Fact Table它会引用所有相关维的维主键作为自身的联合主键加上度量Measure和计算度量Calculated Measure就组成了立方的结构。 维度(Dimension) 维度是描述与业务主题相关的一组属性单个属性或属性集合可以构成一个维。如时间、地理位置、年龄和性别等都是维度。维度可以理解为立方体的一个轴。要注意的是有一个特殊的维度即度量值维度。 维的层次Level of Dimension 一个维往往可以具有多个层次例如时间维度分为年、季度、月和日等层次地区维可以是国家、地区、省、市等层次。这里的层次表示数据细化程度对应概念分层。后面介绍的上卷操作就是由低层概念映射到高层概念。概念分层除了可以根据概念的全序和偏序关系确定外还可以通过对数据进行离散化和分组实现。 维的成员(Member of Dimension) 构成维度的基本单位若维是多层次的则不同的层次的取值构成一个维成员。部分维层次同样可以构成维度成员例如“某年某季度”、“某季某月”等都可以是时间维的成员。 度量(Measure) 表示事实在某一个维成员上的取值。度量是用于描述事件的数字尺度例如开发部门汉族男性有39人就表示在部门、民族、性别三个维度上企业人数的事实度量。计算度量是通过度量计算得到的。 事实表(Fact Table) 存放度量值的表同时存放了维表的外键。所有的分析用的数据最终都是来自与事实表。 维表(Dimension table) 一个维度对应一个或者多个维表。一个维度对应一个维表时数据的组织方式就是采用的星型模式对应多个维表时就是采用雪花模式。雪花模式是对星型模式的规范化。简言之维表是对维度的描述。
3. OLAP和基本操作
OLAP的操作是查询也就是数据库的 SELECT 操作为主但是查询可以很复杂比如基于关系数据库的查询可以多表关联可以使用COUNT、SUM、AVG 等聚合函数。OLAP 正是基于多维模型定义了一些常见的面向分析的操作类型是这些操作显得更加直观。
OLAP的多维分析操作包括钻取Drill-down、上卷Roll-up、切片Slice、切块Dice以及旋转Pivot下面还是以数据立方体为例来逐一解释下
1 钻取Drill-down
在维的不同层次间的变化从上层降到下一层或者说是将汇总数据拆分到更细节的数据
比如通过对2010年第二季度的总销售数据进行钻取来查看第二季度4、5、6每个月的消费数据如下图当然也可以钻取北京市来查看朝阳区、海淀区、大兴……这些区的销售数据。 2 上卷Roll-up
钻取的逆操作即从细粒度数据向高层的聚合
如将北京、上海和深圳的销售数据进行汇总来查看京沪深地区的销售数据如下图。
3 切片Slice
选择维中特定的值进行分析比如只选择书籍产品的销售数据。 4 切块Dice
与切片类似只是将单个特定值变成多个特定值比如选择书籍和服装的销售数据。 5 旋转Pivot
即维的位置的互换就像是二维表的行列转换如图中通过旋转实现产品维和地域维的互换。 4.OLAP的分类
按数据存储方式建模类型分类可分为 MOLAP、ROLAP、HOLAP等。 5. 在OLAP系统中常使用分区技术、并行技术
分区技术
在OLAP系统中的重要性主要体现在数据库管理上比如数据库加载可以通过分区交换的方式实现备份可以通过备份分区表空间实现删除数据可以通过分区进行删除至于分区在性能上的影响它可以使得一些大表的扫描变得很快只扫描单个分区。另外如果分区结合并行的话也可以使得整个表的扫描会变得很快。总之分区主要的功能是管理上的方便性它并不能绝对保证查询性能的提高有时候分区会带来性能上的提高有时候会降低。
并行技术
除了与分区技术结合外在Oracle 10g中与RAC结合实现多节点的同时扫描效果也非常不错可把一个任务如select的全表扫描平均地分派到多个RAC的节点上去。 在OLAP系统中不需要使用绑定BIND变量因为整个系统的执行量很小分析时间对于执行时间来说可以忽略而且可避免出现错误的执行计划。但是OLAP中可以大量使用位图索引物化视图对于大的事务尽量寻求速度上的优化没有必要像OLTP要求快速提交甚至要刻意减慢执行的速度。 绑定变量真正的用途是在OLTP系统中这个系统通常有这样的特点用户并发数很大用户的请求十分密集并且这些请求的SQL 大多数是可以重复使用的。 对于OLAP系统来说绝大多数时候数据库上运行着的是报表作业执行基本上是聚合类的SQL 操作比如group by这时候把优化器模式设置为all_rows是恰当的。 而对于一些分页操作比较多的网站类数据库设置为first_rows会更好一些。 但有时候对于OLAP 系统我们又有分页的情况下我们可以考虑在每条SQL 中用hint。 如 Select a.* from table a;
分开设计与优化
在设计上要特别注意如在高可用的OLTP环境中不要盲目地把OLAP的技术拿过来用。 如分区技术假设不是大范围地使用分区关键字而采用其它的字段作为where条件那么如果是本地索引将不得不扫描多个索引而性能变得更为低下。如果是全局索引又失去分区的意义。 并行技术也是如此一般在完成大型任务时才使用如在实际生活中翻译一本书可以先安排多个人每个人翻译不同的章节这样可以提高翻译速度。如果只是翻译一页书也去分配不同的人翻译不同的行再组合起来就没必要了因为在分配工作的时间里一个人或许早就翻译完了。 位图索引也是一样如果用在OLTP环境中很容易造成阻塞与死锁。但是在OLAP环境中可能会因为其特有的特性提高OLAP的查询速度。MV也是基本一样包括触发器等在DML频繁的OLTP系统上很容易成为瓶颈甚至是Library Cache等待而在OLAP环境上则可能会因为使用恰当而提高查询速度。 6.常见OLAP引擎对比 7.OLAP vs BI工具
BI是Business Intelligence的英文缩写中文解释为商务智能是利用数据提高决策质量的技术集合是从大量的数据中钻取信息与知识的过程。
OLAP和BI常常在一起出现OLAP是BI工具的一种底层技术。BI工具通常可以对接OLAP系统但不限于此也可以直接与其他数据库、存储系统对接。在维度建模数据仓库中OLAP/BI工具和数据仓库的关系则是这样