Michael Stonebraker最新数据库白皮书:窥镜下的OLTP以及我们的发现(一)

本文分析了传统OLTP数据库系统在现代硬件环境下的性能,探讨了无日志、单线程、无事务等变体的可能性。通过对Shore数据库系统进行基准测试和组件优化,发现日志记录、封锁、锁存和缓冲区管理是主要性能瓶颈。实验结果显示,移除这些功能可提升性能约20倍。论文强调了内存数据库、单线程处理和事务变体在数据库设计中的新趋势。
摘要由CSDN通过智能技术生成

作者:Stavros Harizopoulos, Daniel J. Abadi, Samuel Madden, Michael Stonebraker

联机事务处理 (OLTP) 数据库包含一系列针对 20 世纪 70 年代的计算机技术而优化的功能 —— 磁盘 B 树和堆文件、基于锁的并发控制、多线程支持等等。现代处理器、存储器和网络的进步意味着,今天的计算机与 30 年前的计算机大为不同,以至于现在许多 OLTP 数据库都可以放在主存储器,并且大多数 OLTP 事务可以在几毫秒甚至更短的时间内得到处理。然而,数据库架构几乎没有发生变化。

基于这一观察,我们研究了传统数据库系统一些有趣的变体,人们可以构建它们来利用最近的硬件趋势,然后我们使用一个事务处理数据库系统 (Shore) 来运行 TPC-C 基准程序的一个子集,并通过这个系统所涉及的主要组件的详细指令级分解来推测它们的性能。我们没有简单地剖析 Shore ,而是逐步地修改它,以便在每次功能删除或优化之后,我们都有一个(更快的)工作系统来完整运行我们的工作负载。总的来说,我们确定了可以解释原始性能存在大约 20 倍差异的开销和优化。我们还证明,现代(内存驻留)数据库系统没有单个的 “ 瓶颈 ” ,但日志记录、锁存、封锁、 B 树和缓冲区管理操作上花费了大量时间。

分类和主题词

H.2.4 [ 数据库管理 ] :系统 —— 事务处理;并发。

通用术语

测量、性能、实验。

关键词

联机事务处理、 OLTP 、主存储器事务处理、数据库管理系统架构。

  1. 前言

现代通用在线事务处理 (OLTP) 数据库系统包括一组标准功能:一系列用于表存储的磁盘数据结构(包括堆文件和 B 树),通过基于锁的并发控制支持多个并发查询,基于日志的恢复和高效的缓冲区管理器。人们开发这些功能来支持 20 世纪 70 和 80 年代的事务处理,那时的 OLTP 数据库比主存储器大很多倍,而运行这些数据库的计算机成本高达数十万到数百万美元。

如今的情况则完全不同。首先,现代处理器运行速度非常快,以至于很多 OLTP 事务的计算时间以微秒计算。人们只需几千美元就可以购买到主存储器容量为数 GB 的系统。此外,组织机构拥有由众多此类工作站组成的网络集群并不罕见,其中的存储器总容量以数百 GB 来计算,这足以将许多 OLTP 数据库放在随机存取存储器中。

其次,因特网的兴起和用于众多领域的各种数据密集型应用程序导致人们对类似于数据库的应用程序的兴趣越来越大,而这些应用程序没有全套的标准数据库功能。如今,操作系统和网络会议充满了针对 “ 类似于数据库 ” 的存储系统的方案,这些存储系统具有不同形式的一致性、可靠性、并发性、复制性和查询能力 [DG04, CDG+06, GBH+00, SMK+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值