繁体   English   中英

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

[英]What are OLTP and OLAP. What is the difference between them?

其实他们是什么意思? 我找到的所有关于它们的文章都没有给我一个想法,或者我的知识太少而无法理解。

有人会给我一些资源,让我可以从头开始学习。

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

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

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

非常简短的回答:

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

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

简短的回答:

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

场景一:

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

  • 存储用户数据、密码、以前的交易...
  • 存储实际产品及其相关价格

您希望能够为特定用户查找数据,更改其名称...基本上是对用户数据执行 INSERT、UPDATE、DELETE 操作。 与产品等相同。

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

场景2:

您有一个在线商店/网站,并且想要计算诸如

  • “所有用户花费的总金额”
  • “什么是最畅销的产品”

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

如果您从“知道如何/什么/多少”的角度考虑……,并且涉及一种或多种类型的所有“对象”(例如,所有用户和大多数产品都知道总花费)那么 OLAP 可能更适合。

更长的答案:

当然事情并没有那么简单。 这就是为什么我们必须首先使用像OLTPOLAP这样的短标签。 最后应该独立评估每个数据库。

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

好吧,数据库必须在某处存储数据。 数据的存储方式在很大程度上反映了所述数据的可能用途,这一点不足为奇。 数据通常存储在硬盘上。 让我们把硬盘想象成一张非常宽的纸,我们可以在上面读写东西。 有两种方法可以组织我们的读取和写入,以便它们既高效又快速。

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

另一种使用我们大张纸的方法是制作会计账簿 我不是会计师,但让我们想象一下,我们会有一个页面用于“支出”、“采购”……这很好,因为现在我们可以非常快速地查询诸如“给我总收入”之类的内容(只需阅读“采购” “ 页)。 我们还可以要求更多涉及的事情,例如“给我销售的前十名产品”,并且仍然具有可接受的性能。 但是现在考虑一下为特定用户查找支出是多么痛苦。 您必须查看每个人的整个支出清单并过滤该特定用户的支出,然后将它们相加。 这基本上相当于再次“阅读整本书”。 那将是一个基于列的数据库 (OLAP)。

它如下

  • OLTP数据库旨在用于执行许多小型事务,通常用作“单一事实来源”。

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

这当然比这更复杂,这是对数据库如何不同的 20 000 英尺的概述,但它让我不会迷失在首字母缩略词的海洋中。

说到缩略词:

  • OLTP = 在线事务处理
  • OLAP = 在线分析处理

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

区别很简单:

OLTP(在线事务处理)

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

OLAP(在线分析处理)

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

查看更多细节OLTP 和 OLAP

OLTP:它代表在线事务处理,用于管理当前的日常数据信息。
OLAP:OnLine Analytical Processing的缩写,用于维护数据的过往历史,主要用于数据分析,也可称为仓库。

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

olap - 主要用于报告、数据挖掘和业务分析目的。 对于大数据或批量数据。故意将其反规范化。 它存储历史数据..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM