联机事务处理 (OLTP) 数据库包含一系列针对 20 世纪 70 年代的计算机技术而优化的功能 —— 磁盘 B 树和堆文件、基于锁的并发控制、多线程支持等等。现代处理器、存储器和网络的进步意味着,今天的计算机与 30 年前的计算机大为不同,以至于现在许多 OLTP数据库都可以放在主存储器,并且大多数 OLTP 事务可以在几毫秒甚至更短的时间内得到处理。然而,数据库架构几乎没有发生变化。
基于这一观察,我们研究了传统数据库系统一些有趣的变体,人们可以构建它们来利用最近的硬件趋势,然后我们使用一个事务处理数据库系统 (Shore) 来运行 TPC-C 基准程序的一个子集,并通过这个系统所涉及的主要组件的详细指令级分解来推测它们的性能。我们没有简单地剖析 Shore ,而是逐步地修改它,以便在每次功能删除或优化之后,我们都有一个(更快的)工作系统来完整运行我们的工作负载。总的来说,我们确定了可以解释原始性能存在大约 20 倍差异的开销和优化。我们还证明,现代(内存驻留)数据库系统没有单个的 “ 瓶颈 ” ,但日志记录、锁存、封锁、 B 树和缓冲区管理操作上花费了大量时间。
分类和主题词
H.2.4 [ 数据库管理 ] :系统 —— 事务处理;并发。
通用术语
测量、性能、实验。
关键词
联机事务处理、 OLTP 、主存储器事务处理、数据库管理系统架构。