資料庫的 Index 重點筆記

重要名詞

  • Table

    • 邏輯表
  • Row_id

    • 內部系統維護
    • 在某些系統 mysql innoDB 是同 primary key,但在 Postgres 是有個系統欄位 rowid (tuple id)
    • PostgreSQL 的 rowid 正確名稱是叫 ctid,形式是 tuple
  • Page

    • 多筆 row 會存在一個 Logical Page 中
    • 資料庫不是讀單列,而是讀一個或多個 page,在一次 IO 中取得多筆列資料
    • Postgres Page 的大小為 8KB,MySQL Page 的大小為 16KB
[閱讀全文]

資料庫的 Trasaction Isolation Level 與 ACID


開始前想先介紹一個 Youtube 上一個不錯的頻道:

https://www.youtube.com/@hnasr

裡面有許多軟工尤其是後端相關的知識,初階到進階都有,而且作者更新還滿頻繁的,相當值得訂閱

作者也有經營 Medium 和 Podcast,還有在 Udemy 開設課程,而我就買了 Udemy 的這門課 Fundamentals of Database Engineering

資料庫的文章可能都會以這門課程學習到的內容展開,有興趣的話也可以看看這門課 (從 Youtube 頻道上的課程連結都固定會有優惠價格)


ACID


維基百科是這樣說:

ACID 是資料庫管理系統 (DBMS) 在寫入或更新資料的過程中,為保證交易(transaction)是正確可靠的,所必須具備的四個特性

ACID 四個特性分別是:

  • Atomicity 不可分割性
  • Isolation 隔離性
  • Consistency 一致性
  • Duration 持久性
[閱讀全文]