什么是OLTP和OLAP。它们之间的区别是什么?

它们到底是什么意思?我找到的所有关于他们的文章都没有给我一个想法,或者我的知识不够多,无法理解。

有人能给我一些资源,让我从头开始学习吗?

295411 次浏览

在这里你会找到一个更好的解决方案OLTP vs. OLAP

  • OLTP(联机事务处理)涉及特定系统的操作。OLTP的特点是大量的短在线事务(INSERT, UPDATE, DELETE)。OLTP系统的主要重点是非常快速的查询处理,在多访问环境中保持数据完整性,以及以每秒事务数衡量的有效性。在OLTP数据库中有详细的和当前的数据,用于存储事务数据库的模式是实体模型(通常是3NF)。它涉及查询访问个人记录,如在公司数据库中更新您的电子邮件。

  • OLAP(在线分析处理)处理历史数据或档案数据。OLAP的特点是事务量相对较低。查询通常非常复杂,涉及到聚合。对于OLAP系统,响应时间是一种有效性度量。OLAP应用程序被数据挖掘技术广泛使用。在OLAP数据库中,有聚合的历史数据,存储在多维模式(通常是星型模式)中。有时查询需要访问管理记录中的大量数据,如贵公司去年的利润是多少。

区别很简单:

联机事务处理

OLTP是一类促进和管理面向事务的应用程序的信息系统。OLTP也被用来指系统立即响应用户请求的处理。在线事务处理应用程序在数据库管理中具有高吞吐量和插入或更新密集型。OLTP系统的一些例子包括订单输入、零售销售和金融交易系统。

联机分析处理

OLAP是更广泛的商业智能类别的一部分,它还包括关系数据库、报告编写和数据挖掘。OLAP的典型应用包括用于销售、营销、管理报告、业务流程管理(BPM)、预算和预测、财务报告和类似领域的业务报告。

查看更多详细信息OLTP和OLAP

OLTP: OnLine Transaction Processing(在线事务处理),用于管理当前的日常数据信息 OLAP: OnLine Analytical Processing(在线分析处理),用于维护数据的过去历史,主要用于数据分析,也可称为仓库

很简单的回答:

不同的数据库有不同的用途。我不是数据库专家。 经验法则:

  • 如果你正在做分析(例如聚合历史数据),请使用OLAP
  • 如果您正在进行交易(例如在电子商务购物车上添加/删除订单)则使用OLTP

简短的回答:

让我们考虑两个示例场景:

场景1:

你正在建立一个在线商店/网站,你希望能够:

  • 存储用户数据,密码,以前的交易…
  • 商店实际产品,其相关价格

您希望能够找到特定用户的数据,更改其名称……基本上是对用户数据进行INSERT、UPDATE、DELETE操作。产品等也一样。

您希望能够进行交易,可能涉及用户购买产品(这是一种关系)。那么OLTP可能很适合。

场景2:

你有一个在线商店/网站,你想计算一些东西,比如

  • “所有用户的总消费金额”
  • “卖得最多的产品是什么”

这属于分析/商业智能领域,因此OLAP可能更适合。

如果你用“知道如何/多少/多少钱就好了”来思考……,并且涉及到一种或多种类型的所有“对象”(例如,所有用户和大多数产品要知道总花费),那么OLAP可能更适合。

再答:

当然事情没有这么简单。这就是为什么我们必须首先使用像__abc0和OLAP这样的短标记。每个数据库最后都应该独立地进行评估。

那么OLAP和OLTP之间的根本区别是什么呢?

好吧,数据库必须在某个地方存储数据。数据的存储方式很大程度上反映了上述数据的可能用途,这不足为奇。数据通常存储在硬盘上。 让我们把硬盘想象成一张非常宽的纸,我们可以在上面读写东西。

.有两种方法来组织我们的读写,使之高效、快速

的一种方法是制作一本有点像电话簿的书。在书的每一页上,我们存储有关特定用户的信息。现在很好,我们可以很容易地找到特定用户的信息!跳到下一页!如果我们愿意,我们甚至可以在开始的时候有一个特殊的页面来告诉我们用户在哪个页面上。 但另一方面,如果我们想知道所有用户花了多少钱,那么我们就必须阅读每一页,也就是整本书! 这将是基于行的图书/数据库(OLTP)。开头的可选页面是index.

另一种方式使用我们的大纸是做一个会计书。我不是会计,但让我们想象一下,我们将有一个页面记录“支出”,“购买”……这很好,因为现在我们可以非常快速地查询“给我总收入”之类的内容(只需要阅读“购买”页面)。我们还可以问一些更复杂的问题,比如“给我十大最畅销的产品”,并且仍然有可以接受的表现。 但现在考虑一下,找出特定用户的支出是多么痛苦。你必须浏览所有人的支出清单,过滤出特定用户的支出,然后相加。这基本上相当于“再读一遍整本书”。 这将是基于列的数据库(OLAP)

由此可见:

  • OLTP数据库是用来做许多小的交易,通常作为一个“单一的真相来源”。

  • 另一方面,OLAP数据库更适合分析,数据挖掘,更少的查询,但它们通常更大(它们操作更多的数据)。

当然,它比这要复杂一些,这是对数据库差异的一个20000英尺的概述,但它使我不会迷失在首字母缩写的海洋中。

说到缩略语:

  • 联机事务处理
  • 联机分析处理

为了进一步阅读,这里有一些相关的链接,它们极大地启发了我的回答:

oltp-主要用于商业交易。用于收集业务数据。在sql中,我们使用插入、更新和删除命令来检索小的数据源。同样,他们是高度正常化的.... OLTP主要用于维护数据的完整性

Olap -主要用于报告,数据挖掘和业务分析目的。对于大型或批量数据。故意去标准化。它存储历史数据..