什么是 OLTP?定义, Archi结构,示例

⚡ 智能摘要

OLTP,即在线事务处理,是一个操作系统,它采用三层架构,能够处理大量并发的短事务。ping 业务数据准确、一致,并可即时用于银行和零售等日常运营。

  • 🧩 核心定义: OLTP 管理组织的日常交易,并通过每秒处理的交易数量来衡量效率。
  • 主要特点: 它使用小型、索引化、完全规范化的事务,响应时间短,可以为大量并发用户提供服务。
  • 🔄 支持的查询: OLTP 系统主要执行插入、更新和删除操作,以及对单个记录的快速查找。
  • 🏛️ 结 构: 分层流程将来自业务战略和流程的数据通过 ETL 传输到数据集市和数据仓库。
  • 🔐 ACID可靠性: Atom冰冷性、一致性、隔离性和持久性可在多个事务同时运行时保护数据完整性。
  • 🔁 OLTP 与 OLAP: OLTP 处理实时事务,而 OLAP 分析大型历史数据集以进行决策。
  • 益处与局限性: OLTP简化了事务处理并支持更大的数据库,但仍然容易受到硬件故障和安全风险的影响。

OLTP(在线事务处理)定义和架构概述

什么是 OLTP?

OLTP 在线交易处理(Online Transaction Processing)是一个支持三层架构内面向交易的应用程序的操作系统。它管理组织的日常交易,专注于查询处理和在多访问环境下维护数据完整性。

OLTP系统的效率以其每秒处理的事务总数来衡量。为了实现这一目标,OLTP依赖于传统的 DBMS 即使许多用户同时读写数据,也能保持数据的一致性。

OLTP的特点

以下是OLTP系统的重要特征:

  • OLTP 使用包含少量数据的事务。
  • 数据库中的索引数据可以轻松访问。
  • OLTP 拥有大量的用户。
  • 它的反应速度很快。
  • 数据库可供最终用户直接访问。
  • OLTP 使用完全规范化的模式来确保数据库的一致性。
  • OLTP系统的响应时间很短。
  • 它严格仅对少数记录执行预定义的操作。
  • OLTP 存储最近几天或一周的记录。
  • 它支持复杂的数据模型和表。

这些特性共同保证了 OLTP 系统速度快、可靠性高,并且能够在日常业务运营期间为大量并发用户提供服务。

OLTP系统可以处理的查询类型

OLTP(联机事务处理)是一个在线数据库交互系统。因此,它支持诸如插入、更新和删除等数据库查询操作,以及对单个记录的快速查找。

以POS系统为例,说明OLTP查询处理。
OLTP POS 系统

考虑一家超市的销售点(POS)系统。以下是该系统可以处理的一些示例查询:

  • 检索特定产品的描述。
  • 筛选出与某个供应商相关的所有产品。
  • 查找客户记录。
  • 列出价格低于预期金额的产品。

同时处理众多客户的这些查询需要结构良好的设计,而这正是 OLTP 架构的用武之地。

ArchiOLTP 结构

典型的OLTP系统架构遵循分层流程,如下图所示,并通过其核心组件进行解释:

OLTP架构图显示了分层数据流

OLTP Archi质地
  1. 商业/企业战略: 企业战略处理的是影响整个组织的问题。在联机事务处理(OLTP)领域,企业战略通常由公司高层,即董事会或最高管理层制定。
  2. 业务流程: OLTP 业务流程是一系列活动和任务,一旦完成,即可实现组织目标。
  3. 客户、订单和产品: OLTP 数据库存储有关产品、订单(交易)、客户(买家)、供应商(卖家)和员工的信息。
  4. ETL 流程: 它 extrac它从各种 RDBMS 源系统中获取数据,转换数据(应用连接、计算等),并将处理后的数据加载到数据仓库系统中。
  5. 数据集市和数据仓库: A 数据库 是一种特定于数据仓库环境的结构或访问模式。OLAP 使用它来存储处理后的数据。
  6. 数据挖掘、分析和决策: 数据集市和数据仓库中存储的数据可用于 数据挖掘数据分析和决策。这些数据可以帮助您发现规律、分析原始数据,并为组织的增长做出分析性决策。

这种分层设计展示了 OLTP 捕获的交易数据最终如何为用于报告和决策的分析系统提供数据。

OLTP 中的 ACID 特性

由于OLTP系统处理大量并发事务,它们依赖于 酸性 为了保护数据完整性。ACID 代表 Atom可靠性、一致性、隔离性和持久性,以及所有可靠的 OLTP 事务都必须满足这四个条件。

  • Atom冰城: 交易被视为一个整体。它要么完全完成,要么根本不会进行,因此未完成的转账永远不会被记录。
  • 坚持是关键 每个事务都会将数据库从一个有效状态移动到另一个有效状态,并遵守所有规则和约束。
  • 隔离: 并发事务互不干扰,因此同时进行的操作与依次进行的操作产生相同的结果。
  • 高耐用性: 一旦事务提交,其更改将永久保留,即使系统随后立即崩溃也是如此。

关系型数据库,例如 MySQL, Oracle Database和 Microsoft SQL Server 强制执行这些 ACID 保证,因此它们仍然是事务密集型 OLTP 工作负载的默认选择。

OLTP 事务示例

OLTP 系统的经典例子是 ATM 机。假设一对夫妇在银行拥有一个联名账户。有一天,他们同时到达不同的 ATM 机,并且都想取出账户里的全部余额。

ATM取款作为OLTP交易示例

ATM 图像的 OLTP

然而,只有最先完成身份验证流程的人才能取款。在这种情况下,OLTP系统会确保取款金额永远不会超过银行账户余额。关键在于,OLTP系统针对的是交易准确性而非数据分析进行了优化。

其他常见的OLTP系统示例包括:

  • 网上银行业务
  • 网上机票预订
  • 发送短信
  • 订单输入
  • 将一本书添加到商店ping 购物车

OLTP 与 OLAP

虽然名称相似,但OLTP和OLAP的用途不同。下表解释了OLTP和OLAP之间的主要区别。 OLAP包括 OLAP 通常如何依赖于 数据仓库.

OLTP 与 OLAP 的比较

OLTP OLAP
OLTP 是一个在线事务系统。 OLAP 是一种在线分析和数据检索过程。
其特点是大量短暂的在线交易。 其特点是数据量巨大。
OLTP 是一个在线数据库修改系统。 OLAP 是一种联机数据库查询管理系统。
OLTP 使用传统的数据库管理系统。 OLAP 使用数据仓库。
它负责在数据库中插入、更新和删除信息。 它主要执行选择操作。
OLTP 及其事务是数据的来源。 不同的OLTP数据库成为OLAP的数据来源。
OLTP数据库必须维护数据完整性约束。 OLAP 数据库不会经常被修改,因此数据完整性不是问题。
它的响应时间以毫秒为单位。 其响应时间从几秒到几分钟不等。
OLTP数据库中的数据总是详细且有条理的。 OLAP流程中的数据可能没有组织结构。
它允许进行读写操作。 它只允许读取操作,很少进行写入操作。
这是一个以市场为导向的过程。 这是一个以客户为中心的过程。
此过程中的查询是标准化且简单的。 使用涉及聚合的复杂查询。
它需要对数据进行完整备份,并结合增量备份。 OLAP 只需要偶尔进行备份;与 OLTP 相比,备份并不重要。
数据库设计是面向应用的。例如:数据库设计会随着行业而变化,例如零售业、航空业或银行业。 数据库设计是面向主题的。例如:数据库设计会随着销售、市场营销或采购等主题而变化。
它主要面向数据处理能力要求较高的用户,例如职员、数据库管理员和数据库专业人员。 它被员工、经理和首席执行官等数据知识用户使用。
它是为实时业务运营而设计的。 它旨在按类别和属性分析业务指标。
交易吞吐量是性能指标。 查询吞吐量是性能指标。
这种数据库可以容纳成千上万的用户。 这种数据库只允许容纳数百名用户。
它有助于提高用户的自助服务和工作效率。 它有助于提高业务分析师的工作效率。
数据仓库历来都是一个开发项目,建设成本可能很高。 OLAP 多维数据集不是开放的 SQL Server 数据仓库。因此,管理 OLAP 服务器需要具备技术知识和经验。
它为日常使用的数据提供快速结果。 它确保对查询的响应速度始终更快。
它易于创建和维护。 它允许用户在电子表格的帮助下创建视图。
OLTP 的设计目标是具有快速的响应时间、低数据冗余度并且是规范化的。 数据仓库的独特之处在于,它可以整合不同的数据源,从而构建一个统一的数据库。

简而言之,OLTP 提供实时事务处理基础,而 OLAP 则利用这些数据进行大规模分析。

OLTP 的优点

以下是OLTP系统的主要优势:

  • OLTP 提供准确的收入和支出预测。
  • 由于所有交易都能及时修改,因此它为稳定的企业或组织提供了坚实的基础。
  • OLTP 使客户的交易变得更加容易。
  • 它通过加快和简化单个流程来扩大组织的客户群。
  • OLTP 为更大的数据库提供支持。
  • 对数据进行分区以便进行数据处理很容易。
  • 我们需要OLTP来处理系统频繁执行的任务。
  • 当我们只需要少量记录时,它非常有用。
  • 它负责处理数据插入、更新或删除等任务。
  • 当您需要一致性和并发性来执行任务以确保更高的可用性时,可以使用它。

OLTP 的缺点

以下是OLTP系统的主要缺点:

  • 如果 OLTP 系统出现硬件故障,那么在线交易就会受到严重影响。
  • OLTP 系统允许多个用户同时访问和更改相同的数据,这可能会造成前所未有的情况。
  • 服务器即使短暂卡顿几秒钟,也可能影响大量交易。
  • OLTP需要大量员工分组协作才能维护库存。
  • 在线交易处理系统没有合适的方法自行将产品转移给买家。
  • OLTP 使数据库更容易受到黑客和入侵者的攻击。
  • 在 B2B 交易中,买卖双方都有可能错过该系统所提供的效率优势。
  • 服务器故障可能导致 wiping 从数据库中提取大量数据。
  • 您只能执行有限数量的查询和更新操作。

OLTP 系统的挑战

尽管OLTP系统具有诸多优势,但也存在一些挑战:

  • 它允许多个用户同时访问和修改相同的数据。因此,需要并发控制和恢复技术来避免出现任何意外情况。
  • OLTP系统数据不适用于决策制定。您必须使用OLAP系统的数据来进行“假设分析”或决策制定。

常见问题

常见的OLTP数据库是为快速并发事务而构建的关系系统,包括 MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server和 IBM Db2。它们强制执行 ACID 属性和规范化模式,以可靠地处理银行和电子商务等应用程序中频繁的插入、更新和删除操作。

MySQL 它主要是一个OLTP数据库。它针对快速、并发的插入、更新和删除操作进行了优化,并具有强大的数据完整性,非常适合事务性应用。 MySQL 可以运行分析查询,但专用的 OLAP 引擎或数据仓库处理大规模分析的效率要高得多。

OLTP 系统采用完全规范化的模式来减少数据冗余并保持数据一致性。规范化将数据拆分到相关的表中,使每个事实只存储一次。这保证了插入、更新和删除操作的快速性和可靠性,并防止在数千用户同时修改数据时出现异常情况。

OLTP(联机事务处理)能够即时交互式地处理单个交易,为用户提供亚秒级的确认。而批处理则会收集交易,并在预定的时间一起运行,无法立即提供反馈。OLTP 适用于 ATM 取款等实时操作,而批处理作业则适用于工资核算或隔夜报告等任务。

是的。混合事务/分析处理 (HTAP) 系统在同一个数据库上运行事务和分析,避免了频繁的数据移动。现代平台使用内存存储和独立的引擎来分别处理事务和分析。然而,许多组织仍然将 OLTP 和 OLAP 分开,以确保事务性能。

大多数联机事务处理 (OLTP) 数据库使用 SQL(结构化查询语言)来执行插入、更新、删除和选择操作。SQL 处理 OLTP 所依赖的简短、定义明确的事务,而底层关系引擎则强制执行 ACID 特性、索引和并发控制,以确保在高负载下数据的准确性。

人工智能驱动的监控工具能够分析OLTP查询模式、推荐索引,并实时检测慢事务或锁定问题。机器学习模型可以预测工作负载高峰并自动调整配置。工程师在应用这些建议之前应仔细审查,因为自动更改可能会影响正在运行的事务系统。

是的。 ChatGPTGitHub 副驾驶 只需简短提示即可生成 OLTP SQL 查询、存储过程和模式定义。它们可以加快日常编码速度,但在生产环境中运行之前,您应该检查输出结果,确保索引、事务边界和 ACID 安全性正确无误。

总结一下这篇文章: