為什麼這個章節獨立成篇#

「資料庫」是工具,「儲存架構」是怎麼選與組合這些工具去支撐業務。電商是放大這些選擇的最佳場景:

  • 訂單、商品、購物車、賬戶 ── 各有不同儲存特性
  • 從零到 100 萬訂單、再到 100 億訂單 ── 演化路徑明確
  • 一致性、可用性、性能、成本的取捨在每個系統都不同

本章用電商作為案例貫穿儲存架構的核心問題。涵蓋:訂單冪等與 ABA、商品多模態儲存、購物車混合儲存、隔離級別、分散式事務、ES 商品搜尋、快取策略、讀寫分離、分庫分表、Redis 叢集、不停機換庫、物件儲存、海量資料管道、NewSQL、LSM-Tree。

既有章節關聯#

已存在的章節覆蓋範圍
02-database/01 MySQL 架構連接器/解析器/優化器/執行器
02-database/02 索引B+ Tree、覆蓋索引、索引下推
02-database/03 事務與鎖ACID、MVCC、死鎖、一致性視圖
02-database/04 日誌系統redo log、undo log、binlog
02-database/05 高可用主備複製、雙 M、讀寫分離、binlog 格式
02-database/06 效能調優慢查、EXPLAIN、參數
02-database/07 Redis 資料結構跳表、壓縮列表、漸進式 rehash
06-distributed-systems分散式系統通則

本章不重複底層內容,集中在「電商場景下怎麼用、怎麼演化、怎麼選型」。技術細節需要時跨章引用。

章節地圖#

章節主題
01-ecommerce-system-design系統劃分、訂單冪等、ABA 問題
02-product-and-cart-storage商品多模態儲存、購物車前後端混合
03-transactions-and-isolationInnoDB 隔離級別實戰、對賬
04-distributed-transactions2PC、本地訊息表、TCC、Saga、Outbox
05-search-elasticsearch倒排索引、商品索引設計、搜尋召回
06-cache-strategiescache-aside、穿透/雪崩/擊穿、Bloom filter
07-read-write-split-replication讀寫分離、複製狀態機、最終一致性處理
08-archiving-and-sharding歷史歸檔、分片鍵、分片演算法、跨片查詢
09-redis-cluster-and-syncRedis Cluster、超大規模、Binlog 實時同步
10-online-database-migration不停機換庫:雙寫、比對、灰度切流
11-object-storage物件儲存、大檔案拆塊、一致性 hash
12-massive-data-pipelineKafka、HDFS、OLAP 選型
13-storage-technology-selection線上業務 vs 分析系統的選型決策
14-newsqlCockroachDB / Spanner 風格、彈性擴容
15-rocksdb-and-lsm-treeLSM-Tree 讀寫權衡、compaction

學習路徑#

  • 正在做電商 / 高並發系統:01 → 03 → 04 → 06 → 07 → 08(核心一條龍)
  • 資料量正在從 GB 變 TB:08 → 09 → 10 → 12(演化路徑)
  • 想深入儲存引擎:03 → 11 → 14 → 15(從交易到底層)
  • 架構師選型參考:13 為主,配合各章一節