PostgreSQL的MVCC vs InnoDB的MVCC

任何一个数据库最主要功能之一是可扩展。如果不删除彼此,则尽可能较少锁竞争从而达到这个目的。由于read、write、update、delete是数据库中最主要且频繁进行的操作,所以并发执行这些操作时不被阻塞则显得非常重要。为了达到这种目的,大部分数据库使用多版本并发控制(Multi-Version Concurrency Control)这种并发模型。这种模型能够将竞争减少到最低限度。
MVCC是什么
Multi Version Concurrency Control ( MVCC)是这样的一种算法:通过对同一个对象维护多个版本,提供一种很好的并发控制技术,这种技术能够使READ和WRITE操作不发生冲突。这里的WR
本文探讨了PostgreSQL和InnoDB在多版本并发控制(MVCC)方面的实现差异,包括INSERT、UPDATE、DELETE操作的具体处理,以及两者的空间回收、回滚和索引管理区别。PostgreSQL的MVCC可能导致表膨胀,而InnoDB使用单独的回滚段存储老版本,具有不同的空间管理和性能特点。
订阅专栏 解锁全文
380

被折叠的 条评论
为什么被折叠?



