您的位置:首页 > 编程语言 > PHP开发

OLTP与OLAP的比较

2017-05-21 00:00 405 查看
摘要: mysql数据库应用类型之OLTP、OLAP

对于开发人员来说,必须先了解运行SQL编程的对象类型,纪要开发数据库应用是那种类型。一般情况来说,数据库应用类型可分为两个OLTP(联机事务处理)、OLAP(联机分析处理)两种,下面我们将会详细描述这两个应用类型的使用场景及比较。

OLTP(联机事务处理)

OLTP也被称为面向交易处理系统,基本特征是可以将顾客的的原始数据传送到计算机中心进行处理,并在很短的时间内给出处理结果,因此又被称为实时系统。OLTP通常具有以下特征:

值吃大量并发用户顶起添加和修改数据

反应随时变化的单位状态,但不保存其历史记录

包含大量数据,其中保留用于验证事务的大量数据

具有复杂的机构

可以进行优化以对事务活动做出响应

提供用于支持单位日常运营的技术基础结构

个人事务能够很快的完成,并且只需要访问相对较少的数据。

OLAP(联机分析处理)

OLAP的主要特点是直接仿照用户的多角度思考模式。预先为用户组件多维的数据模型,维指的是用户的分析角度,例如对销售数据的分析,时间周期是一个维度,产品类别,分销渠道,客户人群等也分别是不同的维度。一旦多维度模型建立完成我们也能动态的在各个维度之间进行切换数据或进行多维度综合分析。下面来看下OLAP的基本概念:

维:是指用户观察数据的特定角度,是问题的一类属性。属性集和构成一个维

维的层次:用户观察数据的某个特定角度还可能存在细节成都不同的各个描述方面(如时间维又分为日期、月份、季度、年)。

维的成员:即维的一个取值,是数据项在某个维中的位置的描述(如某年某月某日是在时间维上的位置描述)。

度量:多维数组的取值

在OLAP的基本多维分析操作有钻取、切片、和切块以及旋转等。

钻取:改变维的层次,变换分析的粒度。它又包含向下钻取和向上钻取。

向上钻取是在某一个维上将低层次的细节数据概括到最高增次的霍总数据或者减少维数

向下钻取则相反,从汇总数据深入到细节数据进行观察或是增加新维

切片和切块:在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维有两个则是切面,如果有三个或以上则为块

旋转:变换维的方向,即在表格中重新安排维的放置(如行列互换)

OLTP与OLAP的比较

OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。

OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

这两类系统在数据库的设计上是如此不同,甚至有些地方的设计是貌似相悖的。比如OLTP系统强调数据库的内在效率,强调内存各种指标的命中率,强调绑定变量,强调并发操作;而OLAP系统则强调数据分析,强调SQL执行时长,强调磁盘I/O,强调分区等。因为这些区别,在数据库设计的阶段,弄清楚数据库类型是至关重要的,只在在这个前提之下,才能够讨论数据库的具体设计,否则设计必须是盲目的。



个人对这些模板的理解为:

联机分析处理(OLAP):数据量大、DML少、数据实时性不是很高、使用数据仓库模板。长查询,长事务,但是一般事务的个数很少,往往是一个事务独占系统

联机事务处理(OLTP),数据量少,DML频繁、数据实时性要求高、使用一般用途或事务处理模板。并行事务处理多,但是一般都很短。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息