PostgreSQL
Skilled
A Tour of PostgreSQL Concurrency Control
IB302 12:15 ~ 12:55 MandarinConcurrency Control「並發控制」是資料庫中能夠保持 ACID 中的 I (Isolation 隔離性) 和 C (Consistency 一致性) 的機制。 常見的「並發控制」技術有三種,分別是:MVCC (Multiversion Concurrency Control,多版本並發控制),S2PL (Strict TwoPhase Locking,嚴格的兩階段鎖定) 與 OCC (Optimistic Concurrency Control,樂觀並發控制)。 PostgreSQL 使用的是 MVCC 來實現「並發控制」,本次 Talk 藉由探討 PostgreSQL MVCC 的內部實作,來理解 PostgreSQL 的資料庫特性。最後藉由比較 PostgreSQL 與 Mysql 的 MVCC 實作上的不同,來理解兩個主流資料庫的差異性。 聽完本次 Talk 你會學到下列知識點: - 理解 Heap Tuple 結構 - 什麼是 MVCC? - PostgreSQL 如何實做 MVCC ? - 「新增資料」、「刪除資料」、「更新資料」在 PostgreSQL 如何進行。 - 交易快照 (Transaction Snapshot)是什麼? - Heap Only Tuple (HOT) 是什麼? - PostgreSQL 跟 Mysql 的 MVCC 有什麼不同? - 比較 PostgreSQL 跟 Mysql 的 MVCC 在極端情況下的表現。