iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

CRUD仔的一生(上集) 系列

CRUD是學習資料庫最基本的操作,
同時也是資料庫最具學問的一項操作.
更是易學難深的一門藝術.
不同類型的資料庫,呈現著不同解決問題的思維.
面對高度併發時,會如何依照情況優化與取捨.

CRUD仔的一生(上集):
主要介紹單體式資料庫的運作原理與一些定理的註解,特別注重資料結構.
CRUD仔的一生(下集):
加入分散式資料庫的運作原理與定理解釋,會特別注重演算法與運作優缺點.

鐵人鍊成 | 共 32 篇文章 | 25 人訂閱 訂閱系列文 RSS系列文
DAY 1

[前言] 寫後端一定ipad資料庫

CRUD仔的一生(上) 前言 為什麼要理解「原因」而不只是「結論」? 小時候長輩常說:「剛吃完飯不可以直接躺著,不然會消化不良。」 小孩總會追問:「為什麼?」大...

DAY 2

[ACID] 事務(Transaction)

Transaction 前言 Transaction 在中文裡常被翻譯成「交易」或「事務」,但其實它跟買賣交易完全無關。Transaction 代表的是將一段...

DAY 2

[ACID] SX鎖(SXLock)

前言 上一篇我們介紹了資料庫系統利用類似 lock 的方式來實踐transaction,達到事務隔離(Isolation)的效果,這裡我們將介紹資料庫系統是如何...

DAY 3

[ACID]事務隔離(Isolation)

前言 前面我們知道了 db 為了增加 throughput,所以在資料庫系統之中會同時有許許多多的 tx 同時運行,假設 db 完全沒有任何上鎖完全拋開束縛的情...

DAY 4

[ACID] 顯式鎖(The Locking Clause)

前情提要 這是一個鎖匠的故事,在很久很久以前......有兩個鎖匠 第一個鎖 悲觀鎖(Pessimistic Lock) 隱式鎖 顯示鎖 什麼是隱式鎖...

DAY 5

[ACID] 樂觀鎖(OptimisticLock)

前情提要 前面我們介紹了 isolation level 的隱式鎖與顯示鎖,這些都是確確實實的將資料加上鎖,當資料被上鎖後,必須等待前者的鎖釋放後才能取用,也就...

DAY 6

[ACID] 樂觀鎖(MVCC In Postgres)

Postgres MVCC 原理 前言 前面介紹了樂觀鎖的原理,這裡將介紹在 postgres 中,是如何利用樂觀鎖的原理來建構 MVCC DB 的。 CRUD...

DAY 7

[ACID] 樂觀鎖(MVCC In MySQL)

Mysql MVCC 原理 前言 前面介紹了樂觀鎖的原理,這裡將介紹在 Mysql 中,是如何利用樂觀鎖的原理來建構 MVCC DB 的。 基本介紹 在理解 m...

DAY 8

[ACID] 樂觀鎖(MySQL RR Problem)

Mysql REPEATABLE READ Problem 前言 經過 pg mvcc 與 mysql mvcc 的介紹後,我們知道 SX lock 和 MVC...

DAY 9

[ACID] Postgres WAL機制

預寫日誌 Write Ahead Log (Wal) 前情提要 還記得學生時期老師在教課時,一邊學習一邊抄筆記個樣子嗎? 買了一本精美的筆記,裡面寫力與美的字體...