這系列已 MySQL 為主,其他資料庫為輔介紹資料庫設計原理,雖是 MySQL 為主,但很多概念是通用的,例如 Page & B+Tree & WAL & MVCC & Lock 等。
這個系列會分成七大段落:
1. MySQL 儲存結構介紹
2. MySQL 查詢效能優化方式
3. MySQL Transaction ACID 原理
4. MySQL Master-Slave 架構
5. 分散式資料庫設計
6. PostgreSQL 架構與 MySQL 的比較
7. 其他資料庫用途以及儲存結構介紹
MySQL 跟 PostgreSQL (PG) 都是主流的關聯式資料庫,但在儲存結構他們卻選擇了不同的策略,MySQL 以 B+Tree 為主,PG 則用 He...
PG 也是用 MVCC 實作 Isolation 機制,但卻沒有像 MySQL 的 Undo Log 結構。 那麼沒有 Undo Log,PG 要怎麼儲存不同版...
PG 一樣使用 MVCC 無鎖實現 Isolation RC & RR Level,但如果是 Write Skew & Phantom Read...
MongoDB 為知名的 document-based NoSQL DB,提供了 schema-free 的 document 儲存,和 data shardi...
Cassandra 是用來處理大量寫入的高可用分散式 Key-Value NoSQL DB,雖然是 NoSQL 但其實有 Schema,只不過 Schema 需...
SUM, AVG, COUNT 等聚合語法用於多筆資料計算,如果財務要 SUM 一整年訂單的獲利,資料量大時,堪比 Full Table Scan,MySQL...
文章搜尋是經典系統設計題,常見文字查詢有 Regex 跟 SQL Like,然而 Regex 效能差,SQL Like 不夠精準,例如 LIKE %dog% 會...
MySQL & PostgreSQL 都有 In-Memory 快取 (Buffer Pool & Shared Buffer),那為何實務上還...
ChatGPT 掀起 AI 熱潮後,「讓模型變成專家」的需求激增,帶動了 RAG 系統的實作熱潮,向量資料庫作為 RAG 的關鍵技術也跟著爆紅。 什麼是向量?向...
資料庫大哉問已 MySQL 為主介紹了許多資料庫設計用到的技術,這些技術不限於 MySQL,能在大多資料庫系統中看到類似的身影。 哪些技術是資料庫設計的共同基石...