Bigtable Data Boost 總覽

Data Boost 是一項無伺服器運算服務,可以對 Bigtable 資料執行高處理量讀取工作,不會對處理應用程式流量的叢集產生效能影響。您可以使用無伺服器運算傳送大型讀取工作和查詢,同時讓核心應用程式繼續使用叢集節點進行運算。無伺服器運算 SKU 和計費費率與佈建節點的 SKU 和費率不同。您無法使用 Data Boost 傳送寫入或刪除要求。

本文說明 Data Boost,以及使用時機和方式。閱讀本頁面之前,請先瞭解執行個體、叢集和節點

版本需求

如果您使用 Enterprise 或 Enterprise Plus 版本,即可使用 Data Boost。Enterprise Plus 版本提供下列額外功能:

  • 支援 SQL 查詢:查詢透過 Data Boost 存取的資料
  • 存取 HDD 和分級式儲存空間:如要進行更全面的分析,請將 Data Boost 存取權擴展至 Bigtable 叢集中的所有資料,而不僅限於 SSD 資料

詳情請參閱「版本總覽」。

適用場合

Data Boost 非常適合用於資料分析和資料處理工作負載。 只要透過 Data Boost 區隔資料分析與處理流量,您就不必為了因應資料分析工作負載,而調整叢集的運算資源或節點數量。透過叢集節點持續轉送應用程式流量的同時,您可以運用 Data Boost,在單一叢集執行高處理量的資料分析工作。

Data Boost 的理想用途如下:

  • 從 Bigtable 匯出或觸發 ETL 管道工作至 Cloud Storage,以進行資料擴充、分析、封存、離線 ML 模型訓練,或供客戶的第三方合作夥伴擷取
  • 使用 Dataflow 等工具進行 ETL,以支援 MDM 的原地匯總、以規則為準的轉換,或機器學習工作
  • 使用 Bigtable Spark 連接器讀取 Bigtable 資料的 Spark 應用程式
  • 使用 BigQuery 外部資料表讀取 Bigtable 資料的臨時查詢和排定分析工作。
  • 對儲存在硬碟或分層儲存空間 (僅限 Enterprise Plus 版) 中不常存取的歷來資料執行長時間的數據分析作業。

不適用場合

點讀取 - Data Boost 並非點讀取作業的最佳選擇,這類作業是針對單一資料列傳送的讀取要求。包括批次讀取點數。由於計費結構的關係,許多單列點讀的費用遠高於一次長掃描。

在寫入資料後立即讀取 - 使用 Data Boost 讀取資料時,您可能無法讀取最近 35 分鐘內寫入的所有資料。如果您的執行個體使用複製功能,且您要讀取的資料是寫入至與讀取來源不同區域的叢集,就更是如此。詳情請參閱「一致性權杖」。

對延遲時間要求嚴格的工作負載 - Data Boost 著重於處理量,因此使用 Data Boost 讀取資料時,延遲時間會比使用叢集和節點讀取資料時更長。因此,Data Boost 不適合用於應用程式服務工作負載。

如要進一步瞭解 Data Boost 不支援的工作負載、設定和功能,請參閱「限制」。

Data Boost 應用程式設定檔

如要使用 Data Boost,請透過 Data Boost 應用程式設定檔傳送讀取要求,而非標準應用程式設定檔

使用標準應用程式設定檔時,您可以為使用該設定檔的要求指定轉送政策優先等級,以及是否允許單列交易。使用標準應用程式設定檔傳送的流量會轉送至叢集,而該叢集的節點會將流量轉送至磁碟。詳情請參閱「標準應用程式設定檔總覽」。

另一方面,使用 Data Boost 應用程式設定檔時,您會為執行個體的其中一個叢集設定單叢集轉送政策,而使用該應用程式設定檔的流量會採用無伺服器運算,而非叢集的節點。

您可以建立新的 Data Boost 應用程式設定檔,也可以轉換標準應用程式設定檔,改用 Data Boost。建議您為每個工作負載或應用程式使用不同的應用程式設定檔

一致性權杖

如果資料寫入或複製到目標叢集的時間超過 35 分鐘,Data Boost 就能讀取這些資料。

您可以建立並使用一致性權杖,在啟動 Data Boost 工作負載前,確認特定寫入工作或時間範圍的資料可供 Data Boost 讀取。工作流程範例如下:

  1. 將一些資料寫入資料表。
  2. 建立一致性權杖。
  3. DataBoostReadLocalWrites 模式中傳送權杖,判斷目標叢集上的 Data Boost 何時可讀取寫入內容。

您也可以先在 StandardReadRemoteWrites 模式中傳送一致性權杖,再檢查資料複製一致性,然後檢查 Data Boost 一致性。

詳情請參閱 CheckConsistencyRequest 的 API 參考資料。

配額與帳單

Data Boost 用量以無伺服器處理單元 (SPU) 為單位。 1,000 個 SPU 等於一個效能節點。在 HDD 或分層儲存空間上執行時,SPU 會同時考量無伺服器運算資源和基礎磁碟作業。與佈建的節點不同,只有在您使用 Data Boost 時,SPU 才會產生費用。每項要求至少會收取 60 個 SPU 秒數的費用,且每秒至少會收取 10 個 SPU。

如要進一步瞭解 Data Boost 定價,請參閱 Bigtable 定價

系統會為您分配配額,並分別計算 SPU 的配額和費用,以及節點的配額和費用。

資格指標

Data Boost 專為高處理量掃描而設計,工作負載必須相容,才能使用 Data Boost。將標準應用程式設定檔轉換為使用 Data Boost,或為現有工作負載建立 Data Boost 應用程式設定檔之前,請先查看 Data Boost 資格指標,確認您的設定和用量符合必要條件。此外,也請參閱限制

監控

如要監控 Data Boost 流量,請前往Google Cloud 控制台的 Bigtable 系統洞察頁面,查看 Data Boost 應用程式設定檔的指標。如需應用程式設定檔可用的指標清單,請參閱「Bigtable 資源的系統洞察圖表」。

如要監控無伺服器處理單元 (SPU) 用量,請在 Bigtable 系統洞察頁面的「應用程式設定檔」分頁中,查看 SPU 用量計數 (data_boost/spu_usage_count) 指標。

開始使用 Data Boost 後,您也可以繼續監控應用程式設定檔的資格指標

限制

Data Boost 不支援下列工作負載屬性和資源設定。

  • 寫入和刪除
  • 流量大多是點讀取 (單一資料列讀取)
  • 每個叢集每秒超過 1,000 次讀取
  • 反向掃描
  • 變更串流
  • 要求優先順序
  • 多叢集轉送
  • 單一資料列交易
  • 地區端點
  • Bigtable Studio 查詢建立工具查詢
  • 使用 CMEK 加密的執行個體
  • 不相容的用戶端程式庫。您必須使用 Bigtable Java 用戶端 2.31.0 以上版本。
    • 如果 Dataflow 工作使用 BigtableIO 讀取 Bigtable 資料,則必須使用 Apache Beam 2.54.0 以上版本。
    • 如要使用 CloudBigtableIO 讀取 Bigtable 資料,Dataflow 工作必須使用 bigtable-hbase-beam 2.14.1 以上版本。

後續步驟