一、OLTP
On-Line Transaction Processing:联机事务处理过程(OLTP)
OLTP是事件驱动、面向应用的,也称为面向交易的处理过程。其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作的快速响应。例如银行类、电子商务类的交易系统就是典型的OLTP系统。其具备以下特点:
-
直接面向应用,数据在系统中产生。
-
基于交易的处理系统。
-
每次交易牵涉的数据量很小;对响应时间要求非常高。
-
用户数量非常庞大,其用户是操作人员,并发度很高。
-
数据库的各种操作主要基于索引进行。
-
以SQL作为交互载体。
-
总体数据量相对较小。
二、OLAP
On-Line Analytical Processing:联机实时分析(OLAP)
OLAP是面向数据分析的,也称为面向信息分析处理过程。它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。其特征是应对海量数据,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。例如数据仓库是其典型的OLAP系统。其具备以下特点:
-
本身不产生数据,其基础数据来源于生产系统中的操作数据
-
基于查询的分析系统;复杂查询经常使用多表联结、全表扫描等,牵涉的数量往往十分庞大
-
每次查询设计的数据量很大,响应时间与具体查询有很大关系
-
用户数量相对较小,其用户主要是业务人员与管理人员
-
由于业务问题不固定,数据库的各种操作不能完全基于索引进行
-
以SQL为主要载体,也支持语言类交互
-
总体数据量相对较大
2.1 一些概念
OLAP数据立方体,是一种用于支持OLAP上卷、下钻、切片、切块操作的多维数据模型。立方体的每个单元,存放一个聚合值。
- 下钻(Drill-down):由粗粒度向细粒度拆分。如通过季度销售数据钻取每个月的销售数据。
- 上卷(Roll-up):下钻的逆操作。
- 切片(Slice):通过将其中一个维度选择单个值,从而创建具有较少维度的新多维数据集合。如只选电子产品销售数据。
- 切块(Dice):相比切片是选中多个维度。如第一季度到第二季度销售数据。
- 旋转(Pivot):维的位置互换,类似行列转换。
OLAP按数据存储格式可分类为:ROLAP、MOLAP、HOLAP
名称 | 描述 | 细节数据存储位置 | 聚合后的数据存储位置 |
---|---|---|---|
ROLAP(Relational OLAP) | 基于关系数据库的OLAP实现 | 关系型数据库 | 关系型数据库 |
MOLAP(Multidimensional OLAP) | 基于多维数据组织的OLAP实现 | 多维数据库 | 数据立方体 |
HOLAP(Hybrid OLAP) | 基于混合数据组织的OLAP实现 | 关系型数据库 | 数据立方体 |
ROLAP更灵活、MOLAP响应性能更好。
2.2 ROLAP
概述:
这种方法依赖于操作存储在关系型数据库中的数据,给传统的OLAP slicing 和 dicing功能。本质上,每个slicing或dicing功能和SQL语句中"WHERE"子句的功能是一样的。
优势:
可以处理大数据量:ROLAP技术的数据量大小就是底层关系数据库存储的大小。换句话说,ROLAP本身没有对数据量的限制。
可以利用关系型数据库所固有的功能:关系型数据库已经具备非常多的功能。ROLAP技术,由于它是建立在关系型数据库上的,因此可以使用这些功能。
劣势:
性能可能会很慢:因为每个ROLAP包裹实际上是一个SQL查询(或多个SQL查询)关系数据库,可能会因为底层数据量很大,使得查询的时间很长。
受限于SQL的功能:因为ROLAP技术主要依赖于生成SQL语句查询关系数据库,SQL语句并不能满足所有的需求(举例来说,使用SQL很难执行复杂的计算),ROLAP技术因此受限于SQL所能做的事情。ROLAP厂商已经通过构建工具以减轻这种风险,而且允许用户自定义函数。
2.3 MOLAP
概述:
这是OLAP分析的传统方式。在MOLAP中,数据存储在一个多维数据集(cube)中,存储并不是在传统的关系型数据库中,而是自定义的格式。
优势:
卓越的性能:MOLAP cubes为了快速数据检索而构建,具有最佳的slicing dicing操作
可以执行复杂的计算:所有的计算都在创建多维数据表时预先生成。因此,复杂的计算不仅可行,而且迅速
劣势:
它可以处理的数据量有限:因为所有的计算都是执行在构建的多维数据集上,多维数据集本身不可能包括大量的数据。当然这并不是大数据不能派生出多维数据集。事实上,这是可以的。但是在这种情况下,只有汇总的信息能够包含在多维数据集中。
需要额外的成本:多维数据集技术往往是有专利或现在并不存在在某个组织中。因此,要想采用MOLAP技术,通常是要付出额外的人力和资源成本。
2.4 HOLAP
概述:
HOLAP技术试图将MOLAP和ROLAP技术的优势结合起来。总体来说,HOLAP利用了多维数据集的技术从而得到更快的性能。
当需要详细信息时,HOLAP可以从多维数据集“穿过”到底层的关系数据库。
三、OLTP与OLAP对比
四、HTAP
HTAP数据库(Hybrid Transaction and Analytical Process,混合事务和分析处理)。2014年Gartner的一份报告中使用混合事务分析处理(HTAP)一词描述新型的应用程序框架,以打破OLTP和OLAP之间的隔阂,既可以应用于事务型数据库场景,亦可以应用于分析型数据库场景。实现实时业务决策。
这种架构具有显而易见的优势:不但避免了繁琐且昂贵的ETL操作,而且可以更快地对最新数据进行分析。这种快速分析数据的能力将成为未来企业的核心竞争力之一。