預留 BI Engine 容量
您可建立以 GiB 記憶體為單位的 BI Engine 預留項目,藉此購買 BI Engine 容量。保留項目會附加至您在建立保留項目時指定的專案和區域。BI Engine 會使用這項容量快取資料。如要瞭解 BI Engine 的預留空間大小上限,請參閱「配額與限制」。
使用 BI Engine 時,系統會依據您為專案購買的 BI Engine 容量收費。系統會根據區域定價,以每 GiB/小時為單位收取 BI Engine 預留項目費用,詳情請參閱 BI Engine 定價。
必要的角色
如要取得建立及刪除預留位置所需的權限,請要求管理員授予您專案的 BigQuery 資源管理員 (roles/bigquery.resourceAdmin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
建立保留項目
如要預留 BI Engine 以量計價容量,請按照下列步驟操作:
主控台
在 BigQuery 頁面的「管理」中,前往「BI Engine」頁面。
點按
「建立預留項目」。在「建立預訂」頁面中,針對「步驟 1」執行下列操作:
點選「下一步」。
偏好資料表 (選用)。偏好資料表可讓您將 BI Engine 加速功能限制在特定資料表集。其他所有資料表則使用一般 BigQuery 運算單元。
在「Table Id」欄位中,使用以下模式指定要加速的資料表:
PROJECT.DATASET.TABLE
。更改下列內容:
PROJECT
:您的 Google Cloud 專案 IDDATASET
:資料集TABLE
:要加速的資料表
點選「下一步」。
在步驟 3 中,請檢查預訂詳細資料,然後按一下「建立」。
確認預訂後,詳細資料會顯示在「預訂」頁面。
SQL
使用 ALTER BI_CAPACITY SET OPTIONS
DDL 陳述式建立或修改 BI Engine 預留項目。
前往 Google Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中輸入下列陳述式:
ALTER BI_CAPACITY `PROJECT_ID.LOCATION_ID.default` SET OPTIONS ( size_gb = VALUE, preferred_tables = ['TABLE_PROJECT_ID.DATASET.TABLE1', 'TABLE_PROJECT_ID.DATASET.TABLE2']);
取代下列項目:
PROJECT_ID
:可選用的專案 ID,該專案將受益於 BI Engine 加速功能。如果省略,系統會使用預設專案。LOCATION_ID
:需要快取資料的位置,並以region-
為前置字元。例如:region-us
、region-us-central1
。VALUE
:BI Engine 容量的保留項目大小 (以 GB 為單位),範圍為 1 到 250 GB。INT64
您可以要求提高專案的預留容量上限。大多數地區都提供預訂量增加服務,處理時間為 3 天到 1 週。設定VALUE
會取代現有值 (如果有的話),設為NULL
則會清除該選項的值。TABLE_PROJECT_ID.DATASET.TABLE
: 要套用加速功能的參照資料表選用清單。格式:TABLE_PROJECT_ID.DATASET.TABLE or DATASET.TABLE
。如果省略專案,系統會使用預設專案。
按一下「執行」
。
如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」。
bq
使用 bq update
指令,並提供資料定義語言 (DDL) 陳述式做為查詢參數:
bq --project_id=PROJECT_ID update \ --bi_reservation_size=SIZE \ --location=LOCATION \ --reservation
更改下列內容:
PROJECT_ID
:您的專案 IDSIZE
:預留記憶體容量 (單位為 GB),範圍為 1 至 250 GB。您可以要求提高專案的預留容量上限。大多數地區都可增加預訂量,處理時間為 3 天到一週。LOCATION
:您要查詢的資料集位置
預估及評估容量
如要估算 BI Engine 預留容量的需求,請按照下列步驟操作:
查看
TOTAL_LOGICAL_BYTES
檢視畫面,判斷資料表的邏輯大小,並將該大小做為初始 BI Engine 預留項目。例如:SELECT SUM(TOTAL_LOGICAL_BYTES) / 1024.0 / 1024.0 / 1024.0 AS logical_size_gb FROM `region-us.INFORMATION_SCHEMA.TABLE_STORAGE` WHERE TABLE_NAME IN UNNEST(["Table1", "Table2"]);
舉例來說,如果查詢一組資料表,這些資料表總共包含 200 GiB 的資料,最佳做法是先預留 200 GiB 的 BI Engine 容量。如果查詢的選擇性較高,只使用可用欄位或分區的子集,則可從較小的預留大小開始。
執行所有需要最佳化的查詢,這些查詢必須與 BI Engine 預留項目位於相同專案和區域。目標是估算需要最佳化的工作負載。負載增加會導致處理查詢時需要更多記憶體。收到查詢後,資料會載入 BI Engine。
比較 BI Engine RAM 保留項目與使用的位元組數,
reservation/used_bytes
位於 Cloud Monitoringbigquerybiengine
指標中。根據結果調整預訂容量。在許多情況下,較小的預留項目可加快大多數查詢的速度,進而節省金錢和資源。如要進一步瞭解如何監控 BI Engine,請參閱「BI Engine 監控」。
下列因素會影響 BI Engine 預留項目大小:
- BI Engine 只會快取處理查詢時所需的常用資料欄和資料列。
- 預留容量用盡時,BI Engine 會嘗試卸載最久沒使用的資料,釋出容量供新查詢使用。
- 如果多個需要大量運算資源的查詢使用相同資料集,BI Engine 會載入額外的資料副本,重新分配並縮短回應時間。
修改預留項目
如要修改現有預訂,請完成下列步驟:
主控台
如要在現有預留項目中指定一組加速資料表,請按照下列步驟操作:
前往 Google Cloud 控制台的「BigQuery」頁面。
在 BigQuery 導覽選單中,點選「BI Engine」。
如果專案已設定偏好資料表,系統會在「偏好資料表」欄中顯示一組資料表。
在要編輯的預訂項目列中,按一下「動作」欄中的圖示,然後選取「編輯」。
將「GiB of Capacity」(容量 (GiB)) 滑桿調整至您要保留的記憶體容量。點選「下一步」。
偏好的資料表:如要在現有預訂中指定一組要加速的資料表,請在「資料表 ID」欄位中,使用以下模式指定要加速的資料表:
PROJECT.DATASET.TABLE
。更改下列內容:
PROJECT
:您的 Google Cloud 專案 IDDATASET
:資料集TABLE
:要加速的資料表
變更最多可能需要十秒才會生效。只有偏好資料表清單中的資料表可以使用 BI Engine 加速功能。
點選「下一步」。
確認修改後的預訂。如果同意,請按一下「更新」。
SQL
您可以使用 ALTER BI_CAPACITY SET OPTIONS
DDL 陳述式建立或修改 BI Engine 預留項目。
前往 Google Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中輸入下列陳述式:
ALTER BI_CAPACITY `PROJECT_ID.LOCATION_ID.default` SET OPTIONS ( size_gb = VALUE, preferred_tables = [`TABLE_PROJECT_ID.DATASET.TABLE1`, `TABLE_PROJECT_ID.DATASET.TABLE2`]);
取代下列項目:
PROJECT_ID
:可選用的專案 ID,該專案將受益於 BI Engine 加速功能。如果省略,系統會使用預設專案。LOCATION_ID
:需要快取資料的位置,並加上region-
前置字元。例如:region-us
、region-us-central1
。VALUE
:BI Engine 容量的預留大小 (以 GB 為單位),範圍為 1 至 250 GB。INT64
您可以要求增加專案的預留容量上限。大多數地區都提供預訂量增加服務,處理時間為 3 天到 1 週。設定VALUE
會取代現有值 (如果有的話),設為NULL
則會清除該選項的值。TABLE_PROJECT_ID.DATASET.TABLE
:偏好資料表的選用清單,加速功能應套用至這些資料表。格式:TABLE_PROJECT_ID.DATASET.TABLE or DATASET.TABLE
。如果省略專案,系統會使用預設專案。
按一下「執行」
。
如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」。
刪除預留項目
如要刪除容量預留項目,請按照下列步驟操作:
主控台
在 BigQuery 頁面的「管理」中,前往「BI Engine」頁面。
在「預訂」部分,找出你的預訂。
在「動作」欄中,按一下預訂項目右側的
圖示,然後選擇「刪除」。在「Delete reservation?」(要刪除預訂項目嗎?) 對話方塊中輸入「Delete」(刪除),然後按一下「DELETE」(刪除)。
SQL
設定 BI Engine 容量的選項。
前往 Google Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中輸入下列陳述式:
ALTER BI_CAPACITY `PROJECT_ID.LOCATION_ID.default` SET OPTIONS ( size_gb = 0);
取代下列項目:
PROJECT_ID
:可選用的專案 ID,該專案將受益於 BI Engine 加速功能。如果省略,系統會使用預設專案。LOCATION_ID
:需要快取資料的位置,並加上region-
前置字元。例如:region-us
、region-us-central1
。
刪除專案中的所有容量預留項目後,該專案的 BI Engine 就會停用。
按一下「執行」
。
如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」。
bq
使用 bq update
指令,並提供 DDL 陳述式做為查詢參數。
bq --project_id="PROJECT_ID" \ update --reservation --bi_reservation_size=0 \ --location=LOCATION
更改下列內容:
PROJECT_ID
:您的專案 IDLOCATION
:您要查詢的資料集位置
驗證 BI Engine 資訊
您可以查詢 INFORMATION_SCHEMA
資料表,取得 BI Engine 容量的相關資訊。
確認預訂狀態
如要驗證預留項目的狀態 (包括一組偏好的資料表),請使用 SQL 查詢查看 INFORMATION_SCHEMA.BI_CAPACITIES
檢視畫面。例如:
SELECT * FROM `<PROJECT_ID>.region-<REGION>.INFORMATION_SCHEMA.BI_CAPACITIES`;
在 Google Cloud 控制台中,這項 SQL 查詢的結果大致如下:
查看預訂變更
如要查看特定預訂的變更記錄,請使用 INFORMATION_SCHEMA.BI_CAPACITY_CHANGES
檢視畫面 (透過 SQL 查詢)。例如:
SELECT * FROM `<PROJECT_ID>.region-<REGION>.INFORMATION_SCHEMA.BI_CAPACITY_CHANGES` ORDER BY change_timestamp DESC LIMIT 3;
在 Google Cloud 控制台中,這項 SQL 查詢的結果大致如下:
後續步驟
- 進一步瞭解 BI Engine。
- 瞭解 BI Engine 定價。
- 使用 Looker Studio 分析資料。
- 監控 BI Engine