PostgreSQL 中的可序列化快照隔离
数据库
2012-08-22 v1
摘要
本文介绍了我们在 PostgreSQL 中实现新的可序列化隔离级别的经验。该实现基于最近开发的可序列化快照隔离(SSI)技术。这是 SSI 首次在生产级数据库版本中实现,也是首次在没有基于锁的可序列化隔离级别的数据库中实现。我们反思了我们的经验,并描述了如何克服由此产生的一些挑战,包括实现新的锁管理器、确保内存使用有界的技术,以及与其他 PostgreSQL 功能的集成。我们还引入了一种对 SSI 的扩展,以提高只读事务的性能。我们使用多个基准测试评估了 PostgreSQL 的可序列化隔离级别,结果表明其性能仅略低于快照隔离,但在读密集型工作负载上显著优于传统的两阶段锁定方法。
引用
@article{arxiv.1208.4179,
title = {Serializable Snapshot Isolation in PostgreSQL},
author = {Dan R. K. Ports and Kevin Grittner},
journal= {arXiv preprint arXiv:1208.4179},
year = {2012}
}
备注
VLDB2012