階層命名空間是 Cloud Storage 提供的一項功能,可讓您將物件整理至資料夾,並以邏輯檔案系統結構儲存資料,輕鬆簡化資料管理工作。階層式命名空間提供高效能目錄語意和不可分割的資料夾作業,有助於加快資料密集型 AI/機器學習和數據分析工作負載的處理速度。
本頁面將概略介紹階層式命名空間和使用案例,包括功能、優點和限制。
運作方式
如要在 bucket 中使用資料夾,建立 bucket 時必須啟用階層命名空間。bucket 建立後,階層式命名空間設定即無法變更。如要瞭解如何為 bucket 啟用階層式命名空間,請參閱「建立及管理已啟用階層式命名空間的 bucket」。
下圖顯示已啟用階層命名空間的 bucket 範例,其中的物件是以資料夾的階層結構整理。如果 bucket 啟用階層命名空間,則資料夾可同時包含物件和子資料夾。
功能與優點
階層命名空間提供下列功能和優點:
初始每秒查詢次數 (QPS) 較高:相較於未啟用階層命名空間的 bucket,啟用階層命名空間的 bucket 讀取和寫入物件的初始 QPS 上限最多可高出 8 倍。初始 QPS 越高,就越容易擴充資料密集型工作負載,並提高處理量。如要瞭解在啟用階層命名空間的 bucket 中使用資料夾時,如何最佳化效能,請參閱資料夾管理。
使用資料夾:資料夾可做為物件和子資料夾的容器,在 Cloud Storage bucket 中建立實際的目錄結構。將資料儲存在資料夾結構中,可提升效能、確保一致性,並簡化資料密集和檔案導向工作負載的管理作業。
資料夾作業提供可靠性和管理功能,包括建立、列出、刪除和不可分割的重新命名。
重新命名資料夾:重新命名資料夾作業可協助您以不可分割的方式重新命名資料夾的路徑及其基礎資料夾,而不會刪除任何物件。這項技術既有效率又省時,特別適合用於含有多個物件的大型資料夾。
列出資料夾:列出資料夾作業會列出 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 移轉服務,將資料從標準 bucket 移轉至具有階層命名空間的 bucket。
與下列產品整合:
Cloud Storage 連接器,由 Managed Service for Apache Spark 維護,適用於 Hadoop 工作負載。詳情請參閱「針對 Hadoop 工作負載使用已啟用階層命名空間的 bucket」。
Cloud Storage FUSE:透過用戶端存取 bucket,就像存取檔案系統一樣。
GCSFS Python 程式庫:以 Python 方式存取 bucket,就像存取檔案系統一樣。GCSFS Python 程式庫 2026.3.0 以上版本支援階層命名空間。
與 Cloud Storage 作業和功能的相容性
啟用階層命名空間的 bucket 與 Cloud Storage 作業的互動方式,與未啟用階層命名空間的 bucket 不同。
與物件作業的互動
啟用階層命名空間的 bucket 會以下列方式處理物件作業:
- 只要您具備必要權限,
Upload、Rewrite和Compose等作業就會自動建立任何缺少的上層資料夾。因此,您不需要在上傳物件前預先建立資料夾。 - 雖然系統會在物件作業期間自動建立資料夾,但您需要使用
DeleteFolder作業明確刪除資料夾。 - 使用
ListObjects作業搭配delimiter參數時,bucket 會將每個子資料夾傳回為prefix.,但預設會排除空白資料夾。如要納入空白資料夾 (類似於一般檔案系統清單),請務必設定includeFoldersAsPrefixes參數。如要瞭解在啟用階層命名空間的 bucket 中列出物件時,如何最佳化效能,請參閱「列出物件」。
與 bucket 作業的互動
以下各節說明啟用階層命名空間時,系統如何處理 bucket 作業。
無論儲存空間版面配置為何,您都可以列出所有已啟用階層命名空間的 bucket。bucket 的儲存空間版面配置說明物件在 bucket 內的排列方式,可以是平面命名空間或階層式命名空間。如需查看 bucket 儲存空間配置的操作說明,請參閱「取得 bucket 的儲存空間配置」。如要列出所有值區,請按照「列出值區」一節的詳細操作說明進行。
只要 bucket 為空,您就可以刪除已啟用階層命名空間的 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 中,物件名稱的大小上限為 1024 個位元組 (以 UTF-8 編碼),其中資料夾名稱區隔和基本名稱區隔的大小上限為 512 個位元組 (以 UTF-8 編碼)。在平面命名空間 bucket 中,物件名稱不含資料夾名稱區隔,且 UTF-8 編碼時上限為 1024 個位元組。如要進一步瞭解物件名稱限制,請參閱「關於物件」。
資料夾名稱最多可有 50 層巢狀結構 (如果資料夾有關聯的代管資料夾,則最多可有 15 層巢狀結構)。
使用階層命名空間的 bucket 不支援下列 Cloud Storage 功能:
- 值區鎖定功能
- 寫入作業停機時間內的 bucket 遷移
- 跨 bucket 複製
- 物件訴訟保留
- 物件層級存取控管清單 (ACL)
- Object Retention Lock
- 物件版本管理
後續步驟
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud Storage 平台的成效。新客戶還能獲得價值 $300 美元的免費抵免額,用於執行、測試及部署工作負載。
免費試用 Cloud Storage