Rapid Cache

本頁說明 Rapid Cache,這項功能可為 Cloud Storage 值區提供 SSD 支援的區域讀取快取,讓您取得更多儲存資料的總處理量,並降低延遲。Rapid Cache 會根據您的需求,自動擴充或縮減儲存空間容量和頻寬

Rapid Cache 好處多多,有助於提升效能,並降低讀取密集型工作負載的相關網路成本。

請參閱「建立及管理快取」,瞭解如何在 Rapid Cache 中建立及管理快取。

運作原理

您可以使用 Rapid Cache 在與工作負載相同的可用區中建立快取。在可用區中建立快取後,來自該可用區的資料讀取要求會由快取處理,而非 bucket。每個快取都會為與快取位於相同可用區的用戶端提供服務。只有當與快取位於相同可用區的 VM 讀取資料時,資料才會從 bucket 擷取到快取中。此外,如果您設定「寫入時擷取」,資料寫入 bucket 時也會擷取到快取中。中繼資料不會快取,物件中繼資料要求會由 bucket 處理,而非快取。

Rapid Cache 是全代管服務,一律會傳回一致的資料。

優點

使用 Rapid Cache 快取資料可享有下列優點:

  • 加快資料存取速度:Rapid Cache 會將資料與運算資源放在同一可用區,並完全採用 SSD 支援,因此工作負載的處理量最高可達 2.5 TB/s,且讀取速度更快,延遲時間也縮短。

  • 降低多區域資料移轉費用:與直接從多區域 bucket 讀取的資料相比,從快取讀取的資料會產生較低的資料移轉費用

  • 降低擷取費用:從快取讀取資料時,系統不會收取 Nearline Storage、Coldline Storage 和 Archive Storage 值區的擷取費用。

  • 讀取作業的費用較低:從 Rapid Cache 執行的讀取作業,費用比從 Standard 儲存空間的 bucket 執行的 B 級作業低。

  • 自動調整快取大小:Rapid Cache 的動態 SSD 快取會根據用量自動調整大小,您不必指定快取大小。

  • 有效運用快取:您可以在現有 bucket 上啟用 Rapid Cache,不必變更現有應用程式或 API。Rapid Cache 儲存的資料具有同步一致性。

如需定價詳細資料,請參閱「Rapid Cache 定價」。如要瞭解配額,請參閱「Rapid Cache 配額」。

何時應使用 Rapid Cache?

對於不常變更但經常讀取的資料,請使用 Rapid Cache,加快數據分析工作負載的資料讀取速度,以及 AI/機器學習模型的訓練和載入速度。

假設您要跨多個 Google Kubernetes Engine 節點訓練 AI 模型,所有節點都會重複讀取儲存在 Cloud Storage 值區中的資料,且都在同一區域中執行。在工作負載執行的可用區中建立快取,即可取得額外頻寬,並減少讀取多區域 bucket 資料時產生的資料移轉費用,進而更有效率地執行規模較大的工作負載。

快取大小和頻寬限制自動調度資源

Rapid Cache 提供暫時儲存容量和頻寬,並根據快取中儲存的資料量自動擴充或縮減。

快取頻寬上限為 100 Gbps,每儲存 1 TiB 的資料,頻寬上限就會增加 20 Gbps。如要提高起始頻寬或總頻寬上限,可以增加快取中儲存的資料量、在區域中建立更多快取,或是聯絡技術帳戶管理員或 Google 代表。

如要進一步瞭解 Rapid Cache 的大小和頻寬限制,請參閱「Cloud Storage 配額與限制」。

在可用區中快取資料

為值區建立快取時,快取必須建立在值區所在位置的區域內。舉例來說,如果值區位於 us-east1 地區,您可以在 us-east1-b 中建立快取,但無法在 us-central1-c 中建立。如果值區位於 ASIA 雙區域,您可以在構成 asia-east1asia-southeast1 地區的任何區域中建立快取。

每個值區在每個可用區最多可建立一個快取。舉例來說,如果值區位於 us-east1 區域,您可以在 us-east1-b 建立一個快取,在 us-east1-c 建立另一個快取。如果值區位於涵蓋 us-central1us-east1 的多區域,您可以在 us-central1-a 建立一個快取,在 us-east1-b 建立另一個快取。

只要可用區有容量,您就能在可用區中建立快取。 如果無法建立快取,Rapid Cache 會持續嘗試建立快取,直到容量可用或使用者取消建立程序為止。容量可能長期無法使用。

您可以在下列可用區使用 Rapid Cache。這些可用區可根據 bucket 的位置類型使用。

亞洲

下表列出亞洲地區可用的 Rapid Cache 區域和位置類型。

區域名稱 區域 雙區域 多區域 自訂雙區域
asia-east1-a
asia-east1-b
asia-east1-c
asia-northeast1-a
asia-northeast1-b
asia-northeast1-c
asia-south1-a
asia-south1-b
asia-south1-c
asia-southeast1-a
asia-southeast1-b
asia-southeast1-c

歐洲

下表列出歐洲地區支援 Rapid Cache 的可用區和位置類型。

區域名稱 區域 雙區域 多區域 自訂雙區域
europe-north1-a
europe-north1-b
europe-north1-c
europe-west1-b
europe-west1-c
europe-west1-d
europe-west4-a
europe-west4-b
europe-west4-c
europe-west4-ai1a (AI 可用區)
europe-west6-a
europe-west6-b

美國

下表列出美國地區支援 Rapid Cache 的區域和位置類型。

區域名稱 區域 雙區域 多區域 自訂雙區域
us-central1-a
us-central1-b
us-central1-c
us-central1-f
us-central1-ai1a (AI 可用區)
us-east1-b
us-east1-c
us-east1-d
us-east4-a
us-east4-b
us-east4-c
us-east5-a
us-east5-b
us-east5-c
us-south1-a
us-south1-b
us-south1-c
us-south1-ai1b (AI 可用區)
us-west1-a
us-west1-b
us-west1-c
us-west2-a
us-west3-a
us-west3-b
us-west3-c
us-west4-a
us-west4-b
us-west4-c

資料擷取

根據預設,系統只會在首次要求資料時,將資料擷取至快取。由於快取在首次要求時是空的,因此第一次讀取會導致快取未命中,系統會改為從 bucket 擷取資料。資料傳送給使用者時,系統會同時將資料擷取至快取。因此,後續所有讀取作業都會直接從快取提供資料,也就是快取命中,大幅提升效能。

如要完全避免初始要求速度緩慢,您可以將快取設定為「在寫入時擷取資料」,也就是在資料寫入 bucket 時載入資料。在寫入時將資料擷取至快取,非常適合需要從第一次讀取就達到極快速度的工作流程,例如還原系統檢查點,或準備模型訓練的資料管道。

將資料擷取至快取時,Rapid Cache 會將物件分成較小的固定大小區塊。將物件分成區塊可進行更精細的快取,特別是對於只存取特定部分的大型檔案。

區塊是 2 MB 的資料塊。要求物件時,Rapid Cache 會找出涵蓋所要求位元組範圍的 2 MB 區塊,並獨立管理這些區塊。

資料擷取行為會因擷取至快取的物件大小而異:

  • 如果讀取要求是針對大於 2 MB 的物件,系統只會擷取包含所要求位元組範圍的區塊。舉例來說,讀取 100 MB 檔案的前 1 MB 時,只會擷取前 2 MB 的區塊。

  • 如果讀取要求是針對小於 2 MB 的物件 (例如 500 KB 的圖片),系統會將整個物件擷取到快取中。

快取設定

建立更新作業期間設定快取時,您可以設定下列屬性。

存留時間 (TTL)

TTL 是指從上次讀取資料區塊到將其從快取剔除之間的時間長度上限。舉例來說,如果 TTL 設為 24 小時,且資料區塊上次讀取時間為週一上午 11 點,之後未再讀取,則該資料區塊會在週二上午 11 點從快取中剔除。您可以將 TTL 設為 24 小時到 7 天。如果未指定,TTL 預設為 24 小時。

寫入時擷取

在物件寫入時將資料擷取至快取,可加快寫入後讀取工作負載的速度,例如檢查點和輸出訓練工作資料準備。將快取設定為在寫入時擷取資料後,資料就會在上傳至值區時寫入快取。這種主動式做法可避免初始快取未命中,讓工作負載在第一次讀取時就能立即命中快取。

快取作業

本節說明可對 Rapid Cache 快取執行的作業。部分作業為非同步,會傳回長時間執行的作業,其他作業則為同步,會立即完成作業並傳回 AnywhereCache 資源

建立快取

建立快取時,快取會進入 CREATING 狀態,建立完成後則會進入 RUNNING 狀態。快取建立作業最多需要 48 小時,之後作業就會逾時。

AnywhereCaches Create API 為非同步,建立作業會導致系統傳回長時間執行的作業。長時間執行的作業會提供建立作業的狀態,並讓您在作業完成前取消作業。

更新快取

您可以更新處於「執行中」(RUNNING) 狀態的快取存留時間或擷取行為。快取更新期間,pending_update 欄位會評估為 truepending_update 欄位評估為 true 時,快取無法再次更新。快取存留時間更新完畢後,系統會立即將新存留時間套用至快取中的現有和新資料。

處於「建立中」或「已停用」狀態的快取無法更新。

AnywhereCaches Update API 為非同步,且會傳回長時間執行的作業。

取得快取

取得快取時,Rapid Cache 會傳回快取執行個體的狀態和設定。AnywhereCaches Get API 是同步 API,會傳回 AnywhereCache 資源。

列出快取

您可以傳回指定值區的相關聯快取清單。AnywhereCaches List API 是同步 API,支援分頁

停用快取

您可以停用快取,從值區的設定中永久移除快取。停用快取後,快取會進入「已停用」狀態。處於這種狀態時,您仍可從快取讀取現有資料,但無法將新資料擷取到快取中。

停用快取後,系統會提供 1 小時的緩衝期,您可以在這段期間內恢復快取,取消停用作業。緩衝期過後,快取就會遭到刪除,快取中的所有資料都會遭到清除,快取也會從 bucket 中移除。

快取遭到刪除前的一小時內,您可以恢復快取,藉此還原 DISABLED 狀態,此時快取會恢復為 RUNNING 狀態。

AnywhereCaches Disable API 是同步 API,會傳回 AnywhereCache 資源。

恢復快取

只要停用的快取在 1 小時的寬限期內,您就可以繼續使用處於 DISABLED 狀態的快取。1 小時寬限期過後,系統會盡量執行續傳作業,因為寬限期過後,快取隨時可能遭到刪除。快取恢復後,就會進入 RUNNING 狀態。

AnywhereCaches Resume API 是同步 API,會傳回 AnywhereCache 資源。

Rapid Cache 建議工具

Rapid Cache 建議工具會分析您的數據用量和儲存空間,針對 bucket 與可用區組合提供快取建立建議和洞察資料。如需 Rapid Cache 建議工具的總覽資訊和使用說明,請參閱「Rapid Cache 建議工具」。

使用 Rapid Cache 加速 BigQuery 的讀取作業

Rapid Cache 可用於處理 BigQuery 發出的物件讀取要求。使用 Rapid Cache,您就能加快應用程式的資料讀取速度,同時盡量提高成本效益。

雖然 BigQuery 是區域服務,但其基礎運算資源有時可能會在區域之間轉移,以進行負載平衡。最佳做法是在區域的所有可用區中,為 BigQuery 工作負載啟用 Rapid Cache,確保在基礎運算資源變更可用區時,仍有可用的快取。由於 Rapid Cache 採用隨用隨付制,因此如果未使用某個區域的快取,就不會產生額外費用。請注意,如果工作負載的資源變更可用區,新可用區中的快取需要重新擷取資料,可能會導致資料擷取費用一次性增加。

加密快取資料

資料會以原始的伺服器端加密格式儲存在快取中,因此與 Cloud Storage 支援的加密選項相容。

限制和規定

  • 如要刪除 bucket,必須先刪除所有相關聯的快取。但使用 Google Cloud 控制台刪除 bucket 時,系統會一併刪除所有相關聯的快取,這是唯一例外。

  • 執行快取建立、停用、繼續或更新作業時,請將作業頻率限制為每秒最多一項作業。如果每秒執行超過一項作業,可能會導致失敗。

  • Rapid Cache 並非耐久儲存空間,資料可能會在各種情況下從快取中逐出。其中一種情況是快取自動調整大小,確保工作負載有足夠的可用資源。在這種情況下,系統可能會根據最近最少使用的 (LRU) 演算法逐出部分資料,直到 Rapid Cache 服務完成增加快取大小為止。

    無論如何,您的資料都會安全地儲存在來源值區中。如果資料因 TTL 到期以外的原因從快取中捨棄,Rapid Cache 服務會嘗試以透明方式將資料重新擷取到快取中,且不會向您收取費用。如果資料無法以透明方式重新擷取,或因 TTL 到期而捨棄,Rapid Cache 服務會在首次讀取時重新擷取資料。

  • 您無法使用 BigQuery 讀取 Rapid Cache 建議工具產生的建議和洞察資料。

效能注意事項

  • 區塊遺漏:如果要求涵蓋多個區塊,且部分區塊位於快取中,其他區塊則否,Rapid Cache 會從來源值區透明地擷取遺漏的區塊。

  • 存留時間和移除:存留時間 (TTL) 和最少使用 (LRU) 移除政策也適用於區塊。大型檔案中經常使用的部分可能會保留在快取中,不常使用的部分則會遭到清除。

定價

如要瞭解使用 Rapid Cache 的價格,請參閱「Rapid Cache 定價」。

費用控管

展開下列提示,瞭解如何盡量降低執行快取的成本:

選取 bucket

請只為包含要快取資料的 bucket 建立快取。

選取可用區

您應只在工作負載可從快取獲益的區域中建立快取。

存留時間設定

您應指定將資料儲存在快取中的最短存留時間。存留時間可變更,不會造成中斷。預設值為 1 天。

停用快取

您可以停用快取,從服務中永久移除快取,並停止累積所有相關快取費用。

排解暫時性資源短缺問題

下列各節說明發生暫時性資源短缺時如何排解問題,也就是指定區域的 SSD 容量或服務容量不足,無法建立快取、增加快取大小或提高快取頻寬限制。

無法建立新快取

如果 SSD 容量或處理量服務資源不足,Rapid Cache 可能無法在特定可用區建立新快取,導致資源暫時短缺。在這段時間範圍,Rapid Cache 最多會嘗試建立新快取 48 小時。如果資源在 48 小時的時間範圍內恢復可用,Rapid Cache 就會順利完成快取建立要求。如果資源在 48 小時的時間範圍內未恢復可用,快取建立要求就會失敗。

如何排解問題:為避免快取作業中斷,您可以手動取消快取建立作業,然後在可能還有容量的另一個區域中建立新快取。如要監控或取消快取建立作業,請參閱使用長時間執行的作業

無法增加快取大小

如果快取所在區域沒有足夠的 SSD 容量,Rapid Cache 可能無法增加快取大小。

雖然 Rapid Cache 可視需求自動增加快取大小,但快取大小的增加取決於 SSD 容量是否足夠。如果系統提出自動增加快取大小的要求時,SSD 容量不足,Rapid Cache 會持續提交要求,直到暫時性資源短缺結束,或不再需要增加快取大小為止。

資源暫時短缺時,系統會根據最近最少使用的原則,擷取新資料並逐出快取中的現有資料。如果快取空間夠大,可儲存大部分的熱門資料,快取指標幾乎不會受到影響。如果快取容量小於熱門資料量,可能會比不受資源短缺影響的快取更常清除資料並重新擷取相同資料。如果快取實際大小遠小於所需容量,可能會發生下列資源不足相關行為:

  • 快取頻寬上限較低、快取處理量較低、資料傳輸頻寬配額用量較高,以及可能影響其他指標
  • 帳單費用可能會受到以下影響:
    • 快取擷取費用增加
    • 快取儲存空間費用降低
    • 快取資料移出費用降低
    • 減少快取資料轉出作業費用
    • 多區域資料移轉費用增加
    • 使用 B 級作業導致費用增加

如要瞭解這些費用,請參閱 Rapid Cache 定價

如何排解問題:在暫時性資源短缺期間,為獲得最佳結果,建議您監控快取,並根據需求停用不必要的快取或工作負載。

無法提高快取的頻寬上限

當特定區域的資源輸送量不足以將現有快取的頻寬上限擴充至每 TiB 20 Gbps 時,快取大小增加期間可能會暫時發生快取頻寬上限不足的情況。快取頻寬不足時,Rapid Cache 不允許快取頻寬上限以每 TiB 資料 20 Gbps 的速度擴充,但快取仍會繼續處理讀取要求。如要要求更多快取頻寬,請與技術客戶經理或 Google 代表聯絡。快取頻寬不足時,您可能會發現儲存空間的資料輸出頻寬用量增加。

如何排解問題:為在暫時性資源短缺期間獲得最佳結果,建議您監控快取,並根據需求停用不必要的快取或工作負載。

後續步驟