2026 年香港高併發系統實戰:MongoDB、DynamoDB 與 Cassandra 的數據建模抉擇
導言:當「夠用」變成「唔夠用」
S.C.G.A. Team
10 11, 2026
導言:當「夠用」變成「唔夠用」
2026 年的香港,數碼基建已經不再是競爭優勢,而是入場門檻。從中環的虛擬銀行到觀塘的跨境電商倉庫,從 HKTVmall 的訂單洪峰到八達通式的即時支付清算,系統每天要處理的寫入量與查詢模式,早已超出傳統關聯式資料庫的舒適區。當你發現 PostgreSQL 的連接池在午市外賣高峯被打爆,或者一個簡單的「查詢用戶過去 90 天交易」要 join 五張表,問題往往不在硬件,而在數據建模。
本文不談「哪個資料庫最好」這種偽命題,而是聚焦三種在 2026 年香港市場最常見的 NoSQL 建模路線:MongoDB 的 document modeling、DynamoDB 的 single-table design,以及 Cassandra 的寬列分區策略。我們會用香港的實際業務場景——跨境支付、餐飲外賣、物聯網物流——去說明每種模式的適用邊界與陷阱。
MongoDB 的文檔建模:靈活不等於隨便
MongoDB 在香港初創與中型企業中極受歡迎,原因很直接:schema 靈活、開發速度快、與 JavaScript 生態無縫接軌。但 2026 年的教訓是,文檔建模的最大風險正是「太自由」。許多團隊把 MongoDB 當成「無 schema 的 MySQL」,結果在數據量突破千萬級後,查詢效能崩塌。
正確的文檔建模應該以「聚合根」為單位。以香港餐飲外賣平台為例,一張訂單連同其菜品明細、配送狀態、支付記錄,應該嵌入同一個 document,而不是拆成四張 collection。這樣一次 findOne 就能取出完整訂單,避免應用層做多次 round-trip。關鍵原則是:一起讀取的數據,就一起儲存。但反過來,如果配送狀態需要獨立高頻更新,就應該拆成子文檔或獨立 collection,避免整份 document 重寫。
另一個香港常見場景是跨境電商的商品目錄。商品有中英文名稱、多幣種價格、多倉庫庫存,這些變動頻率低但結構多樣,非常適合 document modeling。但要注意 16MB 的文檔上限,以及陣列無限增長的風險——例如「用戶瀏覽記錄」若不斷 push 進同一個 document,早晚會爆。2026 年的最佳實踐是:熱數據嵌入、冷數據引用,並利用 MongoDB 的 time-series collection 處理感測器或點擊流數據。
DynamoDB 的 Single-Table Design:為查詢而生的極致
如果說 MongoDB 是「先建模再優化查詢」,DynamoDB 就是「先定義查詢再建模」。Single-table design 是 AWS 社群在 2020 年代後期大力推廣的模式,到 2026 年已成為香港金融科技與高頻交易類應用的標準做法。它的核心思想是:用一張表承載所有實體,用分區鍵與排序鍵的組合來滿足所有存取模式。
以香港虛擬銀行的交易記錄為例。傳統做法是 users、accounts、transactions 三張表;single-table design 則會用 PK = USER#123、SK = TXN#2026-03-15#... 這樣的複合鍵,把用戶資料、賬戶餘額、交易明細全部放進同一張表。好處是:查詢「某用戶最近 20 筆交易」只需一次 Query,延遲穩定在個位數毫秒,而且成本可預測。
但這種模式的代價是學習曲線極陡。你必須在寫第一行程式碼前,就列出所有 access pattern,並設計好 GSI(Global Secondary Index)。香港團隊常見的錯誤是「照抄關聯式思維」,結果 GSI 開太多、成本失控。2026 年的實戰建議是:先用單表設計覆蓋 80% 的核心查詢,剩餘的報表與分析需求交給 DynamoDB Streams 導出到 S3 或 Redshift。此外,香港企業若涉及跨境資料,需注意 DynamoDB Global Tables 的區域選擇與合規問題。
Cassandra 的寬列分區:為寫入洪峰而設
Cassandra 在香港的應用場景相對集中:物聯網、物流追蹤、即時監控、以及需要跨數據中心高可用的系統。它的強項是線性擴展的寫入吞吐量,以及無單點故障的架構。2026 年,隨著香港智慧物流與冷鏈監控的普及,Cassandra 的分區建模再次成為熱門話題。
Cassandra 建模的第一原則是:分區鍵決定數據落在哪個節點,排序鍵決定數據在分區內的順序。以香港的跨境貨運追蹤為例,若查詢模式是「查某貨櫃最近 24 小時的溫度讀數」,則分區鍵應設為 container_id,排序鍵設為 timestamp(降序)。這樣查詢會直接命中單一分區,效率極高。但若分區鍵設計不當,例如用 timestamp 當分區鍵,就會產生熱點,所有寫入擠在同一節點。
香港團隊常見的陷阱是「用 Cassandra 做它不擅長的事」——例如需要 join、需要即時聚合、需要頻繁更新同一行。Cassandra 的更新其實是寫入新版本,舊資料靠 compaction 清理,因此不適合高頻更新餘額這類場景。2026 年的最佳實踐是:用 Cassandra 處理寫多讀少、時間序列、且查詢模式固定的數據;若需要靈活查詢,應搭配 Elasticsearch 或 ClickHouse 做二級索引與分析。
香港規模應用的選型矩陣:三個真實案例
理論講完,來看三個香港案例。案例一:跨境支付平台。該平台每日處理數百萬筆交易,需要強一致性的賬戶餘額與可審計的交易流水。他們最終選擇 DynamoDB single-table design 搭配 TransactWriteItems,因為交易查詢模式固定(按用戶、按時間),且需要跨區域容災。MongoDB 在此場景因事務成本較高而未被採用。
案例二:連鎖餐飲外賣。該品牌在香港有超過 300 間分店,高峯期每秒數千張訂單。他們用 MongoDB 做訂單與菜單建模,因為菜品結構多變、促銷組合複雜,document modeling 讓產品團隊能快速迭代。但他們將配送軌跡數據分流到 Cassandra,因為那部分是典型的高寫入時間序列。
案例三:智慧冷鏈物流。這家公司在葵涌貨櫃碼頭部署了數千個感測器,每 10 秒上報溫度與濕度。他們選擇 Cassandra,因為寫入量極大、查詢模式單一(按貨櫃與時間範圍),且需要跨三個數據中心同步。若用 DynamoDB,成本會因寫入容量單位而大幅上升;若用 MongoDB,則需自行處理分片與運維。
這三個案例的共同結論是:沒有一種資料庫能通吃。2026 年的香港企業更傾向「polyglot persistence」——用對的工具做對的事,並在應用層做好數據同步與一致性取捨。
2026 年的建模新趨勢:AI 輔助與合規內建
展望 2026 年下半場,香港的數據建模正面臨兩個新變數。第一是 AI 輔助建模:AWS 與 MongoDB 都已推出基於自然語言查詢模式自動建議 schema 與索引的工具。香港團隊開始用這些工具做「what-if 分析」,在開發前模擬不同建模方案的延遲與成本。但工具只是輔助,核心仍是對業務查詢模式的理解。
第二是 合規內建。隨著香港《個人資料(私隱)條例》修訂與跨境數據流動規範收緊,數據建模不再只是效能問題,更是合規問題。例如,客戶個人資料是否必須留在香港區域?審計日誌要保留多久?這些都會影響分區鍵設計與資料生命週期策略。2026 年的最佳實踐是:在建模階段就標註資料敏感度與保留期限,並利用 TTL(Time-To-Live)自動清理過期數據,減少合規風險。
結論:建模是商業決策,不是技術炫技
回到最初的問題:MongoDB、DynamoDB 還是 Cassandra?答案取決於你的查詢模式、寫入規模、一致性要求與合規邊界。MongoDB 適合結構多變、讀取聚合為主的場景;DynamoDB 適合查詢模式明確、需要極致延遲與成本控制的場景;Cassandra 適合寫入洪峰、時間序列、跨區域高可用的場景。2026 年的香港市場,成功的團隊不是選了「最強」的資料庫,而是選了「最匹配業務」的建模模式,並在單表設計、文檔嵌入與分區策略之間做出清醒的取捨。記住:資料庫不會拯救糟糕的查詢模式,但好的建模能讓系統在香港這個節奏急促的市場中,跑得又穩又快。