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

什么是 OLTP?
OLTP 在线交易处理(Online Transaction Processing)是一个支持三层架构内面向交易的应用程序的操作系统。它管理组织的日常交易,专注于查询处理和在多访问环境下维护数据完整性。
OLTP系统的效率以其每秒处理的事务总数来衡量。为了实现这一目标,OLTP依赖于传统的 DBMS 即使许多用户同时读写数据,也能保持数据的一致性。
OLTP的特点
以下是OLTP系统的重要特征:
- OLTP 使用包含少量数据的事务。
- 数据库中的索引数据可以轻松访问。
- OLTP 拥有大量的用户。
- 它的反应速度很快。
- 数据库可供最终用户直接访问。
- OLTP 使用完全规范化的模式来确保数据库的一致性。
- OLTP系统的响应时间很短。
- 它严格仅对少数记录执行预定义的操作。
- OLTP 存储最近几天或一周的记录。
- 它支持复杂的数据模型和表。
这些特性共同保证了 OLTP 系统速度快、可靠性高,并且能够在日常业务运营期间为大量并发用户提供服务。
OLTP系统可以处理的查询类型
OLTP(联机事务处理)是一个在线数据库交互系统。因此,它支持诸如插入、更新和删除等数据库查询操作,以及对单个记录的快速查找。

考虑一家超市的销售点(POS)系统。以下是该系统可以处理的一些示例查询:
- 检索特定产品的描述。
- 筛选出与某个供应商相关的所有产品。
- 查找客户记录。
- 列出价格低于预期金额的产品。
同时处理众多客户的这些查询需要结构良好的设计,而这正是 OLTP 架构的用武之地。
ArchiOLTP 结构
典型的OLTP系统架构遵循分层流程,如下图所示,并通过其核心组件进行解释:
- 商业/企业战略: 企业战略处理的是影响整个组织的问题。在联机事务处理(OLTP)领域,企业战略通常由公司高层,即董事会或最高管理层制定。
- 业务流程: OLTP 业务流程是一系列活动和任务,一旦完成,即可实现组织目标。
- 客户、订单和产品: OLTP 数据库存储有关产品、订单(交易)、客户(买家)、供应商(卖家)和员工的信息。
- ETL 流程: 它 extrac它从各种 RDBMS 源系统中获取数据,转换数据(应用连接、计算等),并将处理后的数据加载到数据仓库系统中。
- 数据集市和数据仓库: A 数据库 是一种特定于数据仓库环境的结构或访问模式。OLAP 使用它来存储处理后的数据。
- 数据挖掘、分析和决策: 数据集市和数据仓库中存储的数据可用于 数据挖掘数据分析和决策。这些数据可以帮助您发现规律、分析原始数据,并为组织的增长做出分析性决策。
这种分层设计展示了 OLTP 捕获的交易数据最终如何为用于报告和决策的分析系统提供数据。
OLTP 中的 ACID 特性
由于OLTP系统处理大量并发事务,它们依赖于 酸性 为了保护数据完整性。ACID 代表 Atom可靠性、一致性、隔离性和持久性,以及所有可靠的 OLTP 事务都必须满足这四个条件。
- Atom冰城: 交易被视为一个整体。它要么完全完成,要么根本不会进行,因此未完成的转账永远不会被记录。
- 坚持是关键 每个事务都会将数据库从一个有效状态移动到另一个有效状态,并遵守所有规则和约束。
- 隔离: 并发事务互不干扰,因此同时进行的操作与依次进行的操作产生相同的结果。
- 高耐用性: 一旦事务提交,其更改将永久保留,即使系统随后立即崩溃也是如此。
关系型数据库,例如 MySQL, Oracle Database和 Microsoft SQL Server 强制执行这些 ACID 保证,因此它们仍然是事务密集型 OLTP 工作负载的默认选择。
OLTP 事务示例
OLTP 系统的经典例子是 ATM 机。假设一对夫妇在银行拥有一个联名账户。有一天,他们同时到达不同的 ATM 机,并且都想取出账户里的全部余额。
然而,只有最先完成身份验证流程的人才能取款。在这种情况下,OLTP系统会确保取款金额永远不会超过银行账户余额。关键在于,OLTP系统针对的是交易准确性而非数据分析进行了优化。
其他常见的OLTP系统示例包括:
- 网上银行业务
- 网上机票预订
- 发送短信
- 订单输入
- 将一本书添加到商店ping 购物车
OLTP 与 OLAP
虽然名称相似,但OLTP和OLAP的用途不同。下表解释了OLTP和OLAP之间的主要区别。 OLAP包括 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系统的数据来进行“假设分析”或决策制定。

