資料可用性和耐用性

本頁面將討論 Cloud Storage 中的資料可用性和耐久性相關概念,包括 Cloud Storage 如何備援儲存資料、雙區域和多區域的預設複製行為、雙區域的 Turbo 複製功能,以及跨值區複製功能。

基本概念

  • Cloud Storage 專為達成 99.999999999% (11 9's) 的耐用性而設計。

    • 為達成此目標,Cloud Storage 會使用糾刪碼,並在多個可用區的多部裝置中備援儲存資料片段。

    • 寫入 Cloud Storage 的物件必須備份存放在至少兩個不同的可用區域,之後才會確認該寫入成功。

    • 檢查碼也會加以儲存並定期重新驗證,藉以主動確認所有靜態資料的資料完整性,並偵測傳輸中的資料是否出現損毀。如有需要,系統會自動使用備援資料來修正。

  • 儲存在 Cloud Storage 中的資料每月可用性,取決於資料的儲存空間級別和 bucket 的位置類型。詳情請參閱可用的儲存空間級別

  • 儲存在雙地區多地區水桶的物件,會以備援的形式儲存在至少兩個不同地理位置。

    • 如果是雙重區域,請選取要儲存物件的特定區域。

    • 如果是多區域,Cloud Storage 會視需要決定用於儲存資料的特定資料中心,但這些資料中心位於多區域的地理界線內,且相隔至少 100 英里。與雙區域相比,這項功能可提供跨區域的備援機制,且儲存空間費用較低。

    • 萬一發生區域性服務中斷 (例如天災),雙區域和多區域值區仍可使用,無須變更儲存空間路徑。

    如要進一步瞭解特定地區的注意事項,請參閱「地理位置與區域」一文。

  • 儲存在雙區域和多區域值區的物件通常會使用預設複製,在不同地理位置之間複製。

    • 如果物件成功上傳後,但尚未複製到第二個位置時,其中一個物件儲存位置無法使用,Cloud Storage 的強一致性可確保系統不會提供物件的舊版本,且當區域恢復運作時,後續覆寫作業不會還原。

    • 儲存在雙區域的物件可以選擇使用強化型複製,在區域間實現更快速、更可預測的複製作業。

  • 如要實現雙區域無法提供的區域配對間的備援,請考慮在每個區域中建立個別值區,並使用 Storage 移轉服務的事件驅動移轉跨值區複寫,讓值區保持同步。

跨區域備援

傳統儲存空間模型通常採用主動-被動方法,並設有「主要」和「次要」地理位置,但 Cloud Storage 雙區域和多區域提供主動-主動架構,並以單一值區為基礎,在各區域之間提供備援。這樣一來,使用者就不必將資料從一個值區複製到另一個值區,也不必在主要區域停機時手動容錯移轉至次要值區,因此可簡化災難復原程序。

Cloud Storage 一律會瞭解值區的目前狀態,並視需要從可用區域以透明方式提供物件。因此,雙區域和多區域值區的復原時間目標 (RTO) 設為零,使用者通常不會察覺暫時的區域故障;如果發生區域中斷情形,雙區域和多區域值區會自動繼續提供已跨區域複製的所有資料。

不過,跨區域備援是以非同步方式進行,如果區域在資料完成跨區域複製前發生故障,您就無法存取資料,直到該區域恢復運作為止。在極少數的區域實體毀損情況下,資料可能會遺失。

Cloud Storage 的預設複製功能旨在為 99.9% 的新寫入物件提供跨區域的備援機制,目標是在一小時內完成複製作業,並在 12 小時內複製完所有新寫入的物件。新寫入的物件包括上傳、重寫、複製和組合。

Cloud Storage 也提供跨值區複製功能,可用於在獨立值區之間複製資料,滿足雙區域或多區域位置無法滿足的額外資料複製需求。

強化型複製

Turbo 複製功能可為雙區域值區中的資料提供更快速的跨區域備援,降低資料遺失風險,並協助支援不間斷服務,避免區域性服務中斷。啟用強化型複製功能後,系統會將新寫入的物件複製到構成雙區域的兩個區域,復原點目標為 15 分鐘,不受物件大小影響。

請注意,即使是預設複製作業,大多數物件也會在幾分鐘內完成複製。

雖然跨區域的備援和渦輪複製功能有助於支援業務持續性和災難復原 (BCDR) 作業,但管理員仍應規劃及實作適合工作負載的完整 BCDR 架構。

詳情請參閱「逐步指南:在 Google Cloud中設計應用程式的災難復原機制」。

限制

  • 強化型複製功能僅適用於雙區域中的 bucket。

  • XML API 無法管理 Turbo 複製功能,包括建立已啟用 Turbo 複製功能的新值區。

  • 在值區上啟用強化型複製功能後,最多可能需要 10 秒,才會開始套用至新寫入的物件。

  • 在值區上啟用強化型複製功能前開始的物件寫入作業,會以預設複製速率跨區域複製。

    • 如果物件組合使用過去 12 小時內以預設複寫功能寫入的任何來源物件,建立的複合物件也會使用預設複寫功能。

跨 bucket 複製

在某些情況下,您可能想在第二個值區中保留資料副本。跨 bucket 複製作業會以非同步方式,將來源 bucket 中新的和更新的物件複製到目的地 bucket。

跨 bucket 複製與預設複製和 Turbo 複製不同,因為資料會儲存在兩個獨立的 bucket 中,每個 bucket 都有自己的設定,例如儲存位置、加密、存取權和儲存空間級別。特別適合:

  • 資料主權:在相隔遙遠的地區維護資料。
  • 維護不同的開發和正式版:建立不同的 bucket 和命名空間,以免開發作業影響正式版工作負載。
  • 共用資料:將資料複製到供應商或合作夥伴擁有的值區。
  • 匯總資料:將不同值區的資料合併到單一值區,以執行分析工作負載。
  • 管理成本、安全性和法規遵循:在不同擁有權、儲存空間類別和保留期限下維護資料。

跨 bucket 複製功能會使用 Storage Transfer Service 複製物件,並使用 Pub/Sub 接收來源和目的地 bucket 的變更通知。您可以在新建立的值區和現有值區上啟用跨值區複寫。

如果 bucket 的物件變更率低於每秒 3,000 個,且物件大小低於 1 GiB,跨 bucket 複寫通常需要幾分鐘到幾十分鐘,但系統不支援特定上限。此外,如果儲存區的變更率較高或物件較大,複製延遲時間可能會較長。

如需跨 bucket 複製功能的操作說明,請參閱「使用跨 bucket 複製功能」一文。

限制

  • 來源 bucket 中的物件刪除作業不會複製到目的地 bucket。

  • 物件生命週期設定不會複製。

  • 複製物件時,系統不會保留時間戳記中繼資料 (例如 timeCreatedtimeUpdated)。如要瞭解如何保留中繼資料,請參閱「在 Cloud Storage bucket 之間轉移資料」。

  • 由於跨 bucket 複製功能可用於在任何 Google Cloud 位置的 bucket 之間複製資料,因此跨 bucket 複製效能會因所選位置而異。因此,跨儲存空間複製功能不提供復原點目標 (RPO)。

Performance Monitoring

Cloud Storage 會使用預設複製或強化型複製功能,監控雙區域和多區域 bucket 中最舊的未複製物件。如果物件未在 RPO (還原點目標) 時間內完成複製,則視為超出 RPO。只要有一或多個物件不在 RPO 範圍內,每分鐘都會計為「不良」分鐘。

舉例來說,如果一個物件在上午 9:00 至 9:20 產生 20 分鐘的異常,另一個物件在上午 9:15 至 9:25 產生 10 分鐘的異常,則當月有兩個物件超出 RPO。本月不良分鐘數總計 25 分鐘,因為從上午 9:00 到上午 9:25,至少有一個物件缺少 RPO。

  • 如果值區使用強化型複製功能,物件的 RPO 為 15 分鐘。

  • 如果儲存空間使用預設複製功能,物件的 RPO 為 12 小時。

    • 如果 bucket 使用預設複製作業,物件通常會在 1 小時內複製完成。
  • 跨 bucket 複製作業不會提供 RPO。

在 Google Cloud 控制台中,您可以透過「Percent of minutes out of RPO」(超出 RPO 的分鐘數百分比) 圖表,監控過去 30 天內,雙區域或多區域 bucket 使用預設或渦輪複製功能時,發生錯誤的分鐘數百分比。這項服務水準指標可用於監控 bucket 的每月複寫時間一致性。同樣地,「不在目標範圍內的物件數百分比」會追蹤未在 RPO 內發生的物件複製作業。這項服務等級指標可用於監控 bucket 的每月複寫量一致性。詳情請參閱「Cloud Storage 監控」和「Cloud Storage 服務等級協議」。

後續步驟