OLTP(在线事务处理)支持在 ATM 和在线银行、收银机和电子商务以及我们每天与之交互的许多其他服务背后进行快速、准确的数据处理。

什么是 OLTP?

OLTP 或在线事务处理允许大量人员(通常通过 Internet)实时执行大量数据库事务。

数据库事务是对数据库中数据的更改、插入、删除或查询。OLTP 系统(以及它们支持的数据库交易)推动了我们每天进行的许多金融交易,包括网上银行和 ATM 交易、电子商务和店内购物,以及酒店和航空公司预订等等。在每种情况下,数据库交易也保留为相应金融交易的记录。OLTP 还可以推动非金融数据库交换,包括密码更改和短信。

在 OLTP 中,任何数据库事务的共同定义特征是它的原子性(或不可分割性)——事务要么整体成功,要么失败(或被取消)。它不能保持在挂起或中间状态。

OLTP 系统的特点

通常,OLTP 系统执行以下操作:

  • 处理大量相对简单的交易:通常是对数据的插入、更新和删除,以及简单的数据查询(例如,ATM 的余额检查)。
  • 允许多用户访问相同的数据,同时确保数据完整性:OLTP 系统依靠并发算法来确保没有两个用户可以同时更改相同的数据,并且所有事务都以正确的顺序执行。这可以防止人们使用在线预订系统重复预订同一个房间,并保护共同持有的银行账户的持有人免受意外透支。
  • 强调非常快速的处理,响应时间以毫秒为单位:OLTP 系统的有效性是通过每秒可以执行的事务总数来衡量的。
  • 提供索引数据集:这些用于快速搜索、检索和查询。
  • 24/7/365 全天候可用:同样,OLTP 系统处理大量并发事务,因此任何数据丢失或停机都可能产生重大且代价高昂的后果。完整的数据备份必须随时可用。OLTP 系统需要频繁的定期备份和持续的增量备份。

OLTP 与 OLAP

OLTP 经常与在线分析处理或 OLAP 混淆。两者都有相似的首字母缩写词,并且是在线数据处理系统,但这就是相似之处。

  • OLTP 针对执行在线数据库事务进行了优化。OLTP 系统专为一线工作人员(例如,收银员、银行出纳员、部分服务台文员)或客户自助服务应用程序(例如,网上银行、电子商务、旅行预订)而设计。
  • 另一方面,OLAP 针对进行复杂数据分析进行了优化。OLAP 系统专为数据科学家、业务分析师和知识工作者使用而设计,它们支持商业智能 (BI)、数据挖掘和其他决策支持应用程序。

毫不奇怪,OLTP 和 OLAP 系统有几个明显的技术差异:

  • OLTP 系统使用关系数据库,可以容纳大量并发用户和频繁的查询和更新,同时支持非常快的响应时间。OLAP 系统使用多维数据库——一种由多个关系数据库创建的特殊类型的数据库,它支持涉及来自当前和历史数据的多个数据事实的复杂查询。(OLAP 数据库可以组织为数据仓库。)
  • OLTP 查询很简单,通常只涉及一个或几个数据库记录。OLAP 查询是涉及大量记录的复杂查询。
  • OLTP 事务和查询响应时间快如闪电;OLAP 响应时间要慢几个数量级。
  • OLTP 系统经常修改数据(这是事务处理的本质); OLAP 系统根本不修改数据。
  • OLTP 工作负载涉及读取和写入的平衡;OLAP 工作负载是读取密集型的。
  • OLTP 数据库需要的存储空间相对较少;OLAP 数据库处理大量数据集,并且通常需要大量存储空间。
  • OLTP 系统需要频繁或并发备份;OLAP 系统的备份频率要低得多。

值得注意的是,OLTP 系统通常充当 OLAP 系统的信息源。通常,使用 OLAP 执行分析的目标是改进业务战略和优化业务流程,这可以为改进 OLTP 系统提供基础。

要深入了解这些方法之间的差异,请查看“OLAP 与 OLTP:有什么区别?”

OLTP 系统示例

自互联网和电子商务时代出现以来,OLTP 系统已经无处不在。它们几乎存在于每个行业或垂直市场以及许多面向消费者的系统中。OLTP 系统的日常示例包括:

  • ATM 机(这是经典的、最常被引用的示例)和网上银行应用程序
  • 信用卡支付处理(在线和店内)
  • 订单输入(零售和后台)
  • 在线预订(票务、预订系统等)
  • 记录保存(包括健康记录、库存控制、生产调度、索赔处理、客户服务票务和许多其他应用程序)