OLTP与OLAP是什么?OLTP与OLAP的主要区别是什么?

目录

OLTP与OLAP是什么?OLTP与OLAP的主要区别是什么?

OLTP是什么?

OLTP是什么?

OLTP与OLAP的主要区别是什么?


OLTP是什么?

See the source image

OLAP联机分析处理(Online Analysis Processing)是一种促进商业智能的数据库处理范式。

OLAP为分析人员、经理和执行人员提供了他们对组织的战略方向做出有效决策所需的信息。OLAP可以为他们的业务表现以及如何进行改进提供有价值的见解。

OLAP工具针对查询和报告进行了优化。这与联机事务处理(OLTP)应用程序形成鲜明对比,后者主要涉及基于事务的任务。OLAP工具使用户能够从多个视角交互式地分析多维数据。OLAP可以用来发现趋势并获得数据的大图视图。它还可以用于复杂的数字处理,并为前瞻性规划创建“如果”场景。

典型的OLAP应用程序包括销售、营销、管理报告、业务流程管理、预算和预测、财务报告等业务报告。

OLAP应用程序的用户数通常比OLTP应用程序少。

例如,OLTP应用程序可用于为银行的120万客户提供网上银行业务。但分析这些客户网上银行习惯的OLAP应用程序只能由选定数量的银行工作人员使用。

OLAP通常涉及非常大量的数据,查询可能非常大,并且运行的时间比典型的OLTP应用程序要长得多。OLTP应用程序与速度、精度和支持大量用户有关。OLTP还主要涉及插入、更新和删除特定于特定记录(例如个人的银行帐户)的少量数据。另一方面,OLAP通常涉及跨大型数据集的复杂聚合查询(例如查询所有客户的银行帐户)。

OLAP数据库通常通过批处理查询来填充。即同时插入所有数据。

这与OLTP形成鲜明对比,在OLTP中,数据不断地被插入、更新和删除。

插入到OLAP数据库中的数据通常来自OLTP应用程序。批处理查询用于扫描源系统并将数据导入OLAP数据库。

OLAP和数据仓库是两回事。然而,OLAP可以用来将数据仓库中的数据转换为战略信息。

数据仓库存储和管理数据,通常在关系数据库中。这些可能是拥有大量数据的非常大的数据库。

另一方面,OLAP数据存储在多维数据库中。在多维数据库中,每个数据属性(如产品、区域、时间段等)都被认为是一个独立的“维度”。OLAP工具可以用来从这些维度的交叉点提取数据。例如,上个季度东北地区销售的所有产品。

OLAP多维数据集


OLAP多维数据集通常是数据的多维数组。如果我们把一个三维立方体可视化,我们可以在x轴上有产品,在y轴上有区域,在z轴上有时间周期。

因此,OLAP工具可以用来按产品、地区和时间段汇总销售数据。

但是,OLAP多维数据集并不局限于三维。OLAP多维数据集可以有任意数量的维度。在这些情况下,这样的立方体有时被称为超立方体。

OLAP多维数据集的边长不一定相等--OLAP多维数据集不是严格数学意义上的多维数据集。然而,在使用OLAP时,该术语是一个常用的术语。


OLAP工具示例


以下是一些可用的比较流行的OLAP工具的列表

Dundas BI
Sisense
IBM Cognos Analytics
InetSoft
SAP Business Intelligence
Halo

OLTP是什么?

OLTP(Online Transactional Processing)是一种交易类数据处理范式,主要关注于面向事务的任务。OLTP通常涉及在数据库中插入、更新和/或删除少量数据。OLTP主要处理大量用户的大量事务。

OLTP事务的示例包括:
网上银行
网上购书
订机票
发送短信
订单输入
电话推销员输入电话调查结果
呼叫中心员工查看和更新客户详细信息

OLTP的特点


OLTP事务通常在它们执行的任务中非常具体,它们通常涉及单个记录或少量记录的操作。

例如,一个网上银行客户可能会从他的账户向他妻子的账户汇款。在这种情况下,交易只涉及两个账户--他的账户和他妻子的账户。

这与联机分析处理(OLAP)形成鲜明对比,联机分析处理通常涉及为了分析目的查询数据库中的许多记录(甚至所有记录)。OLAP银行示例可以是银行经理执行对所有客户帐户的查询,这样他就可以看到在特定时期哪些郊区拥有最活跃的在线银行客户。

OLAP通常用于对通过OLTP应用程序捕获的数据进行分析。

因此,虽然OLTP和OLAP通常处理相同的数据集,但它们具有不同的特性。

OLTP应用程序通常具有以下特征:

涉及少量数据的事务
对数据索引的访问
大量用户
频繁查询和更新
快速响应时间
可用性


OLTP系统通常需要具有极高的可用性


这是因为OLTP系统经常处理任务关键型数据,并且拥有大量的用户。

例如,购物车应用程序对在线零售商来说是关键任务。如果购物车应用挂了,顾客就无法订购任何产品。如果系统不好用,一些用户可能会跑掉竞争对手的网站上购买产品。在这种情况下,零售商赚不到钱,而且他们可能会失去欢迎很多忠诚用户。

ACID特性


为了维护数据完整性,OLTP数据库需要符合ACID。ACID指的是一组标准属性,用于保证数据库事务得到可靠处理。它确保事务是准确的、一致的、隔离的和持久的。

在数据库中,事务是作为单个逻辑工作单元执行的操作序列。事务只有在整个序列都成功的情况下才能成功。换句话说,如果事务的任何部分失败,则整个事务失败。这确保了你的钱不会只是消失在空气中,当你转移到另一个帐户。如果钱离开你的帐户,但它没有进入收件人的帐户,整个交易将失败,钱将留在你的帐户。保证了系统的可靠性。

OLTP与OLAP的主要区别是什么?

See the source image

  1. 用户和系统的面向性:

OLTP系统是面向顾客的,用于办事员、客户和信息技术专业人员的事务和查询处理。OLAP系统是面向市场的,用于知识工人的数据分析。

  1. 数据内容:

OLTP系统管理当前数据。通常,这种数据太琐碎,难以用于决策。OLAP系统管理大量历史数据,提供汇总和聚集机制,并在不同粒度级别上存储和管理信息。这些特点使得数据更容易用于见多识广的决策。

  1. 数据库设计:

通常,OLTP系统采用实体-联系(ER)数据模型和面向应用的数据库设计。而OLAP系统通常采用星形或雪花模型和面向主题的数据库设计。

  1. 视图:

OLTP系统主要关注企业或部门的当前数据,不涉及历史数据或不同组织的数据。相比之下,由于组织的变化,OLAP系统尝尝跨越数据库模式的多个版本。OLAP系统还处理来自不同组织的信息,由多个数据存储集成的信息。由于数据量巨大,OLAP数据存放在多个存储介质上。

  1. 访问模式:

OLTP系统的访问模式主要由短的原子事务组成。这种系统需要并发控制和恢复机制。然而,对OLAP系统的访问大部分是只读操作(大多是历史数据),尽管许多可能是复杂的查询。

·OLTP和OLAP的其他区别包括数据库大小、操作的频繁程度、性能度量等。如下图


OLAP  stands for On-Line Analytical Processing. It is used for analysis of database information from multiple database systems at one time such as sales analysis and forecasting, market research, budgeting and etc. Data Warehouse is the example of OLAP system.

OLTP stands for On-Line Transactional processing. It is used for maintaining the online transaction and record integrity in multiple access environments. OLTP is a system that manages very large number of short online transactions for example, ATM.

Sr. No.KeyOLAPOLTP
1BasicIt is used for data analysisIt is used to manage very large number of online short transactions
2Database TypeIt uses data warehouseIt uses traditional DBMS
3Data ModificationIt manages all insert, update  and delete transactionIt is mainly used for data reading
4Response timeProcessing is little slowIn Milliseconds
5NormalizationTables in OLAP database are not  normalized.Tables in OLTP database are normalized.

参考:Difference between OLAP and OLTP

参考:数据挖掘+华南理工大学

参考:What is OLAP?

参考:What is OLTP?

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐