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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (170)

其实他们是什么意思?

会不会有人给我一些资源,让我从零开始学习。

提问于
用户回答回答于

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

  • OLTP(在线事务处理)涉及到特定系统的操作。OLTP的特点是大量的短在线事务(插入、更新、删除)。OLTP系统的主要重点是非常快的查询处理,在多访问环境中保持数据完整性,以及以每秒事务数来衡量效率。在OLTP数据库中有详细的和当前的数据,用于存储事务性数据库的模式是实体模型(通常是3NF)。它涉及访问个人记录的查询,如在公司数据库中更新电子邮件。
  • OLAP(在线分析处理)处理历史数据或档案数据.。OLAP的特点是交易量相对较低。查询通常非常复杂,涉及聚合。对于OLAP系统来说,响应时间是一种有效的度量。OLAP应用被数据挖掘技术广泛应用。在OLAP数据库中,有聚合的历史数据,存储在多维模式(通常是星型模式)中。有时查询需要访问管理记录中的大量数据,比如去年公司的利润。
用户回答回答于

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

设想1:

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

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

你想要找到特定用户的数据,更改它的名字.。基本上对用户数据执行插入、更新、删除操作。产品等也是如此。

希望能够进行交易,可能涉及到用户购买产品(这是一种关系)。然后OLTP可能是一个很好的匹配(想想SQL数据库)。

设想2:

你有一个在线商店/网站,你想要计算如下

  • “所有用户的总支出”
  • “什么是最畅销的产品?”

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

如果认为“知道如何/什么/有多少”.很好,并且涉及一种或多种类型的所有“对象”(不包括所有用户和大多数知道总开销的产品),那么OLAP可能更适合。

因此:

  • OLTP数据库是用来做许多小的事务,通常是一个“单一的真相来源”。
  • OLAP另一方面,数据库更适合于分析、数据挖掘、更少的查询,但它们通常更大(它们对更多的数据进行操作)。

当然,它比那个要复杂一些,这是一个关于数据库是如何区别的两万英尺的概述,但是它让我不会迷失在一个缩略词的海洋中。

说到缩略语:

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

扫码关注云+社区