舊版保留項目簡介
您可以使用 BigQuery 保留項目,將以量計價切換為以容量計價。採用容量定價方案時,您只需為專屬或自動調整的查詢處理容量付費,而非為個別查詢付費。
保留項目可讓您將以運算單元為單位的查詢容量分配給不同的工作負載或機構的不同部分。
使用可運用 BigQuery 版本的保留項目時,建立容量承諾並非必要,但可以節省穩定狀態工作負載的費用。
總覽
BigQuery 提供兩種運算 (分析) 計價模式:
以運算資源為基礎的計價:您需要支付專用或自動調整的查詢處理作業容量費用,以運算單元為計算單位,並在一段時間內支付。多個查詢共用相同的運算單元容量。
根據預設,系統會按照以量計價的模式向您收費。您可以使用保留項目,改用以運算資源為基礎的定價模式,並使用運算單元自動調度功能,以及購買享有折扣的運算資源承諾。採用容量型模式時,系統不會針對處理的位元組收取費用。
您可以同時使用這兩種結帳模式。舉例來說,您可以使用以量計價的定價模式執行部分工作負載,而其他工作負載則採用以容量計價的定價模式。由於每個專案都會指定帳單模型,因此您需要為查詢工作使用多個專案。
預訂的好處
使用 BigQuery 保留項目的好處包括:
可預測性。以容量為依據的定價模式可提供可預測且一致的費用。您可以事先指定最高費用預算,也可以利用運算單元承諾,以折扣價取得專屬的持續運算資源。
彈性:您可以選擇為工作負載分配多少專屬容量,也可以讓 BigQuery 根據工作負載需求自動調度容量。我們會根據您使用的時段計費,最少會以 1 秒為單位累加。
工作負載管理:每個工作負載都有可用的指定 BigQuery 運算資源集區。同時,如果工作負載未使用所有專屬的運算單元,所有未使用的運算單元會自動與其他工作負載共用。
集中購買:您可以為整個機構購買及分配運算單元,您不需要為每個使用 BigQuery 的專案購買運算單元。
保留項目
BigQuery 容量以運算單元為單位,代表查詢使用的虛擬 CPU。一般來說,如果您配置更多運算單元,就能執行更多並行查詢,並加快複雜查詢的執行速度。
運算單元會分配至稱為「預留」的集區。預訂功能可讓您以符合貴機構需求的方式分配時段。
舉例來說,您可以建立名為 prod
的保留項目,用於正式工作負載,並建立另一個名為 test
的保留項目,用於測試。這樣一來,測試工作就不會與正式環境工作負載爭用資源。或者,您也可以為貴機構內的不同部門建立預約。
預留項目可包含一組一律會分配的基準運算單元,以及一組會根據工作負載需求動態新增或移除的自動調度運算單元。
如果您在建立預留項目前購買運算單元承諾,系統會自動建立名為 default
的預留項目。default
保留項目並無特別之處,只是為了方便起見而建立。您可以決定是否需要額外的預留項目,或是只使用預設預留項目。
如要使用您配置的空缺,您必須指派一或多個專案給預留項目,詳情請參閱下一節。
預留是您可以指定運算單元分配的最低層級。保留項目中的運算單元分配由 BigQuery 排程器處理。
作業
如要使用您配置的空缺,您必須將一或多個專案、資料夾或機構指派給保留項目。資源階層中的每個層級都會繼承其上層級的指定項目。換句話說,如果未指派專案或資料夾,則該專案或資料夾會繼承上層資料夾或機構 (如有) 的指派項目。如要進一步瞭解資源階層,請參閱「組織 BigQuery 資源」。
從指派給保留項目的專案啟動工作時,該工作會使用該保留項目的運算單元。如果未將專案指派給保留項目 (直接或繼承自上層資料夾或機構),該專案中的工作就會採用以量計價模式。
None
指派代表沒有指派。指派給 None
的專案會採用以量計價。None
指派作業的常見用途是將機構指派給保留項目,並將部分專案或資料夾指派給 None
,從保留項目中排除。詳情請參閱「將專案指派給 None」。
建立指派項目時,您需要指定該指派項目的工作類型:
QUERY
:請將這個保留項目用於查詢工作,包括 SQL、DDL、DML 和 BigQuery ML 查詢。PIPELINE
:請將此保留項目用於負載和擷取工作。根據預設,載入和擷取工作是免費的,且會使用共用的運算單元集區。BigQuery 不保證這個共用集區的可用容量或實際的總處理量。如果您要載入大量資料,工作可能會等待空缺出現。在這種情況下,您可能需要購買專屬運算單元,並將管道工作指派給這些運算單元。建議您建立額外的專屬保留項目,並停用閒置運算單元共用功能。
載入工作指派給保留項目後,就無法再使用免費集區。監控效能,確保工作有足夠的容量。否則,效能可能會比使用免費集區更差。
BACKGROUND
:如果您選擇使用自己的預留空間來執行 BigQuery 搜尋索引管理工作或 BigQuery 變更資料擷取 (CDC) 背景工作,請使用這個預留空間。使用 Datastream 的背景套用作業將來源資料庫複製到 BigQuery 時,也請使用這項保留作業。Standard 版本不支援BACKGROUND
預訂功能。ML_EXTERNAL
:請將此保留項目用於使用 BigQuery 外部服務的 BigQuery ML 查詢。詳情請參閱「將運算單元指派給 BigQuery ML 工作負載」。Standard 版本不支援ML_EXTERNAL
預訂功能。
您無法將運算單元分配給特定指派作業。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
工作占用,則具有 ml_external 和查詢指派類型的保留項目中的運算單元,只能供其他查詢工作使用。此外,這些工作不會使用其他預留項目的閒置運算單元。
限制
- 您購買的保留項目無法與其他機構共用。
- 您必須為每個機構建立單獨的保留項目和單獨的管理專案。
- 每個機構最多可在單一地點設立 10 個管理專案,並在其中設定有效承諾。
- 機構之間或單一機構內的不同管理專案之間,無法共用閒置容量。
- 承諾是地區性資源。在某個地區或多區域購買的使用承諾無法用於其他地區或多區域。使用承諾無法在區域之間或區域與多區域之間移動。
- 在一個管理專案中購買的承諾無法移至其他管理專案。
- 使用某個版本購買的承諾,無法用於其他版本的保留。
- 閒置運算單元不會在不同版本的保留項目之間共用。
- 自動調整的插槽無法共用,因為系統會在不再需要時縮減這些插槽。
配額
運算單元配額是指您在某個地點可購買的運算單元數量上限。您不需支付配額費用,只需支付保留和承諾費用。詳情請參閱「預訂配額與限制」一文。如要瞭解如何提高運算單元配額,請參閱「要求提高配額」。
定價
如要瞭解保留項目的定價,請參閱「固定費率定價」一節。