Cloudflare 邊緣運算

全託管邊緣數據庫:D1、Workers KV 與 Hyperdrive 跨雲加速

D1、Workers KV、Hyperdrive 不是同一種東西的三個名字,而是分工不同的三層資料服務。D1 是跑在邊緣的分散式 SQLite,適合你自己的關聯式資料;Workers KV 是全球鍵值庫,適合設定值與快取這種讀多寫少的資料;Hyperdrive 則不儲存資料,它是把 Worker 接到你既有的 PostgreSQL 或 MySQL 時,用來做連線池化與查詢加速的一層。三者可以在同一個專案裡一起用。
全託管邊緣數據庫:D1、Workers KV 與 Hyperdrive 跨雲加速:文章重點卡

全託管邊緣數據庫:D1、Workers KV 與 Hyperdrive 跨雲加速

很多人第一次接觸 Cloudflare 的資料服務,都會被 D1、KV、Hyperdrive 這三個名字搞混,以為選一個就好。實際上它們回答的是三個不同的問題。

這篇不重複官方文件的操作步驟,而是先幫你把「我的資料屬於哪一種」想清楚,再帶入 2026 年幾個會實際影響架構決策的變動。

你將學到什麼

先分資料類型

關聯式資料交給 D1、全球讀取的設定值交給 KV、既有資料庫交給 Hyperdrive 加速。

D1 讀寫要分工

讀取可以走全球複本降低延遲,但寫入固定只走主節點,這一點決定了你的資料模型設計。

KV 的介面正在整併

舊版 REST API 已被標記淘汰,2026 年下半年會收斂進統一的 Storage 命名空間。

Hyperdrive 不是資料庫

它是連線池與快取層,讓 Worker 呼叫遠端 PostgreSQL、MySQL 不再被連線數卡住。

同樣掛在「邊緣資料庫」這個標籤下,D1、KV、Hyperdrive 三者要解決的問題其實完全不同,混著選最容易踩坑。

先分類:這三個服務各自回答什麼問題

我看過最常見的誤會,是把 D1、Workers KV、Hyperdrive 當成同一件事的三個版本,遇到需求就隨便挑一個順眼的。

比較準確的理解方式,是先問自己一個問題:我的資料需要關聯查詢與交易一致性嗎? 需要就是 D1 的地盤,不需要再往下分。

服務資料模型典型情境
D1分散式 SQLite(關聯式)使用者資料表、訂單紀錄、需要 JOIN 與交易的業務資料
Workers KV全域鍵值儲存設定值、功能旗標、快取過的 API 回應、認證用的短生命週期資料
Hyperdrive不儲存資料,是連線加速層既有的 PostgreSQL 或 MySQL,想讓邊緣 Worker 連得快又不炸連線數

簡單說:D1 是「你的資料庫搬到邊緣」,KV 是「一份全球都讀得到的字典」,Hyperdrive 是「幫你的舊資料庫接上邊緣網路」。三個角色不重疊。

D1:分散式 SQLite,但讀寫要分開想

D1 是 Cloudflare 跑在邊緣的 SQLite 相容資料庫,主打的是把關聯式資料也搬進 Workers 生態,不必另外接一個外部資料庫。

2026 年最值得注意的是全球讀複本這個功能。它會把資料庫的唯讀副本佈署到多個地區,讓讀取查詢就近回應,不用每次都跨半個地球打回主節點。

  • 寫入永遠只送到主節點,這件事不會因為開了複本而改變。
  • 要吃到複本的加速效果,查詢必須改走 Sessions API,不然預設仍然全部打主節點。
  • Sessions API 用書籤機制追蹤你的讀寫順序,避免同一個使用者「剛寫完卻讀到舊資料」。
  • 官方文件列出的複本地區涵蓋北美東西岸、西歐、東歐、亞太與大洋洲,實際地區可能調整,請以官方頁面為準。
什麼情境最划算

讀多寫少、而且使用者分散在全球的應用最吃得到複本的好處,例如商品目錄、內容型網站的正文查詢。反過來,寫入很頻繁、又要求讀到最新資料的場景(例如即時庫存扣減),複本能幫上的忙有限,這種強一致性需求更適合交給 Durable Objects 處理。

Workers KV:全球鍵值庫,2026 年的介面正在收斂

Workers KV 的定位很單純:一個全球都能低延遲讀取的鍵值儲存,官方明確列出的典型情境是快取 API 回應、存放使用者設定、存放認證資訊。

它不是為了取代關聯式資料庫存在的,你不會拿 KV 做複雜查詢,它换來的是「隨處都讀得快」,換掉的是查詢彈性。

2026 年有兩件事值得記住。第一,快取存活時間(cacheTtl)的下限從 60 秒下修到 30 秒,代表更新可以更快反映出去。

第二,也是比較大的一件事:舊版 REST API 路徑已經進入淘汰時程,新的介面收斂進統一的 /storage/ 命名空間,KV 從此變成整個 Storage 產品家族底下的一員,而不只是 Workers 專屬的附屬功能。

只影響腳本,不影響 Worker 程式碼

如果你是在 Worker 裡用綁定(binding)讀寫 KV,這次介面收斂不會影響你。真正要檢查的是維運腳本、CI 流程、Terraform 設定裡有沒有直接呼叫舊版 REST 路徑,這些才是需要照官方時程遷移的部分。

Hyperdrive:它不是資料庫,是連線池與加速層

很多人第一次聽到 Hyperdrive,會誤以為它是另一個邊緣資料庫。它其實完全相反:你的資料庫還是原本那一個,Hyperdrive 只是站在 Worker 與資料庫之間做兩件事。

  • 把分散在邊緣各地的連線收斂成資料庫端看得到的少量穩定連線,避免無伺服器架構常見的連線數暴增問題。
  • 在允許的範圍內快取查詢結果,縮短邊緣 Worker 到區域資料庫之間的往返延遲。

2026 年 8 月,MySQL 支援從測試階段轉為正式提供,計價與 PostgreSQL 相同,代表這條路徑對兩種最主流的關聯式資料庫都算成熟了。

同一年稍早,Hyperdrive 也加入透過 Workers VPC 連線私有資料庫的能力,資料庫不必特地對外開放連接埠,也能享受連線池化的好處,對資安要求較高的企業環境是實用的補強。

快取有它的限制

官方在 2026 年 2 月修正了一個快取判斷上的問題:含有 PostgreSQL STABLE 函式的查詢原本會被誤判為可快取,實際上這類查詢的結果可能隨時間變化,不該被快取。這類細節提醒我們,Hyperdrive 的快取是有條件的,不是所有查詢都能無腦受惠,上線前建議看一次官方對可快取查詢型態的說明。

三個服務一起用:我會怎麼安排

實務上這三個服務很少是二選一的關係,多半是同一個應用裡各司其職。

  1. 先確認資料的歸屬。 使用者主資料、訂單這類需要交易一致性的,留在 D1 或既有的區域資料庫。
  2. 把讀多寫少的資料挪進 KV。 功能旗標、系統設定、常被查詢但很少變動的內容,交給 KV 換取全球低延遲讀取。
  3. 既有資料庫先接 Hyperdrive,再談要不要搬。 不必急著把所有資料都搬進 D1,先用 Hyperdrive 解決邊緣連線的痛點,之後再評估哪些資料值得真的搬家。
  4. 需要跨區複本的 D1 資料,記得改走 Sessions API。 沒有這一步,複本形同沒開。

這幾個服務的功能都還在快速演進,正式決策前建議直接查一次官方文件的當前狀態,尤其是複本涵蓋地區、REST API 淘汰時程這類會變動的細節。

本文源起本文依 Cloudflare 官方文件(D1、Workers KV、Hyperdrive 各自的產品頁與異動公告,2026 年 8 月查閱)整理,由酒Ann 以自己的視角編寫成中文導覽。實際規格、地區支援與淘汰時程請以 Cloudflare 官方文件 為準。

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

D1、Workers KV、Hyperdrive 該怎麼選?
先問資料的形狀與讀寫比例。需要交易一致性、關聯查詢的資料用 D1;只需要用鍵取值、讀遠多於寫的設定或快取用 KV;資料已經存在你自己的 PostgreSQL 或 MySQL、只是想讓 Worker 連得快用 Hyperdrive。三者不是互斥選項,同一個專案常常三個一起用。
D1 的讀寫複本是怎麼運作的?
依 Cloudflare 官方文件(2026 年 8 月查閱),D1 的全球讀複本會把資料庫的唯讀副本佈署到多個地區,讓讀取查詢就近執行。但這件事有一個前提:你必須改用 D1 的 Sessions API 呼叫,否則所有查詢仍然只會打到主節點。寫入固定只能送到主節點,這個限制不會因為開了複本而改變。
Sessions API 為什麼是必要條件,不是加分項?
因為複本是非同步同步的,直接拿舊複本回答查詢可能讀到過時資料。Sessions API 用一種書籤機制追蹤你上一次寫入或讀取的位置,確保同一個工作階段內的後續查詢維持順序一致,不會出現「剛寫入卻讀不到」的情況。不透過這支 API,複本形同虛設。
Workers KV 的 REST API 淘汰會影響到我嗎?
如果你是在 Worker 程式碼裡用綁定介面讀寫 KV,不受影響。真正會受影響的是用舊版 REST 路徑(形如 /accounts/{account_id}/workers/namespaces/…)操作 KV 的維運腳本、Terraform 設定或 CI 流程,官方新的路徑收斂到統一的 /storage/ 命名空間下。時程與細節請以官方異動公告為準。
Hyperdrive 現在支援 MySQL 了嗎?
支援。依官方 2026 年 8 月的異動公告,MySQL 支援已從測試階段轉為正式提供,計費方式與 PostgreSQL 相同。同一時期 Hyperdrive 也加入了透過 Workers VPC 連線私有資料庫的能力,代表資料庫不必特地對外開放連線也能享受連線池化與快取的好處。