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

时间:2014-02-20 06:41:37

标签: database database-design database-schema olap oltp

其实他们的意思是什么?我发现的所有文章都没有给我一个想法,或者我的知识太不足以理解它。

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

5 个答案:

答案 0 :(得分:297)

在这里,您将找到更好的解决方案OLTP vs. OLAP

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

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

答案 1 :(得分:174)

非常简短的回答:

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

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

简答:

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

场景1:

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

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

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

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

场景2:

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

这样的东西
  • "所有用户的总花费"
  • "最畅销的产品是什么"

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

如果你从&#34开始思考;知道如何/什么/多少" ...,这将涉及所有"对象"一种或多种(例如,所有用户和大多数产品都知道总花费),那么OLAP可能更适合。

更长的回答:

当然事情并非如此简单。这就是为什么我们必须首先放置OLTPOLAP这样的小标签。最后应对每个数据库进行独立评估。

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

数据库必须在某处存储数据。存储数据的方式很大程度上反映了所述数据库的可能用途,这不足为奇。数据通常存储在硬盘驱动器上。 让我们把硬盘看作一张非常宽的纸张,我们可以在这里读写东西。有两种方法可以组织我们的读写操作,以便它们高效快捷。

一种方式是制作一本有点像电话簿的书。在本书的每一页上,我们都存储有关特定用户的信息。现在很不错,我们可以非常轻松地找到特定用户的信息!只需跳转到页面!我们甚至可以在开头有一个特殊页面,告诉我们如果需要,用户是哪个页面。 但另一方面,如果我们想要找到所有用户花了多少钱,那么我们就必须阅读每一页,即。整本书! 那将是一个基于行的书籍/数据库(OLTP)。开头的可选页面将是索引。

使用大张纸的另一种方式是制作会计帐簿。我不是会计师,但我们想象一下,我们会有一个页面来支付"支出","购买" ...那很好,因为现在我们可以查询类似"给我总收入"很快(只需阅读"购买"页面)。我们也可以要求更多涉及的事情,例如"给我销售的十大产品"并且仍然具有可接受的性能 但现在考虑为特定用户找到支出是多么痛苦。您必须浏览每个人的支出的整个列表并过滤该特定用户的那些,然后对它们求和。这基本上等于"阅读整本书"再次。 那将是一个基于列的数据库(OLAP)。

遵循

  • OLTP数据库旨在用于执行许多小型交易,通常用作单一的事实来源"。

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

它的参与程度比当然要多得多,而且这是一个20 000英尺的数据库差异概述,但它让我不会迷失在缩略语的海洋中。

说到首字母缩略词:

  • OLTP =在线交易处理
  • OLAP =在线分析处理

为了进一步阅读,这里有一些相关的链接,这些链接激发了我的答案:

答案 2 :(得分:21)

区别很简单。

OLTP(在线交易处理)。

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

OLAP(在线分析处理)

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

查看更多详情OLTP and OLAP

答案 3 :(得分:6)

OLTP-:             oltp代表在线交易处理,用于管理当前的日常数据信息。 OLAP-:          olap用于在线分析处理,用于维护过去的数据历史,主要用于数据分析,也可称为仓库。

答案 4 :(得分:-5)

oltp-主要用于业务事务。用于收集业务数据。在sql中,我们使用insert,update和delete命令来检索小数据源。就像它们是高度规范化的.... OLTP主要用于维护数据完整性。

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