舊版預訂簡介
BigQuery 預訂可讓您從以量計價切換為以容量計價。採用以容量為準的定價時,您支付的是專屬或自動調度的查詢處理容量費用,而不是個別查詢的費用。
您可以透過保留項目,將以運算單元為單位的查詢容量,分配給不同的工作負載或機構的不同部門。
使用採用 BigQuery 版本的保留項目時,建立容量承諾是選用做法,但可節省穩定狀態工作負載的費用。
總覽
BigQuery 提供兩種運算 (分析) 計費模式:
以運算量為準的計價方式: 您支付一段時間內專用或自動調度的查詢處理容量費用,以運算單元為計算單位。多個查詢共用相同的運算單元容量。
根據預設,系統會按照以量計價的模式向您收費。使用預訂功能時,您可以切換為以容量為準的計價模式,並使用運算單元自動調度資源功能,以及購買享有折扣的容量承諾。如果採用容量計費模式,處理的位元組就不會額外產生費用。
您可以同時採用這兩種計費模式。舉例來說,您可能會以以量計價模式執行部分工作負載,並以容量計價模式執行其他工作負載。由於帳單模型是依專案指定,因此您需要為查詢工作使用多個專案。
預留項目的優點
使用 BigQuery 預留項目有以下好處:
可預測性。容量計價模式的費用均相同,不會有意料之外的支出。您可以預先指定最高費用預算,也可以善用運算單元承諾,以折扣價取得專屬的持續運算資源。
彈性:您可以選擇要為工作負載分配多少專屬容量,也可以讓 BigQuery 根據工作負載需求自動調度容量。系統會以至少一秒為單位,計算您耗用的運算單元費用。
工作負載管理。每個工作負載都有可用的指定 BigQuery 運算資源集區。同時,如果工作負載未使用所有專屬運算單元,系統會自動將未使用的運算單元分配給其他工作負載。
集中購買:可以替整個機構購買及分配運算單元,不需要為每個使用 BigQuery 的專案購買運算單元。
預留項目
BigQuery 容量以運算單元為單位,代表查詢使用的虛擬 CPU。一般來說,如果佈建更多運算單元,就能執行更多並行查詢,複雜查詢的執行速度也會更快。
運算單元會分配到稱為「預留」的集區。預訂功能可讓您以適合貴機構的方式分配時段。
舉例來說,您可以為實際工作環境工作負載建立名為 prod 的保留項目,並為測試建立名為 test 的保留項目。這樣一來,測試作業就不會與正式環境工作負載爭奪資源。或者,您也可以為貴機構的不同部門建立預約。
預留項目可包含一律會分配的基準運算單元,以及自動調度運算單元,後者會根據工作負載需求動態新增或移除。
如果您在建立預留項目之前購買運算單元承諾,系統會自動建立名為 default 的預留項目。default預訂項目沒有特別之處,只是為了方便而建立。您可以決定是否需要額外預留項目,或僅使用預設預留項目。
如要使用您分配的配額,請按照下一節所述,將一或多個專案指派給預留項目。
預留項目是指定運算單元分配量的最低層級。保留項目內的運算單元分配由 BigQuery 排程器處理。
作業
如要使用您分配的配額,必須將一或多個專案、資料夾或機構指派給保留項目。資源階層中的每個層級都會繼承上層的指派項目。換句話說,如果專案或資料夾未獲指派,則會繼承上層資料夾或機構的指派項目 (如有)。如要進一步瞭解資源階層,請參閱「整理 BigQuery 資源」。
從指派給保留項目的專案啟動工作時,工作會使用該保留項目的運算單元。如果專案未指派給保留項目 (直接指派,或從上層資料夾或機構繼承),該專案中的工作就會採用以量計價模式。
None 代表沒有指派作業。指派給 None 的專案會採用以量計價方案。None 指派作業的常見用途是將機構指派給保留項目,並將部分專案或資料夾指派給 None,藉此選擇不使用該保留項目。詳情請參閱「將專案指派為『無』」。
建立指派項目時,請指定該指派項目的工作類型:
QUERY:將此預留項目用於查詢工作,包括 SQL、DDL、DML 和 BigQuery ML 查詢。PIPELINE:使用這項預留項目執行載入和擷取工作。根據預設,載入和擷取工作是免費的,且會使用共用運算單元集區。BigQuery 不保證這個共用集區的可用容量或您所看到的總處理量。如果您要載入大量資料,工作可能會等待,直到有可用的時段為止。在這種情況下,您可能需要購買專屬運算單元,並將管道工作指派給這些運算單元。建議您建立額外的專屬保留項目,並停用閒置運算單元共用功能。
載入工作指派給保留項目後,就無法再使用免費集區。監控效能,確保工作有足夠的容量。 否則,效能可能會比使用免費集區更差。
BACKGROUND:選擇使用自己的預留量來執行 BigQuery 搜尋索引管理工作或 BigQuery 變更資料擷取 (CDC) 背景工作時,請使用這項預留量。使用 Datastream 的背景套用作業將來源資料庫複製到 BigQuery 時,也請使用這項預留量。BACKGROUNDStandard 版不提供預留項目。ML_EXTERNAL:將此預留項目用於使用 BigQuery 外部服務的 BigQuery ML 查詢。詳情請參閱將運算單元指派給 BigQuery ML 工作負載。ML_EXTERNALStandard 版不提供預留項目。
您無法將運算單元分配給特定指派作業。BigQuery 排程器會處理保留項目中指派項目的運算單元分配作業。
承諾使用合約
容量使用承諾是指購買固定量的 BigQuery 運算容量,但有最短承諾使用期。使用版本建立的預留項目可選擇是否要使用容量承諾,但如果工作負載處於穩定狀態,使用容量承諾可節省成本。
BigQuery 提供多種約期方案供您選擇。主要差異在於費用和最低約期。如要查看目前定價資訊,請參閱容量承諾定價。
一年期承諾使用合約。您購買 365 天的使用承諾。365 天後,您可以選擇續約或改用其他類型的約期方案。
每月承諾使用。購買至少 30 天的承諾使用合約。30 天後,你隨時可以刪除方案。
彈性運算單元。您購買 60 秒的承諾。60 秒後即可隨時刪除。購買長期使用承諾前,您可以先使用彈性運算單元,測試工作負載在固定費率計費模式下的效能。此外,這類執行個體也適合處理週期性或季節性需求,或是稅季等高負載事件。
無論選取哪個方案,你的配額都不會在約期結束時失效。只要您未刪除這些位置,系統就會持續向您收費。最低期限過後,你也可以變更方案類型。
運算單元取決於運算能力可用性,當您嘗試購買運算單元使用承諾時,我們不保證能成功購買。不過,一旦您成功購買使用承諾後,系統便會保證提供足夠的運算能力,直到您刪除使用承諾為止。
如要進一步瞭解這些方案,請參閱合約方案。
預留項目中的運算單元分配
BigQuery 會使用稱為「公平排程」的演算法,在單一保留項目中分配運算單元容量。
BigQuery 排程器會強制將運算單元平均分配給保留項目中執行查詢的專案,然後再分配給指定專案中的工作。排程器會提供最終公平性。即使某些工作可能會在短時間內分配到不成比例的運算單元數量,排程器最終仍會修正這個問題。排程器的目標是找出中間值,避免過於嚴格的作業 (清空執行中的工作會浪費運算單元時間) 和過於寬鬆的作業 (長時間執行作業的工作會佔用不成比例的運算單元時間)。
如果重要工作持續需要比排程器分配的運算單元數量更多,請考慮建立額外的保留項目,並保證運算單元數量,然後將工作指派給該保留項目。詳情請參閱「工作負載管理」。
閒置的運算單元
在任何時間點,部分運算單元可能處於閒置狀態。這些實用資源包括:
- 未分配給任何預留項目的運算單元使用承諾。
- 已分配給預留項目基準,但目前未使用的運算單元。
根據預設,在保留項目中執行的查詢會自動使用同一個管理專案中其他保留項目的閒置運算單元。也就是說,只要有容量,工作隨時都能執行。 無論需要資源的查詢優先順序為何,閒置容量都會立即搶占回原始指派的預留容量。系統會即時自動執行這項作業。
如要停用這項功能,並強制保留項目只使用佈建給該保留項目的運算單元,請將 ignore_idle_slots 設為 true。如果預留項目將 ignore_idle_slots 設為 true,就不會收到閒置運算單元。
不同版本的預留項目無法共用閒置運算單元。您只能分享基準運算單元或承諾運算單元。自動調度資源的時段 可能暫時可用,但由於系統可能會縮減資源,因此無法分享。
只要 ignore_idle_slots 設為 False,保留項目就可以將運算單元數量設為 0,並存取未使用的運算單元。如果只使用預訂功能,建議採用這種設定方式。default然後將專案或資料夾指派給該保留項目,這樣一來,專案或資料夾只會使用閒置運算單元。
ML_EXTERNAL 類型的指派作業是上述行為的例外狀況。BigQuery ML 外部模型建立工作使用的運算單元無法搶占;也就是說,如果保留項目同時指派了 ml_external 和 query 類型,只有在 ML_EXTERNAL 工作未占用運算單元時,其他查詢工作才能使用這些運算單元。此外,這些工作不會使用其他預留項目的閒置運算單元。
限制
- 您購買的保留項目無法與其他機構共用。
- 您必須為每個機構建立單獨的保留項目和單獨的管理專案。
- 每個機構在單一位置最多可有 10 個管理專案,且這些專案都具有有效合約。
- 機構之間或單一機構內的不同管理專案之間,無法共用閒置容量。
- 承諾是地區性資源。在某個區域或多區域購買的使用承諾,無法用於其他區域或多區域。使用承諾無法在區域之間移動,也無法在區域與多區域之間移動。
- 在某個管理專案中購買的承諾無法移至其他管理專案。
- 使用某個版本購買的承諾無法用於其他版本的預訂。
- 不同版本的預訂項目不會共用閒置運算單元。
- 自動調度資源的時段無法共用,因為系統會在不再需要時縮減資源。
配額
運算單元配額是指您在某個地點可購買的運算單元數量上限。您不需支付配額費用,只需支付預留項目和承諾費用。詳情請參閱預訂配額與限制。如要瞭解如何提高運算單元配額,請參閱「申請提高配額」一文。
定價
如要瞭解保留項目的定價資訊,請參閱固定費率定價。
後續步驟
如要開始使用 BigQuery 預留項目,請參閱開始使用預留項目
如要瞭解預留項目的隨需帳單,請參閱「合併使用預留項目與隨需帳單」。