OLTP 与 OLAP:有什么区别

了解 OLTP 和 OLAP 数据系统之间的区别 — 简介 数据是几乎每一个利用它的现代组织不断发展的资产,以便通过分析随时间收集的数据(历史数据)推断出的洞察力来做出更明智的决策.在数据领域,有两种主要类型的处理系统……

OLTP 与 OLAP:有什么区别

了解 OLTP 和 OLAP 数据系统之间的区别

Introduction

对于几乎每一个利用它来做出更明智的决策的现代组织来说,数据都是一种不断发展的资产,这些决策是通过分析随时间收集的数据(历史数据)得出的见解来支持的。

在数据领域,有两种主要类型的处理系统可用于解决数据问题,即在线事务处理 (OLTP) 和在线分析处理 (OLAP)。

OLAP 和 OLTP 都是在线处理系统,通常会相互混淆——在今天的文章中,我们将探讨它们的主要区别,并讨论如何选择更适合您的特定用例的系统。

在线事务处理 (OLTP)

OLTP 代表在线事务处理,该术语指的是能够执行大量数据库事务(即新插入、更新和删除)的系统,这些事务可以跨组织及其产品由我的多个人(或用户)执行。

OLTP 系统的一些典型示例包括

  • ATMs
  • Reservation Systems
  • Online Banking
  • Online Shopping

OLTP 系统支持的操作通常在关系数据库上执行,这些数据库被认为是高可用的,并且针对处理大量事务进行了优化(例如,对数据库进行索引可以在这个方向上有所帮助)。此外,对于 OLTP 系统所使用的关系数据库而言,以保持数据完整性同时还保证同时访问多个用户的方式设计也很重要。

换句话说,OLTP 系统应该用于数据处理而不是数据分析的环境中——并且它们通常针对高效和有效地处理大量数据进行了优化。

在线分析处理 (OLAP)

另一方面,OLAP 代表在线分析处理,该术语指的是经过优化以对大量数据执行分析的系统。

在大多数情况下,OLAP 系统存储、处理或使用的数据通常驻留在数据仓库或组织中几乎任何中央数据存储中,例如数据网格。

OLAP 系统的一些示例包括:

  • Business Intelligence Tools
  • Reporting Tools
  • Data Mining

典型的 OLAP 系统允许进行多维分析。这是通过 OLAP 多维数据集实现的,这些多维数据集是多维数据数组,其中为数据维度添加了层。如果您使用过商业智能工具,您可能遇到过“向下钻取”功能,您可以在其中访问不同的数据层——由于 OLAP 多维数据集,此功能已启用。

The main differences

简而言之,OLAP 和 OLTP 系统之间的主要区别在于前者针对分析处理进行了优化,而后者针对事务处理进行了优化。这很明显吧?现在让我们更具体地比较这两种处理系统。

Purpose

OLAP 系统的目的是发现隐藏的模式、提取洞察力并帮助跨组织的业务和决策者做出更明智的决策,这些决策由基于特定问题(即查询)的数据支持。相比之下,OLTP 系统旨在控制和执行实时业务操作。

Queries

OTLP 系统涉及一组相当简单的查询,这些查询应该执行所需的事务,包括插入、更新和删除。

另一方面,OLAP 系统通常涉及复杂的选择查询,其中可以执行多个聚合以提取所需的见解并回答特定的业务问题。

Availability

OLTP 系统应该是高度可用的,因为它们非常频繁地插入或修改数据——这是可以预料的,因为它是一个事务系统。此外,可能还需要频繁备份以保持数据完整性。

另一方面,OLAP 系统不会对现有数据执行任何类型的事务,因此无需在高可用性机制上进行大量投资(尽管这将是理想的)。因此,此类系统需要较少的备份频率。

Processing Time

OLTP 系统必须尽可能地响应,并且响应时间不应超过几毫秒。在 OLTP 系统上执行的查询相当简单(插入、更新、删除等),而且还节省空间,因此不太难实现低处理时间。

另一方面,OLAP 系统的响应时间可能从几秒到几分钟不等。与 OLTP 系统相比,此类系统中的工作负载涉及大量读取密集型数据并且需要更复杂的查询。

OLTP 和 OLAP 系统在预期响应/处理时间方面的差异是可以预料的,因为前者应该处理大量的小事务,而后者应该处理大量数据并涉及相当复杂的查询。

Data Sources

正如我们已经提到的,OLTP 系统通常使用关系数据库(例如 DBMS)作为其源,请求的事务将在该源上实时执行。

相比之下,OLAP 数据库具有多维模式(回想一下我们之前讨论的 OLAP 多维数据集),OLTP 数据库可以用作 OLAP 系统的数据源。

在接下来的几节中,我们将讨论 OLTP 和 OLAP 系统如何协同工作,并探索一个特定的用例来演示如何在现实生活中实现这一点。

Database Tables’ Design

OLTP 系统出于效率目的需要规范化表,而 OLAP 系统需要非规范化表,这在数据分析方面更合适。

OLAP 和 OLTP 如何协同工作

在许多组织中,OLAP 和 OLTP 数据系统都将就位,并且在大多数情况下,OLAP 系统将从 OLTP 系统中获取数据。

换句话说,我们可以说 OLTP 应该修改数据系统,而 OLAP 系统用于根据 OLTP 系统摄取的数据使用查询来回答问题。

为 ETL 联手

例如,让我们考虑在数据工程环境中非常常见的提取-转换-加载 (ETL) 过程。 ETL 工具将从通常是 OLTP 系统的各种数据源中提取(加载)数据,对加载的数据执行一些处理(转换)并将其发送到通常是 OLAP 系统(例如数据仓库)的目标系统(加载) ) 可以通过报告和商业智能工具执行查询,以提取有意义的信息、模式和见解,最终帮助组织做出决策。

换句话说,ETL 过程最初将涉及 OLTP 系统,从中提取数据,然后将数据加载到目标 OLAP 系统中,以使其可用于查询和分析。

Final Thoughts

在今天的文章中,我们讨论了分析和事务系统,以及在线事务处理 (OLTP) 和在线分析处理 (OLAP) 在目的、每个系统执行的查询的性质、所涉及的操作方面的主要区别查询、它们的可用性、处理和响应时间、每个使用的数据源以及它们在数据库和表设计方面的差异。

此外,我们还讨论了每种数据系统的一些典型用例。最后,我们探讨了组织通常如何将这两种数据处理系统结合起来,并讨论了 OLAP 和 OLTP 系统联合起来将其变为现实的提取-转换-加载概念。

成为会员并阅读 Medium 上的每个故事。您的会员费直接支持我和您阅读的其他作家。您还可以完全访问 Medium 上的每个故事。[0]

您可能还喜欢的相关文章

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年5月11日
下一篇 2022年5月11日

相关推荐