第十七屆 佳作

software-development
資料庫大哉問
vicxu

系列文章

DAY 21

Day21 - PostgreSQL 特輯 - 為何要用 Heap 儲存資料?(Heap, Free Space Map, CTID & Tuple Pointer Array)

MySQL 跟 PostgreSQL (PG) 都是主流的關聯式資料庫,但在儲存結構他們卻選擇了不同的策略,MySQL 以 B+Tree 為主,PG 則用 He...

DAY 22

Day22 - PostgreSQL 特輯 - 如何實踐 Isolation?(xmin, xmax, VACCUM & HOT)

PG 也是用 MVCC 實作 Isolation 機制,但卻沒有像 MySQL 的 Undo Log 結構。 那麼沒有 Undo Log,PG 要怎麼儲存不同版...

DAY 23

Day23 - PostgreSQL 特輯 - 為何併發效能比 MySQL 好?(Serializable Snapshot Isolation & Clock Sweep Cache)

PG 一樣使用 MVCC 無鎖實現 Isolation RC & RR Level,但如果是 Write Skew & Phantom Read...

DAY 24

Day24 - MongoDB 特輯 - 為何無法實現完整的 ACID?(Isolation, Read & Write Concern)

MongoDB 為知名的 document-based NoSQL DB,提供了 schema-free 的 document 儲存,和 data shardi...

DAY 25

Day25 - Cassandra 特輯 - 為何適合大量寫入情境?(LSM Tree, Multi-Master)

Cassandra 是用來處理大量寫入的高可用分散式 Key-Value NoSQL DB,雖然是 NoSQL 但其實有 Schema,只不過 Schema 需...

DAY 26

Day26 - ClickHouse 特輯 - 什麼是 OLAP 資料庫?(Column Based DB & MergeTree)

SUM, AVG, COUNT 等聚合語法用於多筆資料計算,如果財務要 SUM 一整年訂單的獲利,資料量大時,堪比 Full Table Scan,MySQL...

DAY 27

Day27 - ElasticSearch 特輯 - 全文字搜尋是啥?(Lucene, Inverted Index & Trie)

文章搜尋是經典系統設計題,常見文字查詢有 Regex 跟 SQL Like,然而 Regex 效能差,SQL Like 不夠精準,例如 LIKE %dog% 會...

DAY 28

Day28 - Redis 特輯 - 為何 Redis 那麼快?(Data Structures & Non-Blocking IO)

MySQL & PostgreSQL 都有 In-Memory 快取 (Buffer Pool & Shared Buffer),那為何實務上還...

DAY 29

Day29 - AI 特輯 - 什麼是向量資料庫?(Vector & Similarity)

ChatGPT 掀起 AI 熱潮後,「讓模型變成專家」的需求激增,帶動了 RAG 系統的實作熱潮,向量資料庫作為 RAG 的關鍵技術也跟著爆紅。 什麼是向量?向...

DAY 30

Day30 - 資料庫大總結 (技術基石,定位與取捨)

資料庫大哉問已 MySQL 為主介紹了許多資料庫設計用到的技術,這些技術不限於 MySQL,能在大多資料庫系統中看到類似的身影。 哪些技術是資料庫設計的共同基石...