Azure 資料
同一朵雲,兩種資料庫哲學:Cosmos DB 與 Azure SQL 的選型
同一朵雲,兩種資料庫哲學:Cosmos DB 與 Azure SQL 的選型
「Cosmos DB 跟 Azure SQL 選哪個」這個問題,其實問錯了。它們處理的是兩件不同的事,會被放在一起比,多半是因為都掛著資料庫這三個字。
這篇試著把問題換掉:先分清楚你在決定什麼,再看兩邊各自的取捨,最後才是 2026 年那些值得注意的新東西。
你將學到什麼
先分清楚三件事
資料形狀、寫入分布、一致性容忍度,這三題決定了後面所有選擇。
多區域寫入的代價
每個區域都能寫,換來的是你必須自己決定寫入衝突怎麼解。
受控執行個體的角色
接近 100% 相容加上原生虛擬網路隔離,目標是讓舊應用少改就搬得動。
2026 年的變化
Cosmos DB 補齊了向量索引、全域次要索引與每分割區自動容錯移轉。
選資料庫最常見的失敗,不是選錯產品,是根本沒把「我在決定什麼」講清楚就開始比功能表。
所以這篇先把決策拆成三個問句,再回頭看 Cosmos DB 與 Azure SQL 各自在哪一格。
先分清楚你在決定三件事
- 資料形狀:你的資料有沒有穩定的關聯結構?需不需要跨表交易與複雜彙整?
- 寫入分布:寫入集中在一個地區,還是使用者散在全球、每個地區都要就近寫?
- 一致性容忍度:讀到幾百毫秒前的舊值,會不會讓業務出錯?
這三題答完,選型的空間會小很多。第二題尤其關鍵,因為它決定了架構的形狀,不是設定值。
Cosmos DB:把「離使用者近」寫進資料庫本身
官方對 Cosmos DB 的描述是全球分散式資料庫系統,讓你從本地複本讀寫資料,並透明地把資料複寫到帳號關聯的所有區域。
重點是那個「透明」。加區域、減區域都不需要暫停或重新部署應用,這在傳統資料庫幾乎是不可能的操作。
官方文件(2026 年 6 月更新)列出多區域資料庫的讀寫可用性 SLA 為 99.999%,並提供五種一致性模型讓你在一致性與效能之間選位置。
Cosmos DB 的效能與成本,八成取決於分割區鍵選得好不好。選一個分布均勻、而且大多數查詢都會帶上的欄位,跨分割區查詢就會少;選錯了,之後要改的代價比重寫查詢大得多。2026 年官方雖然推出了變更分割區鍵的能力,但那是止血,不是免死金牌。
2026 年的 Cosmos DB,已經是 AI 應用的資料層
向量可以直接存在文件的欄位裡,跟原始資料放在同一個邏輯單位,省掉再養一套純向量資料庫的成本。
| 向量索引型別 | 行為 | 適合的情境 |
|---|---|---|
| flat | 暴力搜尋,召回率 100%,維度上限較低 | 資料量小,或已用篩選條件把範圍縮得很窄 |
| quantizedFlat | 先壓縮再存索引,仍是暴力搜尋,精度略降 | 範圍內向量數量不多的中小型情境 |
| diskANN | Microsoft Research 的近似最近鄰索引,延遲與成本低 | 搜尋範圍大、要在規模下維持高精度 |
近似搜尋有個容易踩的坑:同一個查詢在資料沒變的情況下,兩次執行可能回傳略有不同的排序。官方明說這是預期行為,需要精確結果就用 flat。
以下是 2026 年 Build 大會公布的幾項更新,狀態會變,實際以官方公告為準。
- 全域次要索引:把昂貴的跨分割區查詢變成單一分割區查詢,並可與交易工作負載隔離。
- 每分割區自動容錯移轉:區域出事時只轉移受影響的分割區,粒度比整個帳號細。
- 語意重排序(預覽):用模型重新排序檢索結果,向量、全文與混合檢索都適用。
- 分散式交易(預覽):跨多個分割區與實體維持交易一致性。
- MCP 工具組:讓 AI 代理人以標準協定安全地存取資料。
Azure SQL 受控執行個體:要解的是「搬得動」
受控執行個體不是為了做全球分散,它要解的是另一種痛:一整批既有的 SQL Server 應用,要怎麼少改就上雲。
官方的說法是提供接近 100% 的最新 SQL Server 企業版資料庫引擎相容度,並具備原生的虛擬網路實作。這兩件事合起來,才讓大規模移轉變成可行。
| 選項 | 你管什麼 | 適合 |
|---|---|---|
| SQL Server on Azure VM | 作業系統、修補、備份、高可用全都自己來 | 需要完全掌控,或有特殊元件必須裝在主機上 |
| SQL 受控執行個體 | 只管資料庫設計與最佳化,其餘由平台處理 | 既有應用依賴執行個體層級功能,要少改就搬 |
| Azure SQL Database | 只管單一資料庫,管理面最輕 | 新開發的應用,或本來就只用單一資料庫功能 |
幾個常被忽略但很實際的差異:不支援指定實體路徑,只有自動備份與時間點還原,而且驗證整合的是 Microsoft Entra ID。
Azure Active Directory 已經改名為 Microsoft Entra ID,官方文件現在一律用新名字。舊教學裡的 Azure AD 驗證、Azure AD 管理員,講的都是同一件事。
同期的品牌調整還有 Azure AI Foundry 改名為 Microsoft Foundry。看到不同名稱時,先確認那篇文章的發布日期再判斷內容還能不能用。
高可用與容錯,取捨在哪一層
兩邊解同一個問題的方式很不一樣,把它們放在一起看,反而最容易理解各自的假設。
- Cosmos DB:可用性是資料庫本身的屬性。多區域寫入讓每個區域都能服務,區域出事由平台自動處理,2026 年再加上每分割區自動容錯移轉這一層。
- 受控執行個體:可用性分層設計。預設是本地備援;要擋可用區域故障要啟用區域備援;要擋整個區域故障,則要另外做失敗轉移群組或地理還原。
這裡有個經驗:容錯設計最貴的不是資源,是「你以為已經有了」。哪一層有、哪一層沒有,要寫下來,不能靠記憶。
最後,四個問句代替一張比較表
- 我的寫入真的分布在多個地區嗎?沒有的話,多區域寫入只是多買一份複雜度。
- 這份資料讀到舊值會出什麼事?答不出來就先別談一致性等級。
- 我要搬的是資料庫還是整台執行個體?這一題直接決定 SQL Database 或受控執行個體。
- 向量要不要跟原始資料放在一起?要,就用整合式向量存放;不要,就另外接檢索服務。
延伸學習
思維邏輯自我訓練:九週訓練計畫(含入門練習版)
九週六十三天,把思考練成可以重複執行的流程。從打開思考肌群、知識濾網、觀點盲區,一路走到輸出引擎。買這門課直接附贈《入門練習版》八單元 22 課完整講義與練習單,排在課程最前面當地基,再進入九週的每日訓練。每一週都有訓練目標與高低任務差設計的任務表。
NT$ 1,699
ChatGPT 很強,但真正讓你下班的是 Google
六小時完整實錄。從「AI 很厲害,為什麼你還是每天加班」這個問題出發,把 Google Workspace 當成真正的工作平台重新設計一次流程 ── Sheets 的資料結構、Drive 與 Docs 的文件流、Gmail 與 Calendar 的通知系統,再用 Apps Script 讓它自己跑起來,最後收斂成一張屬於你自己的 AI 工作能力地圖。
NT$ 4,599

