階層命名空間

階層式命名空間是 Cloud Storage 提供的一項功能,可讓您將物件整理到資料夾中,並以邏輯檔案系統結構儲存資料,進而簡化資料管理工作。階層命名空間提供高效能目錄語意和不可分割的資料夾作業,有助於加快資料密集型 AI/機器學習和數據分析工作負載的處理速度。

本頁面將概略介紹階層式命名空間及其用途,包括功能、優點和限制。

運作方式

如要在 bucket 中使用資料夾,建立 bucket 時必須啟用階層命名空間。bucket 建立完成後,就無法變更 bucket 的階層式命名空間設定。如要瞭解如何為 bucket 啟用階層命名空間,請參閱「建立及管理已啟用階層命名空間的 bucket」。

下圖顯示已啟用階層式命名空間的 bucket 範例,其中的物件是以資料夾的階層式結構整理。如果值區已啟用階層式命名空間,則資料夾可同時包含物件和子資料夾。

圖 1. 含有資料夾和物件的 bucket 階層。
圖 1:含有資料夾和物件的 Bucket 階層。

功能與優點

階層式命名空間提供下列功能和優點:

  • 初始每秒查詢次數 (QPS) 較高:與未啟用階層式命名空間的 bucket 相比,啟用階層式命名空間的 bucket 讀取和寫入物件的初始 QPS 上限最多可提高 8 倍。初始 QPS 越高,就越容易擴充資料密集型工作負載,並提升總處理量。如要瞭解在啟用階層命名空間的 bucket 中使用資料夾時,如何最佳化效能,請參閱「資料夾管理」。

  • 可使用資料夾資料夾可做為物件和子資料夾的容器,在 Cloud Storage 值區中建立實際的目錄結構。將資料儲存在資料夾結構中,可提升效能、確保一致性,並簡化資料密集型和檔案導向工作負載的管理作業。

    資料夾作業提供可靠性和管理功能,包括建立、列出、刪除及以不可分割的方式重新命名。

    • 重新命名資料夾:重新命名資料夾作業可協助您以原子方式重新命名資料夾的路徑和基礎資料夾,而不會刪除任何物件。這項技術效率高且省時,特別適合含有多個物件的大型資料夾。

    • 列出資料夾:列出 bucket 中或特定資料夾下的所有資料夾,協助您管理及瞭解儲存資料的結構。

何時應使用階層命名空間?

使用需要檔案系統階層和語意的應用程式時,請考慮啟用階層式命名空間。階層式命名空間有助於處理資料密集型工作,例如分析和 AI/機器學習工作負載。以下是一些您應考慮使用階層式命名空間的常見情境:

  • 以 Hadoop 為基礎的處理作業:傳統上,Hadoop 和 Spark 工作負載會預期檔案和資料夾採用檔案系統儲存結構和以時間為準的命名方式。階層式命名空間與 Cloud Storage 連接器整合,可提供更高的處理量和不可分割的資料夾重新命名功能,進而提升許多資料處理管道的資料完整性和一致性。

  • 以檔案為導向的處理工作負載:批次分析處理、金融服務或高效能運算等工作負載,會根據資料夾和檔案的階層結構劃分成多個分割區。階層式命名空間可透過資料夾管理專用 API 管理這些環境。此外,階層式命名空間可簡化管理包含其他資料夾和物件的資料夾。只要使用單一 API 指令,即可快速重新命名資料夾和所有內容,節省寶貴的時間和資源。

  • AI/機器學習處理:TensorFlow、Pandas 和 PyTorch 等 AI/機器學習工具需要檔案系統存取控管和語意。階層式命名空間 (特別是搭配 Cloud Storage FUSE 使用時),可提高處理量並有效存取資料。因此,階層式命名空間可提升機器學習模型疊代的效能和可靠性。

為 bucket 啟用階層命名空間前,請先瞭解階層命名空間的限制。如要瞭解階層式命名空間限制,請參閱「限制」。

階層式命名空間的優點

為 bucket 啟用階層命名空間後,即可執行下列操作:

  • 最佳化整理方式:您可以將資料整理成階層式資料夾結構,方便管理及尋找檔案或資料集。

  • 建立檔案系統生態系統:階層命名空間會導入檔案系統功能,例如資料夾、重新命名資料夾和列出資料夾,這對以檔案為導向的應用程式很有幫助,包括 Hadoop 生態系統和 AI/機器學習工作負載。

  • 提升效能:透過擴充資料密集型工作負載以處理更高的處理量,藉此提升應用程式的整體效能。

平台支援

採用階層結構式命名空間的 bucket 支援下列 Cloud Storage 平台功能:

  • 所有 Cloud Storage 物件 API 和廣泛使用的 Cloud Storage 功能。如要瞭解不支援的功能,請參閱「限制」一節。

  • 使用 Storage 移轉服務,將資料從標準值區移轉至具有階層式命名空間的值區。

  • 與下列產品整合:

與 Cloud Storage 作業和功能相容

啟用階層命名空間的 bucket 與 Cloud Storage 作業的互動方式,與未啟用階層命名空間的 bucket 不同。

與物件作業互動

啟用階層命名空間的 bucket 會以以下方式處理物件作業:

  • 只要您具備必要權限,UploadRewriteCompose 等作業就會自動建立任何缺少的上層資料夾。因此,您不必在上傳物件前預先建立資料夾。
  • 雖然在物件作業期間可以自動建立資料夾,但您需要使用 DeleteFolder 作業明確刪除資料夾。
  • 使用 delimiter 參數搭配 ListObjects 作業時,儲存空間會將每個子資料夾做為 prefix. 傳回,但預設會排除空白資料夾。如要納入空白資料夾 (類似於一般檔案系統清單),請務必設定 includeFoldersAsPrefixes 參數。如要瞭解在啟用階層式命名空間的 bucket 中列出物件時,如何最佳化效能,請參閱「列出物件」。

與 bucket 作業互動

以下各節說明啟用階層式命名空間後,系統如何處理 bucket 作業。

  • 您可以列出所有已啟用階層命名空間的 bucket,無論儲存空間配置為何。bucket 的儲存空間配置說明物件在 bucket 內的排列方式,可以是平面命名空間或階層式命名空間。如需查看 bucket 儲存空間配置的操作說明,請參閱「取得 bucket 的儲存空間配置」。如要列出所有 buckets,請按照「列出 buckets」一文中的詳細操作說明操作。

  • 只要 bucket 為空,您就能刪除已啟用階層命名空間的 bucket。空儲存空間不含任何物件或代管資料夾。空值區可以包含空資料夾 (內含任何物件)。

與物件生命週期管理作業的互動

物件生命週期管理可根據條件 (例如存在時間或前置字元),自動對物件採取動作。不過,由於 RenameFolder 作業,物件生命週期管理規則在階層式命名空間 bucket 和扁平命名空間 bucket 中的行為可能有所不同:

  • 具有扁平命名空間的 bucket 適用的物件生命週期管理規則:重新命名作業會使用工具重新命名每個物件,方法是將每個物件複製到目標位置,然後從來源位置刪除原始物件。因此,系統會在目的地位置建立新物件,並設定新的建立時間。如果目的地位置套用了以存在時間為準的物件生命週期管理規則,這些規則不會立即套用至新物件,因為新物件的建立時間已重設。

  • 已啟用階層式命名空間的值區物件生命週期管理規則:重新命名資料夾時,系統會以資料夾層級運作,不必重新命名每個物件。因此,物件的建立時間會保留,也就是說,如果重新命名的物件符合存在時間條件,系統會立即套用以存在時間為準的物件生命週期管理規則

對含有相關聯代管資料夾的資料夾進行存取權控管

在 Cloud Storage 中,資料夾是實際儲存資料的目錄,而受管理資料夾則是專門用於將 IAM 權限套用至目錄的獨立資源。如要控管資料夾和其中資源的存取權,請建立相關聯的代管資料夾,並在相關聯的代管資料夾中設定 IAM 政策。關聯受管理資料夾是指名稱和路徑與實際資料夾相同的受管理資料夾。

相關聯的代管資料夾會做為目錄的行政管理層,也就是說,資料夾和相關聯的代管資料夾會緊密連結。舉例來說,如果您刪除與代管資料夾相關聯的資料夾,系統也會一併刪除相關聯的代管資料夾和 IAM 政策。如要進一步瞭解資料夾作業如何影響相關聯的代管資料夾,請參閱「資料夾與相關聯代管資料夾之間的互動」。

與代管資料夾相關聯的資料夾命名方式

建立與代管資料夾相關聯的資料夾時,系統會套用資料夾命名規則代管資料夾命名規則。資料夾名稱最多可巢狀結構 50 層,但受管理資料夾名稱最多只能巢狀結構 15 層。以 UTF-8 編碼時,受管理資料夾名稱的大小上限為 512 個位元組。也就是說,如果您打算建立資料夾和相關聯的受管理資料夾,該資料夾最多只能有 15 個堆疊的子資料夾,且以 UTF-8 編碼時,名稱大小上限為 512 位元組。

定價

如需價格資訊,請參閱 Cloud Storage 定價

限制

階層式命名空間的限制如下:

  • 建立 bucket 時,您必須選擇是否使用階層命名空間;bucket 建立後,就無法變更階層命名空間設定。

  • 如要啟用階層命名空間,bucket 也必須啟用 統一 bucket 層級存取權

  • 使用階層命名空間的 bucket 不支援下列 Cloud Storage 功能:

    • 值區鎖定功能
    • 遷移 bucket
    • 跨 bucket 複製
    • 物件訴訟保留
    • Object Retention Lock
    • 物件版本管理

後續步驟

歡迎試用

如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud Storage 平台的成效。新客戶還能獲得價值 $300 美元的免費抵免額,用於執行、測試及部署工作負載。

免費試用 Cloud Storage