OLTP 的定义

OLTP 或联机事务处理是一种数据处理类型,包括执行多个并发的事务,例如网上银行、购物、订单输入或发送文本消息。这些事务传统上被称为经济或财务事务,会被记录并加以保护,帮助企业随时访问这些信息,以用于会计或报告目的。

过去,OLTP 仅限于交换金钱、产品、信息、服务请求等某些东西的实际交互。但多年来,这种情景下事务的定义已经扩大,尤其是自互联网问世以来,它涵盖了可以从世界上任何地方,通过任何网络连接的传感器触发的任何类型数字交互或与企业的互动。它还包括任何类型的交互或操作,例如在网页上下载 PDF、查看特定视频或社交渠道上的自动维护触发器或备注;这些触发器或评论可能对于企业记录以更好地为客户提供服务至关重要。

经济或财务事务的主要定义为大多数 OLTP 系统奠定了基础,因此联机事务处理通常涉及在数据存储中插入、更新和/或删除少量数据,以收集、管理和保护这些事务处理。通常,Web、移动或企业应用程序会跟踪与客户、供应商或合作伙伴的所有交互或事务处理,并在 OLTP 数据库中对其进行更新。存储在数据库中的事务处理数据对企业来说至关重要,可用于报告或分析,以作出数据驱动的决策。

了解 Retraced Archaeology Park of Pompeii Jasci 或 Siemens 等其他公司如何成功在云中构建事务处理工作负载。

企业通常具有两种数据处理功能:OLTP 和 OLAP。

OLTP 和 OLAP

尽管听起来很相似,而且都是联机的数据处理系统,两者之间还是存在明显的差异。

OLTP 支持大量人员实时执行大量事务,而联机分析处理 (OLAP) 通常涉及在数据库中查询这些事务(也称为记录)以便进行分析。OLAP 帮助公司从其事务处理数据中提取洞察,以便利用它来制定更明智的决策。

下表显示了 OLTP 和 OLAP 系统之间的比较。

因此,OLTP 是一个联机数据修改系统,而 OLAP 是一个联机历史多维数据存储系统,用于检索大量数据以进行分析。OLAP 通常对由一个或多个 OLTP 系统捕获的数据提供分析。

OLTP 系统要求

使用事务处理数据的 OLTP 系统最常见的结构是三层体系结构,通常由表示层、业务逻辑层和数据存储层组成。表示层是前端,其中事务是通过人工交互或由系统生成。逻辑层由验证事务处理并确保完成事务所需的所有数据可用的规则组成。数据存储层存储事务处理及相关的所有数据。

联机事务处理系统的主要特征如下:

  • ACID 合规: OLTP 系统必须确保正确记录整个事务处理。事务处理通常涉及执行多个步骤或操作的程序执行。它可能在所有相关方确认事务、交付产品/服务,或对数据库中的特定表进行一定数量的更新时完成。仅当执行并记录了涉及的所有步骤时,事务处理才算是获得了正确的记录。如果任何一个步骤有任何错误,则必须中止整个事务处理,并且从系统中删除所有步骤。因此,OLTP 系统必须符合原子性、一致性、隔离性和持久性 (ACID),以确保系统中数据的准确性。
  • 原子性:原子性控制确保事务处理中的所有步骤作为一个组成功完成。也就是说,如果事务处理之间的任何步骤失败,则所有其他步骤也必须失败或回滚。事务处理的成功完成称为提交。事务处理的失败称为中止。
  • 一致性:事务处理保留数据库的内部一致性。如果您在最初一致的数据库中单独执行事务处理,则当事务处理完成执行时,数据库再次保持一致。
  • 隔离性:事务处理的执行方式就像它单独运行一样,没有涉及其他事务处理。也就是说,运行一组事务处理的效果与一次运行一项事务处理的效果相同。这种行为称为可串行化,通常通过锁定表中的特定行来实现。
  • 持久:事务处理的结果不会因失败而丢失。
  • 并发性: OLTP 系统的用户群可以非常庞大,许多用户尝试同时访问相同的数据。系统必须确保尝试读取或写入系统的所有用户都可以同时执行此操作。并发控制确保两个用户同时访问数据库系统中的相同数据将无法更改该数据,或者一个用户必须等到另一个用户完成处理后才能更改数据。
  • 扩展性: OLTP 系统必须能够即时扩展和缩小,以实时管理事务处理量并同时执行事务处理,而与尝试访问系统的用户数量无关。
  • 可用性: OLTP 系统必须始终可用并随时准备接受事务处理。事务处理失败可能导致收入损失或产生法律影响。事务处理可以在全球任何地方随时执行,因此系统必须全天候可用。
  • 高吞吐量并缩短响应时间: OLTP 系统需要纳秒甚至更短的响应时间,来提高企业用户的工作效率并满足客户不断增长的期望。
  • 可靠性: OLTP 系统通常读取和操作高度选择性的少量数据。更重要的是,在任何指定时间点,数据库中的数据对于访问该数据的用户和应用程序来说都是可靠且值得信赖的。
  • 安全性: 由于这些系统存储高度敏感的客户事务处理数据,因此数据安全性至关重要。任何违规行为对公司来说都需要付出非常昂贵的代价。
  • 可恢复性: OLTP 系统必须在发生任何硬件或软件故障时具有恢复能力。
  • 面向 OLTP 工作负载的数据库

    关系数据库是专为事务性应用构建的。它们包含了存储和处理大量事务处理所需的所有基本要素,同时还在不断更新这些要素和功能,以便从这些丰富的事务处理数据中提取更多价值。关系数据库的设计初衷是提供尽可能高的可用性和快的性能。它们提供并发性和 ACID 合规性,因此数据准确、始终可用且易于访问。在提取数据之间的关系之后,数据将存储在表中,以便任何应用都可以使用数据,从而确保单一可信数据源。

    事务处理数据库的发展史

    由于事务处理变得越来越复杂,源自世界上任何地方的任何来源或设备,传统的关系数据库已无法满足现代事务处理工作流的需求。它们必须演进,以应对现代事务处理、异构数据和全球规模,更重要的是运行混合工作负载。关系数据库转化为多模式数据库,不仅可以存储和处理关系数据,还可以存储和处理其他所有类型的数据,包括 xml、html、JSON、Apache Avro 和 Parquet,以及本机形式的文档,而无需进行大量转换。关系数据库还需要添加更多功能,例如集群和分片,以便可以在全球范围内分布并无限扩展,从而存储和处理日益庞大的数据,并利用云端更便宜的存储空间。通过内存、高级分析、可视化和事务处理队列等其他功能,这些数据库现在可以运行多个工作负载,例如对事务处理数据运行分析或处理流 (物联网,IoT) 数据,或运行空间和图形分析。

    云中构建的现代关系数据库自动执行数据库的许多管理和操作,使用户轻松供应和使用。它们提供自动供应、安全性、恢复、备份和扩展功能,因此 DBA 和 IT 团队需要花费更少的时间来维护它们。它们还嵌入了智能来自动调优和索引数据,使数据库查询的性能保持一致,而与数据量、并发用户数量或查询的复杂性无关。这些云数据库还包含自助功能和 REST API,以便开发人员和分析人员轻松访问和使用数据。这有助于简化应用开发,提供了灵活性,使开发人员更轻松地在应用中构建新功能和定制设置。它还简化了分析,让分析人员和数据科学家更轻松地使用数据来提取洞察。

    如何为您的 OLTP 工作负载选择正确的数据库

    IT 部门一直竭力跟上业务的发展速度,因此在选择操作型数据库时,务必考虑您当前和长期的数据需求。对于存储事务处理、维护记录系统或内容管理,您需要具有高并发性、高吞吐量、低延迟和关键任务特征(例如高可用性、数据保护和灾难恢复)的数据库。您的工作量很有可能在一天、一周或一年内波动,因此确保数据库自动缩放,可帮助您节省大量费用。您可能还需要决定使用专用数据库还是通用数据库。如果您的要求是针对特定类型的数据,专门构建的数据库可能适合您,但请确保不会影响您所需的任何其他特征。稍后在应用层中为这些特征进行构建将是昂贵且资源密集型的。此外,如果数据需求增长,而您希望扩展应用功能,添加更多单一用途或适用性的数据库只会创建数据孤岛并扩大数据管理问题。还必须考虑特定工作负载可能需要的其他功能,例如摄取要求、下推计算要求和大小限制。

    选择能够自动执行所有数据管理、面向未来的云数据库服务,帮助数据消费者(开发人员、分析人员、数据工程师、数据科学家和 DBA)更有效地处理数据并加快应用开发。

    详细了解出色的云端 OLTP 数据库服务 Oracle Autonomous Transaction Processing Database 欢迎免费试用