iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

CRUD仔的一生(上集) 系列

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

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

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

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

CRUD仔的一生(上) 前言 小時候老一輩的常說,"剛吃完飯不可以直接躺著,容易變成牛"。是否有懷疑過為什麼是牛,為什麼不是貓咪?不是豬呢?...

2023-09-15 ‧ 由 hohshencode 分享
DAY 2

[ACID] 事務(Transaction)

Transaction 前言 Transaction事務(交易),我喜歡將它翻譯成事務,因為他與買賣交易完全無關係,代表的其實是要將一段SQL丟進資料庫系統中,...

2023-09-16 ‧ 由 hohshencode 分享
DAY 2

[ACID] SX鎖(SXLock)

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

2023-09-16 ‧ 由 hohshencode 分享
DAY 3

[ACID]事務隔離(Isolation)

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

2023-09-17 ‧ 由 hohshencode 分享
DAY 4

[ACID] 顯式鎖(The Locking Clause)

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

2023-09-18 ‧ 由 hohshencode 分享
DAY 5

[ACID] 樂觀鎖(OptimisticLock)

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

2023-09-19 ‧ 由 hohshencode 分享
DAY 6

[ACID] 樂觀鎖(MVCC In Postgres)

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

2023-09-20 ‧ 由 hohshencode 分享
DAY 7

[ACID] 樂觀鎖(MVCC In MySQL)

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

2023-09-21 ‧ 由 hohshencode 分享
DAY 8

[ACID] 樂觀鎖(MySQL RR Problem)

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

2023-09-22 ‧ 由 hohshencode 分享
DAY 9

[ACID] Postgres WAL機制

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

2023-09-23 ‧ 由 hohshencode 分享