OLTP 或联机事务处理是一种数据处理类型,包括执行多个并发的事务,例如网上银行、购物、订单输入或发送文本消息。这些事务传统上被称为经济或财务事务,会被记录并加以保护,帮助企业随时访问这些信息,以用于会计或报告目的。
过去,OLTP 仅限于交换金钱、产品、信息、服务请求等某些东西的实际交互。但多年来,这种情景下事务的定义已经扩大,尤其是自互联网问世以来,它涵盖了可以从世界上任何地方,通过任何网络连接的传感器触发的任何类型数字交互或与企业的互动。它还包括任何类型的交互或操作,例如在网页上下载 PDF、查看特定视频或社交渠道上的自动维护触发器或备注;这些触发器或评论可能对于企业记录以更好地为客户提供服务至关重要。
经济或财务事务的主要定义为大多数 OLTP 系统奠定了基础,因此联机事务处理通常涉及在数据存储中插入、更新和/或删除少量数据,以收集、管理和保护这些事务处理。通常,Web、移动或企业应用程序会跟踪与客户、供应商或合作伙伴的所有交互或事务处理,并在 OLTP 数据库中对其进行更新。存储在数据库中的事务处理数据对企业来说至关重要,可用于报告或分析,以作出数据驱动的决策。
了解 Retraced、Archaeology Park of Pompeii、Jasci 或 Siemens 等其他公司如何成功在云中构建事务处理工作负载。
企业通常具有两种数据处理功能:OLTP 和 OLAP。
尽管听起来很相似,而且都是联机的数据处理系统,两者之间还是存在明显的差异。
OLTP 支持大量人员实时执行大量事务,而联机分析处理 (OLAP) 通常涉及在数据库中查询这些事务(也称为记录)以便进行分析。OLAP 帮助公司从其事务处理数据中提取洞察,以便利用它来制定更明智的决策。
下表显示了 OLTP 和 OLAP 系统之间的比较。
OLTP 系统 |
OLAP 系统 |
支持大量人员实时执行大量数据库事务 |
通常涉及查询数据库中的许多记录,甚至所有记录,以用于分析目的 |
需要闪电般的快速回应时间 |
要求的响应时间比 OLTP 慢几个数量级 |
频繁修改少量数据,通常涉及读写平衡 |
完全不修改数据;工作负载通常是读取密集型的 |
使用索引数据来缩短响应时间 |
以列格式存储数据,以便轻松访问大量记录 |
需要频繁或并发的数据库备份 |
不需要太频繁的数据库备份 |
需要相对较少的存储空间 |
通常有大量存储空间,因为它们存储了大量历史数据 |
通常运行仅涉及一个或多个记录的简单查询 |
运行涉及大量记录的复杂查询 |
因此,OLTP 是一个联机数据修改系统,而 OLAP 是一个联机历史多维数据存储系统,用于检索大量数据以进行分析。OLAP 通常对由一个或多个 OLTP 系统捕获的数据提供分析。
使用事务处理数据的 OLTP 系统最常见的结构是三层体系结构,通常由表示层、业务逻辑层和数据存储层组成。表示层是前端,其中事务是通过人工交互或由系统生成。逻辑层由验证事务处理并确保完成事务所需的所有数据可用的规则组成。数据存储层存储事务处理及相关的所有数据。
联机事务处理系统的主要特征如下:
关系数据库是专为事务性应用构建的。它们包含了存储和处理大量事务处理所需的所有基本要素,同时还在不断更新这些要素和功能,以便从这些丰富的事务处理数据中提取更多价值。关系数据库的设计初衷是提供尽可能高的可用性和快的性能。它们提供并发性和 ACID 合规性,因此数据准确、始终可用且易于访问。在提取数据之间的关系之后,数据将存储在表中,以便任何应用都可以使用数据,从而确保单一可信数据源。
由于事务处理变得越来越复杂,源自世界上任何地方的任何来源或设备,传统的关系数据库已无法满足现代事务处理工作流的需求。它们必须演进,以应对现代事务处理、异构数据和全球规模,更重要的是运行混合工作负载。关系数据库转化为多模式数据库,不仅可以存储和处理关系数据,还可以存储和处理其他所有类型的数据,包括 xml、html、JSON、Apache Avro 和 Parquet,以及本机形式的文档,而无需进行大量转换。关系数据库还需要添加更多功能,例如集群和分片,以便可以在全球范围内分布并无限扩展,从而存储和处理日益庞大的数据,并利用云端更便宜的存储空间。通过内存、高级分析、可视化和事务处理队列等其他功能,这些数据库现在可以运行多个工作负载,例如对事务处理数据运行分析或处理流 (物联网,IoT) 数据,或运行空间和图形分析。
云中构建的现代关系数据库自动执行数据库的许多管理和操作,使用户轻松供应和使用。它们提供自动供应、安全性、恢复、备份和扩展功能,因此 DBA 和 IT 团队需要花费更少的时间来维护它们。它们还嵌入了智能来自动调优和索引数据,使数据库查询的性能保持一致,而与数据量、并发用户数量或查询的复杂性无关。这些云数据库还包含自助功能和 REST API,以便开发人员和分析人员轻松访问和使用数据。这有助于简化应用开发,提供了灵活性,使开发人员更轻松地在应用中构建新功能和定制设置。它还简化了分析,让分析人员和数据科学家更轻松地使用数据来提取洞察。
IT 部门一直竭力跟上业务的发展速度,因此在选择操作型数据库时,务必考虑您当前和长期的数据需求。对于存储事务处理、维护记录系统或内容管理,您需要具有高并发性、高吞吐量、低延迟和关键任务特征(例如高可用性、数据保护和灾难恢复)的数据库。您的工作量很有可能在一天、一周或一年内波动,因此确保数据库自动缩放,可帮助您节省大量费用。您可能还需要决定使用专用数据库还是通用数据库。如果您的要求是针对特定类型的数据,专门构建的数据库可能适合您,但请确保不会影响您所需的任何其他特征。稍后在应用层中为这些特征进行构建将是昂贵且资源密集型的。此外,如果数据需求增长,而您希望扩展应用功能,添加更多单一用途或适用性的数据库只会创建数据孤岛并扩大数据管理问题。还必须考虑特定工作负载可能需要的其他功能,例如摄取要求、下推计算要求和大小限制。
选择能够自动执行所有数据管理、面向未来的云数据库服务,帮助数据消费者(开发人员、分析人员、数据工程师、数据科学家和 DBA)更有效地处理数据并加快应用开发。
详细了解出色的云端 OLTP 数据库服务 Oracle Autonomous Transaction Processing Database。欢迎免费试用。
注:为免疑义,本网页所用以下术语专指以下含义: