<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Cockroach-Cloud on Tarragon</title><link>https://tarrragon.github.io/blog/tags/cockroach-cloud/</link><description>Recent content in Cockroach-Cloud on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Tue, 02 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/cockroach-cloud/index.xml" rel="self" type="application/rss+xml"/><item><title>CockroachDB Cloud Serverless 適用判斷：按用量 vs dedicated 的取捨與 RU 計費結構</title><link>https://tarrragon.github.io/blog/backend/01-database/vendors/cockroachdb/cloud-serverless/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/01-database/vendors/cockroachdb/cloud-serverless/</guid><description>&lt;blockquote>
&lt;p>本文是 &lt;a href="https://tarrragon.github.io/blog/backend/01-database/vendors/cockroachdb/" data-link-title="CockroachDB" data-link-desc="分散式 SQL、PostgreSQL 相容、跨區強一致、Spanner 的開源 / 跨雲替代">CockroachDB vendor overview&lt;/a> 的 implementation-layer deep article。寫作參照 &lt;a href="https://tarrragon.github.io/blog/posts/vendor-%E6%B7%B1%E5%BA%A6%E6%8A%80%E8%A1%93%E6%96%87%E7%AB%A0%E6%96%B9%E6%B3%95%E8%AB%96%E7%9A%84%E6%BC%94%E5%8C%96%E7%B4%80%E9%8C%84%E5%90%8C-vendor-%E7%B3%BB%E5%88%97%E7%9A%84%E9%96%8B%E5%A0%B4%E8%BC%AA%E6%9B%BF%E9%A9%97%E8%AD%89/" data-link-title="Vendor 深度技術文章方法論的演化紀錄：同 vendor 系列的開場輪替驗證" data-link-desc="vendor overview 飽和後要寫單一功能深度文章、需要選題與結構依據時回來。這套方法論的驗證來源與 cadence variant 在高風險場景（同 vendor sub-tool 系列）的實證。">vendor deep article methodology&lt;/a>。本文聚焦 &lt;em>Cockroach Cloud serverless 與 dedicated 的取捨判讀、RU 計費結構、冷啟動 / scale 行為、何時用 serverless&lt;/em>。Self-managed 規模化的運維責任（Netflix Platform Team 養 380+ cluster）跟賽季型擴縮（Hard Rock 100 ↔ 33 node）作為 &lt;em>對照軸&lt;/em> 引用、不重展 self-host 運維細節。&lt;/p>&lt;/blockquote>
&lt;hr>
&lt;h2 id="問題情境要-managed-cockroachdb但-serverless-跟-dedicated-該選哪個">問題情境：要 managed CockroachDB、但 serverless 跟 dedicated 該選哪個&lt;/h2>
&lt;p>團隊決定不自管 Raft / backup / upgrade，改走 Cockroach Cloud managed，接著面對的是 serverless 跟 dedicated 兩種 managed 形態的取捨。這個取捨不是「哪個比較好」，而是 &lt;em>容量壓力的形狀對應哪種計費與 scale 模型&lt;/em>。&lt;/p>
&lt;p>Cockroach Cloud serverless 是 &lt;em>把容量決策從「預先 provision 節點」換成「按實際用量計費 + 自動 scale」&lt;/em> 的 managed 形態。它消去了 cluster sizing 這個決策 — 沒有「要開幾個 node」的問題，資源隨 workload 自動伸縮，甚至閒置時 scale 到接近零。代價是計費單位變成抽象的 Request Unit（RU），用量暴衝時成本跟著暴衝，且共享底層資源帶來冷啟動與性能可預測性的取捨。&lt;/p>
&lt;p>dedicated 則保留 &lt;em>固定的 cluster 容量 + 可預測的計費&lt;/em>，由 vendor 代管運維但容量仍是團隊決策。&lt;/p>
&lt;p>讀者進來最常卡的三題：&lt;/p>
&lt;ul>
&lt;li>serverless 的 RU 計費到底計什麼、怎麼估自己的 workload 會花多少？&lt;/li>
&lt;li>serverless 閒置會 scale 到零，那冷啟動會不會讓第一個請求變慢？&lt;/li>
&lt;li>什麼 workload 適合 serverless、什麼時候該選 dedicated 或乾脆 self-managed？&lt;/li>
&lt;/ul>
&lt;p>這三題的共同核心是 &lt;em>把 workload 的流量形狀（穩定 vs 突發、可預測 vs 不可預測、高峰 vs 長尾）翻譯成計費與 scale 模型&lt;/em>。&lt;/p>
&lt;p>問題情境的對照 trigger 來自兩個 self-managed 規模的 case，它們界定了「什麼時候 serverless / dedicated 都不對、要 self-host」的邊界。&lt;/p>
&lt;p>&lt;a href="https://tarrragon.github.io/blog/backend/09-performance-capacity/cases/netflix-cockroachdb-multi-region-fleet/" data-link-title="9.C40 Netflix：380&amp;#43; CockroachDB cluster 的 multi-active 拓樸艦隊" data-link-desc="Netflix 把 Cassandra 不夠用的 transactional workload 移到 CockroachDB、380&amp;#43; cluster / 60&amp;#43; 跨 region、含 Open Connect、studio cloud drive、gaming control plane">9.C40 Netflix&lt;/a> 是 self-managed 380+ cluster（case 揭露 380+ 為含非 production 的總數、production cluster 160+），case 明確揭露這需要 &lt;em>專屬 Database Platform Team&lt;/em>（backup、upgrade、incident response、capacity review），並警示「沒這量級團隊就走 Cockroach Cloud managed、不要 self-host」。這條判讀的反向就是本文的入口 — 大多數團隊沒有 Platform Team，managed 才是合理起點，問題只剩 serverless 還是 dedicated。&lt;/p></description><content:encoded><![CDATA[<blockquote>
<p>本文是 <a href="/blog/backend/01-database/vendors/cockroachdb/" data-link-title="CockroachDB" data-link-desc="分散式 SQL、PostgreSQL 相容、跨區強一致、Spanner 的開源 / 跨雲替代">CockroachDB vendor overview</a> 的 implementation-layer deep article。寫作參照 <a href="/blog/posts/vendor-%E6%B7%B1%E5%BA%A6%E6%8A%80%E8%A1%93%E6%96%87%E7%AB%A0%E6%96%B9%E6%B3%95%E8%AB%96%E7%9A%84%E6%BC%94%E5%8C%96%E7%B4%80%E9%8C%84%E5%90%8C-vendor-%E7%B3%BB%E5%88%97%E7%9A%84%E9%96%8B%E5%A0%B4%E8%BC%AA%E6%9B%BF%E9%A9%97%E8%AD%89/" data-link-title="Vendor 深度技術文章方法論的演化紀錄：同 vendor 系列的開場輪替驗證" data-link-desc="vendor overview 飽和後要寫單一功能深度文章、需要選題與結構依據時回來。這套方法論的驗證來源與 cadence variant 在高風險場景（同 vendor sub-tool 系列）的實證。">vendor deep article methodology</a>。本文聚焦 <em>Cockroach Cloud serverless 與 dedicated 的取捨判讀、RU 計費結構、冷啟動 / scale 行為、何時用 serverless</em>。Self-managed 規模化的運維責任（Netflix Platform Team 養 380+ cluster）跟賽季型擴縮（Hard Rock 100 ↔ 33 node）作為 <em>對照軸</em> 引用、不重展 self-host 運維細節。</p></blockquote>
<hr>
<h2 id="問題情境要-managed-cockroachdb但-serverless-跟-dedicated-該選哪個">問題情境：要 managed CockroachDB、但 serverless 跟 dedicated 該選哪個</h2>
<p>團隊決定不自管 Raft / backup / upgrade，改走 Cockroach Cloud managed，接著面對的是 serverless 跟 dedicated 兩種 managed 形態的取捨。這個取捨不是「哪個比較好」，而是 <em>容量壓力的形狀對應哪種計費與 scale 模型</em>。</p>
<p>Cockroach Cloud serverless 是 <em>把容量決策從「預先 provision 節點」換成「按實際用量計費 + 自動 scale」</em> 的 managed 形態。它消去了 cluster sizing 這個決策 — 沒有「要開幾個 node」的問題，資源隨 workload 自動伸縮，甚至閒置時 scale 到接近零。代價是計費單位變成抽象的 Request Unit（RU），用量暴衝時成本跟著暴衝，且共享底層資源帶來冷啟動與性能可預測性的取捨。</p>
<p>dedicated 則保留 <em>固定的 cluster 容量 + 可預測的計費</em>，由 vendor 代管運維但容量仍是團隊決策。</p>
<p>讀者進來最常卡的三題：</p>
<ul>
<li>serverless 的 RU 計費到底計什麼、怎麼估自己的 workload 會花多少？</li>
<li>serverless 閒置會 scale 到零，那冷啟動會不會讓第一個請求變慢？</li>
<li>什麼 workload 適合 serverless、什麼時候該選 dedicated 或乾脆 self-managed？</li>
</ul>
<p>這三題的共同核心是 <em>把 workload 的流量形狀（穩定 vs 突發、可預測 vs 不可預測、高峰 vs 長尾）翻譯成計費與 scale 模型</em>。</p>
<p>問題情境的對照 trigger 來自兩個 self-managed 規模的 case，它們界定了「什麼時候 serverless / dedicated 都不對、要 self-host」的邊界。</p>
<p><a href="/blog/backend/09-performance-capacity/cases/netflix-cockroachdb-multi-region-fleet/" data-link-title="9.C40 Netflix：380&#43; CockroachDB cluster 的 multi-active 拓樸艦隊" data-link-desc="Netflix 把 Cassandra 不夠用的 transactional workload 移到 CockroachDB、380&#43; cluster / 60&#43; 跨 region、含 Open Connect、studio cloud drive、gaming control plane">9.C40 Netflix</a> 是 self-managed 380+ cluster（case 揭露 380+ 為含非 production 的總數、production cluster 160+），case 明確揭露這需要 <em>專屬 Database Platform Team</em>（backup、upgrade、incident response、capacity review），並警示「沒這量級團隊就走 Cockroach Cloud managed、不要 self-host」。這條判讀的反向就是本文的入口 — 大多數團隊沒有 Platform Team，managed 才是合理起點，問題只剩 serverless 還是 dedicated。</p>
<p><a href="/blog/backend/09-performance-capacity/cases/hard-rock-digital-cockroachdb-sports-betting/" data-link-title="9.C41 Hard Rock Digital：CockroachDB on AWS Outposts、Wire Act 合規 &#43; 跨州單一邏輯 DB" data-link-desc="Hard Rock Digital 用 CockroachDB 跨 AWS Outposts &#43; US-East-1、Wire Act 強制資料留州、單一邏輯 DB 解多州 sportsbook、100 node 32 vCPU 撐 Super Bowl">9.C41 Hard Rock Digital</a> 是 self-managed、賽季型擴縮（高峰 ~100 node、淡季 ~33 node，case 觀察段揭露）。這個 100 ↔ 33 的擺盪是 <em>已知時間點的年度循環</em>（NFL / NBA 賽季切換），不是不可預測的突發。case 還揭露合規驅動需要 AWS Outposts 把運算放進州內 — 這把它鎖死在 self-managed。Hard Rock 的形狀正好對照出 serverless 的適配範圍：serverless 擅長 <em>不可預測</em> 的突發與長尾閒置，而非 <em>可預測且需要特定部署位置</em> 的賽季擴縮。</p>
<h2 id="核心機制ru-計費--自動-scale--冷啟動">核心機制：RU 計費 + 自動 scale + 冷啟動</h2>
<h3 id="request-unit把多維資源用量折算成單一計費單位">Request Unit：把多維資源用量折算成單一計費單位</h3>
<p>serverless 的計費核心是 Request Unit（RU）— 一個把 <em>CPU、IO、network、storage 存取</em> 等多維資源用量折算成的抽象單位。每個 SQL 請求依其實際消耗的資源換算成若干 RU，帳單按 RU 總量計。這跟 dedicated「按 provision 的節點數 × 時間」計費是兩種不同的成本心智模型。</p>
<p>RU 模型的好處是 <em>用多少付多少</em> — 閒置時段不付運算費。風險是 RU 跟「人類直覺的請求數」不是線性對應：一個全表掃描的 query 可能吃掉相當於上千個點查的 RU。estimate workload 成本時，要以 <em>資源消耗</em> 為單位思考，不是以「請求數」。</p>
<blockquote>
<p><strong>Scope warning</strong>：RU 的具體換算係數、serverless 免費額度、scale-to-zero 的觸發閒置時間、冷啟動延遲量級、serverless 的 region / 一致性 / 規模上限，都屬 Cockroach Cloud 的計費與規格、且隨方案版本演進，三個 anchor case（DoorDash / Netflix / Hard Rock 全為 self-managed）都未揭露 serverless 計費數字。本文只給結構性判讀（RU = 多維資源折算、scale-to-zero 帶來冷啟動），具體數值與當前方案邊界需 cross-verify <a href="https://www.cockroachlabs.com/docs/cockroachcloud/plan-your-cluster">Cockroach Cloud Pricing 文件</a> 與官方計費頁。</p></blockquote>
<h3 id="自動-scale-與-scale-to-zero">自動 scale 與 scale-to-zero</h3>
<p>serverless 隨 workload 自動伸縮資源，無需團隊 provision。閒置時可 scale 到接近零，這正是「閒置不付運算費」的來源。對 <em>突發 + 長閒置</em> 的 workload（開發 / 測試環境、低流量 side project、流量極不均的早期產品），這個模型把成本壓到只反映實際活躍時段。</p>
<p>scale-to-zero 的代價是冷啟動 — 從近零狀態接到請求時，要先把資源拉起來，第一個請求的延遲高於 warm 狀態。對開發環境這通常可接受；對「閒置後第一個用戶請求就要快」的面向用戶 production 路徑，冷啟動是要先評估的取捨。</p>
<h3 id="serverless-vs-dedicated-的責任與成本對照">serverless vs dedicated 的責任與成本對照</h3>
<table>
  <thead>
      <tr>
          <th>維度</th>
          <th>serverless</th>
          <th>dedicated</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>容量決策</td>
          <td>自動 scale、無需 sizing</td>
          <td>團隊決定 cluster 規模</td>
      </tr>
      <tr>
          <td>計費單位</td>
          <td>RU（按實際資源用量）</td>
          <td>按 provision 的節點 × 時間</td>
      </tr>
      <tr>
          <td>閒置成本</td>
          <td>接近零（scale-to-zero）</td>
          <td>仍付 provisioned 容量費</td>
      </tr>
      <tr>
          <td>冷啟動</td>
          <td>閒置後第一請求有冷啟動延遲</td>
          <td>無（容量常駐）</td>
      </tr>
      <tr>
          <td>成本可預測性</td>
          <td>隨用量浮動、突發時可能暴衝</td>
          <td>固定、可預算</td>
      </tr>
      <tr>
          <td>性能可預測性</td>
          <td>共享底層、受鄰居影響</td>
          <td>專屬資源、更可預測</td>
      </tr>
  </tbody>
</table>
<p>每一行都要回到 workload 形狀判讀。</p>
<p>容量決策這一行是兩種模型的根本差異：serverless 把「要開幾個節點」這個決策從團隊手上拿走，對沒有容量規劃經驗或流量極不可預測的場景能降低團隊的容量規劃負擔；但對流量已知、需要性能可預測的 production，dedicated 的「自己定容量」反而是想要的控制權。</p>
<p>成本可預測性這一行是 serverless 的主要風險面。RU 隨用量浮動意味著 <em>一次失控的查詢模式、一波爬蟲、一個沒加 LIMIT 的全表掃描</em> 都會把帳單推高，而 dedicated 的成本上限就是 provisioned 容量。流量可預測的 production，dedicated 的可預算性往往比 serverless 的「用多少付多少」更重要。</p>
<h2 id="操作流程選型判讀配置用量驗證">操作流程：選型判讀、配置、用量驗證</h2>
<h3 id="第一步用流量形狀做-serverless--dedicated-初判">第一步：用流量形狀做 serverless / dedicated 初判</h3>
<p>選型的判讀軸是 workload 的 <em>流量形狀</em>，不是規模大小。</p>
<ul>
<li>流量突發 + 長閒置（dev / test、低流量產品、不可預測早期 workload）→ serverless 的 scale-to-zero 與按用量計費直接受益。</li>
<li>流量穩定 + 可預測 + 需要性能可預測 → dedicated 的固定容量與可預算成本更合適。</li>
<li>流量大 + 有專屬 Platform Team + 需要跨雲 / on-prem / 特定部署位置（如 Hard Rock 的合規 Outposts）→ 兩種 managed 都不對，走 self-managed（見 vendor overview 的容量規劃段）。</li>
</ul>
<p>判讀訊號：把過去一段時間的 QPS 畫成時間序列，看「活躍時段佔比」與「峰谷比」。活躍佔比低、峰谷比高 → serverless;活躍佔比高、波動平緩 → dedicated。</p>
<h3 id="第二步serverless-建立-cluster-並設成本上限">第二步：serverless 建立 cluster 並設成本上限</h3>
<p>serverless 的成本風險來自用量浮動，所以建立後第一件事是設 <em>消費上限</em>，把「用量暴衝 = 帳單暴衝」的尾部風險封住。</p>
<p>驗證點：cluster 建立後，確認消費上限已設、且設了接近上限的告警閾值（例如達上限 80% 告警）。沒設上限的 serverless cluster 等於把成本曝險完全交給 workload 行為。</p>
<h3 id="第三步驗證-ru-消耗與預期一致">第三步：驗證 RU 消耗與預期一致</h3>
<p>上線後監控 RU 消耗速率，對照第一步的流量形狀預估。</p>
<p>驗證點：RU 消耗速率若遠高於預估，通常是某類 query 的資源消耗被低估（全表掃描、缺索引、N+1 查詢）。這時要回到 query 層優化，而非直接加預算 — serverless 的計費把「低效 query」直接翻譯成「高帳單」，是一個比 dedicated 更直接的成本訊號。</p>
<h3 id="第四步評估冷啟動對-production-路徑的影響">第四步：評估冷啟動對 production 路徑的影響</h3>
<p>若 serverless cluster 服務面向用戶的 production 路徑，驗證閒置後第一個請求的延遲是否在 SLO 內。</p>
<p>驗證點：模擬閒置後的首請求延遲，對照面向用戶路徑的 latency SLO。超出 SLO 代表這條路徑不適合 scale-to-zero，要嘛保持一定 warm 流量、要嘛改 dedicated。</p>
<h2 id="失敗模式成本失控與選型誤判">失敗模式：成本失控與選型誤判</h2>
<h3 id="ru-用量暴衝帳單失控高代價情境的回退敘事">RU 用量暴衝、帳單失控（高代價情境的回退敘事）</h3>
<p>serverless 最常見的事故是 <em>帳單暴衝</em> — 一波非預期流量、一個低效查詢上線、一次爬蟲，把 RU 消耗推到遠超預算。跟 dedicated「成本上限 = provisioned 容量」不同，serverless 的成本上限要靠人為設定，沒設就沒有天花板。</p>
<p>這個情境的回退代價特殊之處在於 <em>成本已經發生</em>：rebalance 可以暫停、locality 可以改回，但已計的 RU 帳單不會退回。所以 serverless 成本失控的「回退」重點在 <em>事前封頂</em> 與 <em>事中熔斷</em>，而非事後補救。</p>
<p>回退與防護要素：</p>
<ul>
<li>事前一定設消費上限與分級告警（接近上限前就要收到訊號），把尾部風險封在可承受範圍。</li>
<li>事中發現 RU 暴衝，先定位來源 — 是流量真的漲（業務事件），還是某個 query 模式失控（缺索引、全表掃描、無 LIMIT）。前者考慮是否該轉 dedicated，後者回 query 層修。</li>
<li>設「RU 消耗速率超過閾值就告警 + 自動限流」的 tripwire，避免單一失控 query 在無人值守時段燒完整月預算。</li>
<li>若 workload 已穩定成長到「serverless 浮動成本 &gt; dedicated 固定成本」的交叉點，規劃轉 dedicated。</li>
</ul>
<h3 id="serverless--dedicated-遷移的代價">serverless → dedicated 遷移的代價</h3>
<p>當 workload 從「突發長尾」成長為「穩定高量」，serverless 的按用量成本會超過 dedicated 的固定成本，此時要遷移。這個遷移不是改個開關 — serverless 與 dedicated 是不同的 cluster 形態，遷移意味著資料搬遷與 cutover，要走 backup / restore 或資料複製流程，並承擔 cutover 窗口。</p>
<p>回退敘事：把 serverless → dedicated 當成一次小型 migration 規劃 — 估資料量與遷移窗口、雙寫或 backup/restore 路徑、cutover 條件與回退條件，而非「線上無痛切換」。提早在用量逼近成本交叉點時規劃，避免在帳單已經失控時倉促遷移。</p>
<p>Anti-recommendation：不要因為「serverless 聽起來更現代」就把已知穩定、可預測、高流量的 production workload 開在 serverless。這類 workload 的可預算性與性能可預測性，dedicated 給得更直接，serverless 反而引入成本浮動與冷啟動兩個非必要風險。</p>
<h3 id="把賽季型--可預測擴縮誤當-serverless-場景">把賽季型 / 可預測擴縮誤當 serverless 場景</h3>
<p>可預測的擴縮（如 Hard Rock 的 NFL / NBA 賽季 100 ↔ 33 node 年度循環）不是 serverless 的適配範圍。serverless 擅長 <em>不可預測</em> 的突發，而可預測的擴縮可以用 dedicated 的計畫內 scale 直接規劃容量、保留性能可預測性。把可預測擴縮交給 serverless，是用「成本浮動 + 冷啟動」換一個本來就能用排程解決的問題。</p>
<p>修法：可預測的容量循環，用 dedicated + 排程 scale；只有真正不可預測的突發長尾才用 serverless。</p>
<h3 id="冷啟動拖垮面向用戶路徑">冷啟動拖垮面向用戶路徑</h3>
<p>scale-to-zero 的 serverless cluster 服務面向用戶 production，閒置後首請求冷啟動延遲超出 SLO，用戶感受到第一次訪問特別慢。</p>
<p>修法：面向用戶且對首請求延遲敏感的路徑，要嘛維持低頻 warm 流量避免完全 scale-to-zero，要嘛改 dedicated；scale-to-zero 留給容忍冷啟動的 dev / test / 後台 batch 路徑。</p>
<h2 id="容量與觀測">容量與觀測</h2>
<h3 id="必看-metric">必看 metric</h3>
<ul>
<li><code>RU 消耗速率</code>：serverless 成本的直接訊號，速率異常上升要立刻定位 query 來源。</li>
<li><code>當期累計消費 vs 上限</code>：成本封頂的剩餘空間，逼近上限要告警。</li>
<li><code>冷啟動 / 首請求延遲</code>：scale-to-zero 對面向用戶路徑的影響。</li>
<li><code>query 資源消耗分佈</code>：哪些 query 吃掉最多 RU，是 serverless 成本優化的入口。</li>
</ul>
<h3 id="容量與成本判讀">容量與成本判讀</h3>
<ul>
<li>serverless 月成本 ≈ Σ(各 query RU × 頻率)，所以成本優化等於 query 效率優化 — 缺索引、全表掃描在 serverless 直接體現為帳單。</li>
<li>serverless / dedicated 成本交叉點 ≈ 「serverless 浮動成本」與「dedicated 固定容量成本」相等的用量水準，逼近交叉點是規劃遷移的訊號。</li>
<li>dedicated 的容量規劃回到節點數 × replica × latency budget（見 vendor overview 容量規劃段）。</li>
</ul>
<blockquote>
<p><strong>Scope warning</strong>：RU 換算係數、免費額度、serverless 的規模 / region / 一致性上限、serverless ↔ dedicated 成本交叉點的具體用量水準，均為 Cockroach Cloud 計費與規格、隨方案版本變動，非 case 揭露數字，成本建模前以 <a href="https://www.cockroachlabs.com/docs/cockroachcloud/">Cockroach Cloud 文件</a> cross-verify。</p></blockquote>
<h3 id="回路徑">回路徑</h3>
<ul>
<li><a href="/blog/backend/09-performance-capacity/" data-link-title="模組九：效能工程與容量規劃" data-link-desc="把『目前配置能撐多少、要加多少機器』變成可量化、可驗證、可改進的工程流程">9.6 容量規劃模型</a> 流量形狀 → 計費模型對應。</li>
<li><a href="/blog/backend/09-performance-capacity/" data-link-title="模組九：效能工程與容量規劃" data-link-desc="把『目前配置能撐多少、要加多少機器』變成可量化、可驗證、可改進的工程流程">9.7 成本邊界與 efficiency</a> managed vs self-managed 的人力 + 資源成本權衡。</li>
</ul>
<h2 id="邊界與整合">邊界與整合</h2>
<h3 id="sibling-deep-articles">Sibling deep articles</h3>
<ul>
<li><a href="../survival-goals/">survival goals</a>：managed 形態下 survival goal 仍是團隊決策 — serverless / dedicated 都要對齊業務 RTO / RPO，存活機制以該文為 SSoT。</li>
<li><a href="../multi-region-table-config/">multi-region table config</a>：serverless 與 dedicated 對 multi-region table locality 的支援邊界不同，跨 region 強一致需求要先確認所選 managed 形態是否覆蓋。</li>
<li><a href="../aurora-dsql-spanner-decision-tree/">aurora-dsql-spanner-decision-tree</a>：Aurora DSQL 本身是 serverless distributed SQL，三家 managed distributed SQL 的選型對比以該文為 SSoT，本文不重展。</li>
</ul>
<h3 id="跟-aurora-dsql--spanner-serverless-對照">跟 Aurora DSQL / Spanner serverless 對照</h3>
<p>Aurora DSQL（AWS）以 serverless 為核心形態、AWS-only；Spanner 提供 managed 但計費與 scale 模型不同。三家在 serverless / managed 維度的完整對比是 <a href="../aurora-dsql-spanner-decision-tree/">aurora-dsql-spanner-decision-tree</a> 的 SSoT，本文只處理 Cockroach Cloud 自身的 serverless / dedicated 取捨。</p>
<h3 id="跟-self-managed-對照">跟 self-managed 對照</h3>
<p>self-managed（如 Netflix 380+ cluster、Hard Rock 合規 Outposts）給最大控制權（跨雲 / on-prem / 特定部署位置），代價是專屬 Platform Team 的運維責任。判讀軸：沒有 Platform Team → managed（serverless / dedicated）；有 Platform Team + 需要特定部署位置或跨雲 → self-managed。</p>
<h3 id="1x-章節互引">1.x 章節互引</h3>
<ul>
<li><a href="/blog/backend/01-database/global-distributed-oltp/" data-link-title="1.11 全球分散式 OLTP" data-link-desc="Spanner / Aurora DSQL / Cosmos DB multi-region write / CockroachDB / TiDB 的全球一致性取捨">1.11 全球分散式 OLTP</a> 上游選型。</li>
<li><a href="/blog/backend/01-database/vendors/postgresql/migrate-to-cockroachdb/" data-link-title="PostgreSQL → CockroachDB：三維皆 High 的多重歸類 migration" data-link-desc="PostgreSQL → CockroachDB 是 Schema / Operational / Paradigm 三維皆 High 的 multi-axis migration、實證 [#127](/report/content-structure-by-max-diff-dimension/) 的「多重歸類跟 tie-breaking」規則；主結構走 Type E paradigm shift、Schema 差 &#43; Operational redesign 抽出獨立段；涵蓋 transaction model 重設計、SQL dialect gap、5 個 production 踩雷">PostgreSQL → CockroachDB migration</a> — 從 PostgreSQL 遷入後再選 managed 形態。</li>
</ul>
<h3 id="何時不用本文">何時不用本文</h3>
<ul>
<li>已決定 self-managed（有 Platform Team 或需要 on-prem / 合規 Outposts）→ 看 vendor overview 容量規劃段與 self-host 運維，本文的 serverless / dedicated 取捨不適用。</li>
<li>single-region 小 workload 且 PostgreSQL 已夠用 → 先確認是否真需要 distributed SQL，見 vendor overview 不適用場景。</li>
</ul>
<h2 id="相關連結">相關連結</h2>
<ul>
<li><a href="/blog/backend/01-database/vendors/cockroachdb/" data-link-title="CockroachDB" data-link-desc="分散式 SQL、PostgreSQL 相容、跨區強一致、Spanner 的開源 / 跨雲替代">CockroachDB vendor overview</a></li>
<li><a href="/blog/backend/09-performance-capacity/cases/netflix-cockroachdb-multi-region-fleet/" data-link-title="9.C40 Netflix：380&#43; CockroachDB cluster 的 multi-active 拓樸艦隊" data-link-desc="Netflix 把 Cassandra 不夠用的 transactional workload 移到 CockroachDB、380&#43; cluster / 60&#43; 跨 region、含 Open Connect、studio cloud drive、gaming control plane">9.C40 Netflix</a>（self-managed 需 Platform Team 的反向 = managed 入口）</li>
<li><a href="/blog/backend/09-performance-capacity/cases/hard-rock-digital-cockroachdb-sports-betting/" data-link-title="9.C41 Hard Rock Digital：CockroachDB on AWS Outposts、Wire Act 合規 &#43; 跨州單一邏輯 DB" data-link-desc="Hard Rock Digital 用 CockroachDB 跨 AWS Outposts &#43; US-East-1、Wire Act 強制資料留州、單一邏輯 DB 解多州 sportsbook、100 node 32 vCPU 撐 Super Bowl">9.C41 Hard Rock Digital</a>（可預測賽季擴縮 vs serverless 突發適配範圍的對照）</li>
<li><a href="/blog/backend/knowledge-cards/distributed-sql/" data-link-title="Distributed SQL" data-link-desc="把 SQL 與交易語意延伸到多節點與多區域的資料庫形態">distributed SQL 卡</a></li>
<li>官方：<a href="https://www.cockroachlabs.com/docs/cockroachcloud/">Cockroach Cloud Documentation</a> / <a href="https://www.cockroachlabs.com/docs/cockroachcloud/plan-your-cluster">Plan Your Cluster</a></li>
</ul>
]]></content:encoded></item></channel></rss>