【MY SQL基础技术】数据库应用类型:OLTP与OLAP的比较
分类:数据库SQLMY SQL
对于SQL开发人员来说,必须先要了解进行SQL编程的对象类型,即要开发的数据库应用是哪种类型。一般来说,可将数据库的应用类型分为OLTP(OnLine Transaction Processing ,联机事务处理)和OLAP(OnLine Analysis Processing,联机分析处理)两种。OLTP是传统关系型数据库的主要应用,其主要面向基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
OLTP
OLTP也被称为面向交易的处理系统,其基本特征是可以立即将顾客的原始数据传送到计算中心进行处理,并在很短的时间内给出处理结果,这个过程的最大优点是可以即时地处理输入的数据、及时地回答,因此OLTP又被称为实时系统(Real Time System)。衡量OLTP系统的一个重要性能指标是系统性能,具体体现为实时响应时间(Response Time),即从用户在终端输入数据到计算机对这个请求做出回复所需的时间。OLTP 数据库旨在使事务应用程序仅完成对所需数据的写入,以便尽快处理单个事务。
OLTP 数据库通常具有以下特征:
·支持大量并发用户定期添加和修改数据。
·反映随时变化的单位状态,但不保存其历史记录。
·包含大量数据,其中包括用于验证事务的大量数据。
·具有复杂的结构。
·可以进行优化以对事务活动做出响应。
·提供用于支持单位日常运营的技术基础结构。
·个别事务能够很快地完成,并且只需要访问相对较少的数据。OLTP 系统旨在处理同时输入的成百上千的事务。
OLAP
OLAP的概念最早是由关系数据库之父E.F.Codd博士于1993年提出的,是一种用于组织大型商务数据库和支持商务智能的技术。OLAP数据库分为一个或多个多维数据集,每个多维数据集都由多维数据集管理员组织和设计,以适应用户检索和分析数据的方式,从而更易于创建和使用所需的数据透视表和数据透视图。
OLAP是共享多维信息的、针对特定问题的联机数据访问和分析的快速软件技术。它通过对信息的多种可能的观察形式进行快速、稳定一致和交互性的存取,允许管理决策人员对数据进行深入观察。决策数据是多维数据,是决策的主要内容。OLAP专门用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观易懂的形式将查询结果提供给决策人员,以便他们准确掌握企业(公司)的经营状况、了解对象的需求、制定正确的方案。
OLAP具有灵活的分析功能、直观的数据操作和分析结果可视化表示等突出优点,从而使用户对基于大量复杂数据的分析变得轻松而高效,利于用户迅速做出正确判断。OLAP可用于证实人们提出的复杂假设,是以图形或表格的形式来表示的对信息的总结。OLAP并不将异常信息标记出来,采取的是一种知识证实的方法。
OLAP的主要特点是直接仿照用户的多角度思考模式,预先为用户组建多维的数据模型。在这里,维指的是用户的分析角度,例如对销售数据的分析,时间周期是一个维度,产品类别、分销渠道、地理分布、客户群类也分别是不同的维度。一旦多维数据模型建立完成,用户可以快速地从各个分析角度获取数据,也能动态地在各个角度之间切换数据或者进行多角度综合分析,具有极大的分析灵活性。这也是OLAP在近年来被广泛关注的根本原因。OLAP从设计理念和真正实现上都与旧有的管理信息系统有着本质的区别。
下面介绍一下OLAP的基本概念:
·维(Dimension):是用户观察数据的特定角度,是问题的一类属性,属性集合构成一个维(时间维、地理维等)。
·维的层次(Level):用户观察数据的某个特定角度(即某个维)还可能存在细节程度不同的各个描述方面(时间维包括日期、月份、季度、年)。
·维的成员(Member):即维的一个取值,是数据项在某个维中位置的描述,如“某年某月某日”是在时间维上的位置描述。
·度量(Measure):多维数组的取值。
OLAP的基本多维分析操作有钻取(Drill-up和Drill-down)、切片(Slice)和切块(Dice)以及旋转(Pivot)等。
·钻取:改变维的层次,变换分析的粒度。它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上滚(Roll-up)。向上钻取是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而向下钻取则相反,从汇总数据深入到细节数据进行观察或增加新维。
·切片和切块:在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个或以上,则是切块。
·旋转:变换维的方向,即在表格中重新安排维的放置(如行列互换)。
OLTP与OLAP的比较
OLTP主要执行基本的、日常的事务处理,比如在银行存取一笔款,就是一个事务交易。OLTP的特点一般有:
·实时性要求高。
·查询的数据量不是很大。
·交易一般是确定的,所以OLTP是对确定性的数据进行存取。
·并发性要求高,并且严格要求事务的完整性、安全性。
·OLAP是数据仓库系统的主要应用,其典型的应用就是复杂的动态报表系统。OLAP的特点一般有:
·实时性要求不是很高,很多应用最多每天更新一次数据。
·数据量大。因为OLAP支持的是动态查询,用户要通过对很多数据的统计才能得到想要知道的信息,如时间序列分析等,所以处理的数据量很大。
·因为重点在于决策支持,所以查询一般是动态的,也就是说允许用户随时提出查询的要求。因此,在OLAP中通过一个重要概念“维”来搭建一个动态查询的平台(或技术),供用户自己决定需要知道的信息。