Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

第七章:不同資料庫如何實作 MVCC 機制 - Jay Chou #85

Open
at7211 opened this issue Jul 26, 2022 · 1 comment
Open

第七章:不同資料庫如何實作 MVCC 機制 - Jay Chou #85

at7211 opened this issue Jul 26, 2022 · 1 comment
Labels
need tracking Need additional survey question Further information is requested

Comments

@at7211
Copy link

at7211 commented Jul 26, 2022

如文章所說的, transaction 可以拿到不同版本的資料,是因為依賴了 MVCC,但不同資料庫是如何存放不同版本的資料,其實底層實作是不一樣的。
例如 Postgresl 如下: 不改動舊資料,在同樣的空間新增一筆
Screen Shot 2022-07-27 at 5 08 13 PM
而 MySQL 如下: 原地改 data,舊的資料拿去放別的地方
Screen Shot 2022-07-27 at 5 14 45 PM
圖片來源 - MVCC
延伸的議題儲存空間使用的效率、過時資料清除/空間回收、相關 index 的更新等等

這方面我其實也還沒很懂,看有沒有人可以分享這方面的認知
這邊有個經典案例: Why Uber Engineering Switched from Postgres to MySQL
反擊方,大意是 postgres 的好你不懂
最後是這篇,談 Uber 從 PostgreSQL 轉用 MySQL 的技術爭議
菜雞如我看不太懂,拋磚引玉希望大大們可以解惑

@kylemocode kylemocode added the question Further information is requested label Jul 27, 2022
@at7211 at7211 changed the title 第七章:MVCC下的 index 更新機制 - Jay Chou 第七章:不同資料庫如何實作 MVCC 機制 - Jay Chou Jul 27, 2022
@jxiu0129
Copy link

jxiu0129 commented Jul 27, 2022

補充:mysql -> pg -> mysql

@kylemocode kylemocode added the need tracking Need additional survey label Jul 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need tracking Need additional survey question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants