使用 S3 Metadata 加速資料探索 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 S3 Metadata 加速資料探索

Amazon S3 Metadata 會自動擷取一般用途儲存貯體中物件的中繼資料,並將其存放在您可以查詢的唯讀、全受管Apache Iceberg資料表中,以加速資料探索。這些唯讀資料表稱為「中繼資料表」。當物件新增至、更新或從一般用途儲存貯體中移除時,S3 Metadata 會自動重新整理對應的中繼資料表,以反映最新的變更。

根據預設,S3 Metadata 提供三種中繼資料類型:

透過 S3 Metadata,您可以輕鬆尋找、儲存和查詢 S3 物件的中繼資料,以便快速準備資料,以用於商業分析、內容擷取、人工智慧和機器學習 (AI/ML) 模型訓練等。

對於每個一般用途儲存貯體,您可以建立包含兩個互補中繼資料表的中繼資料表組態:

  • 日誌表 – 根據預設,中繼資料表組態包含日誌表,可擷取儲存貯體中物件發生的事件。日誌資料表會以近乎即時的方式記錄對資料所做的變更,協助您識別上傳至儲存貯體的新資料、追蹤最近刪除的物件、監控生命週期轉換等。日誌資料表會記錄物件及其中繼資料的新物件和更新 (需要 PUTDELETE操作的更新)。

    日誌資料表只會針對您建立中繼資料表組態之後發生的變更事件 (例如上傳、更新和刪除) 擷取中繼資料。由於此資料表是可查詢的,因此您可以透過簡單的 SQL 查詢稽核儲存貯體的變更。

    每個中繼資料資料表組態都需要日誌資料表。(在初始版本的 S3 中繼資料中,日誌資料表稱為「中繼資料資料表」)。

    如需日誌資料表中存放哪些資料的詳細資訊,請參閱 S3 中繼資料日誌資料表結構描述

    為了協助將儲存成本降至最低,您可以選擇啟用日誌資料表記錄過期。如需詳細資訊,請參閱日誌資料表記錄即將過期

  • 即時庫存資料表 – 或者,您可以將即時庫存資料表新增至中繼資料資料表組態。即時庫存資料表提供儲存貯體中所有物件及其版本的簡單可查詢庫存,讓您可以判斷資料的最新狀態。

    您可以使用即時庫存資料表,透過識別要處理各種工作負載的物件,來簡化和加速業務工作流程和大數據任務。例如,您可以查詢即時庫存資料表來尋找存放在特定儲存類別中的所有物件、具有特定標籤的所有物件、未使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 進行伺服器端加密的所有物件等。

    當您為中繼資料表組態啟用即時庫存資料表時,資料表會經歷稱為回填的程序,在此期間,Amazon S3 會掃描您的一般用途儲存貯體,以擷取儲存貯體中所有物件的初始中繼資料。視儲存貯體中的物件數量而定,此程序可能需要幾分鐘 (最少 15 分鐘) 到數小時。回填程序完成後,即時庫存資料表的狀態會從回填變更為作用中。回填完成後,物件的更新通常會在一小時內反映在即時庫存資料表中。

    您需要支付回填庫存資料表的費用。如果您的一般用途儲存貯體具有超過 10 億個物件,則也會向您收取即時庫存資料表的每月費用。如需詳細資訊,請參閱 Amazon S3 定價

    如需即時庫存資料表中存放哪些資料的詳細資訊,請參閱 S3 中繼資料即時庫存資料表結構描述

您的中繼資料表存放在 AWS 受管 S3 資料表儲存貯體中,該儲存貯體提供針對表格式資料最佳化的儲存體。若要查詢中繼資料,您可以將資料表儲存貯體與 Amazon SageMaker Lakehouse 整合。此整合使用 AWS Glue Data Catalog 和 AWS Lake Formation,可讓 AWS 分析服務自動探索和存取您的資料表資料。

將資料表儲存貯體與 整合後 AWS Glue Data Catalog,您可以使用 Amazon Athena、Amazon EMR 和 Amazon Redshift 等 AWS 分析服務直接查詢中繼資料表。您也可以使用 Amazon QuickSight 建立具有查詢資料的互動式儀表板。如需整合 AWS 受管 S3 資料表儲存貯體與 Amazon SageMaker Lakehouse 的詳細資訊,請參閱 搭配使用 Amazon S3 Tables 與 AWS 分析服務

您也可以使用 Apache Spark、 Apache Trino和任何其他支援 Apache Iceberg 格式的應用程式查詢中繼資料表,方法是使用 AWS Glue Iceberg REST 端點、Amazon S3 Tables Iceberg REST 端點或Apache Iceberg用戶端目錄的 Amazon S3 Tables Catalog。如需存取中繼資料表的詳細資訊,請參閱 存取資料表資料

如需 S3 Metadata 定價,請參閱 Amazon S3 定價

中繼資料表的運作方式

中繼資料表是由 Amazon S3 管理,無法透過 Amazon S3 本身以外的任何 IAM 主體進行修改 不過,您可以刪除中繼資料表。因此,中繼資料表是唯讀的,這有助於確保它們正確地反映一般用途儲存貯體的內容。

若要在 AWS 受管中繼資料表中產生和存放物件中繼資料,您可以為一般用途儲存貯體建立中繼資料表組態。Amazon S3 旨在持續更新中繼資料表,以反映資料的最新變更,只要組態在一般用途儲存貯體上處於作用中狀態。

建立中繼資料表組態之前,請確定您擁有建立和管理中繼資料表所需的 AWS Identity and Access Management (IAM) 許可。如需詳細資訊,請參閱設定設定中繼資料表的許可

中繼資料表儲存、組織和加密

當您建立中繼資料表組態時,中繼資料表會存放在 受管資料表儲存 AWS 貯體中。您帳戶和相同區域中的所有中繼資料表組態都存放在單一 AWS 受管資料表儲存貯體中。這些 AWS 受管資料表儲存貯體已命名aws-s3,並具有下列 Amazon Resource Name (ARN) 格式:

arn:aws:s3tables:region:account_id:bucket/aws-s3

例如,如果您的帳戶 ID 為 123456789012,而您的一般用途儲存貯體位於美國東部 (維吉尼亞北部) (us-east-1),您的 AWS 受管資料表儲存貯體也會在美國東部 (維吉尼亞北部) (us-east-1) 建立,並具有下列 ARN:

arn:aws:s3tables:us-east-1:123456789012:bucket/aws-s3

根據預設, AWS 受管資料表儲存貯體會使用 Amazon S3 受管金鑰 (SSE-S3) 進行伺服器端加密。建立第一個中繼資料組態之後,您可以設定 AWS 受管資料表儲存貯體的預設加密設定,以搭配 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 使用伺服器端加密。如需詳細資訊,請參閱 AWS 受管資料表儲存貯體的加密在資料表儲存貯體中使用 AWS KMS 金鑰 (SSE-KMS) 指定伺服器端加密

在 AWS 受管資料表儲存貯體中,組態的中繼資料資料表通常會以下列命名格式存放在命名空間中:

b_general-purpose-bucket-name

注意
  • 如果您的一般用途儲存貯體名稱包含任何句點,則句點會在命名空間名稱中轉換為底線 (_)。

  • 如果您的一般用途儲存貯體是在 2018 年 3 月 1 日之前建立的,其名稱可能包含大寫字母和底線,而且最長也可能是 255 個字元。如果您的儲存貯體名稱具有這些特性,則中繼資料表命名空間會有不同的格式。一般用途儲存貯體名稱字首為 b_,截斷為 63 個字元,轉換為所有小寫,尾碼為雜湊。

中繼資料表具有下列 Amazon Resource Name (ARN) 格式:

arn:aws:s3tables:region-code:account-id:bucket/aws-s3/table/metadata_table_name

日誌資料表具有名稱 journal,而即時庫存資料表具有名稱 inventory

建立中繼資料表組態時,您可以選擇使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 透過伺服器端加密來加密 AWS 受管中繼資料表。如果您選擇使用 SSE-KMS,則必須在與一般用途儲存貯體相同的區域中提供客戶受管 KMS 金鑰。您只能在資料表建立期間設定資料表的加密類型。建立受管 AWS 資料表後,您無法變更其加密設定。若要為您的中繼資料資料表指定 SSE-KMS,您必須擁有特定許可。如需詳細資訊,請參閱 SSE-KMS 的許可

中繼資料資料表的加密設定優先於預設儲存貯體層級加密設定。如果您未指定資料表的加密,則會繼承儲存貯體的預設加密設定。

AWS 受管資料表儲存貯體不會計入 S3 Tables 配額。如需使用 AWS 受管資料表儲存貯體和 AWS 受管資料表的詳細資訊,請參閱使用 AWS 受管資料表儲存貯體

若要監控中繼資料表組態的更新,您可以使用 AWS CloudTrail。如需詳細資訊,請參閱CloudTrail 日誌記錄所追蹤的 Amazon S3 儲存貯體層級動作

中繼資料表維護和記錄過期

為了讓您的 中繼資料表發揮最佳效能,Amazon S3 會對資料表執行定期維護活動,例如壓縮和移除未參考的檔案。這些維護活動有助於將儲存中繼資料表的成本降到最低,並最佳化查詢效能。此資料表維護會自動執行,您不需要選擇加入或持續管理。

注意
  • 您無法控制日誌資料表或庫存資料表快照的過期時間。對於每個資料表,Amazon S3 會儲存至少 1 個快照,最長 24 小時。

  • 為了協助將成本降至最低,您可以設定日誌資料表記錄過期。根據預設,日誌資料表記錄不會過期,而且日誌資料表記錄必須至少保留 7 天。如需詳細資訊,請參閱日誌資料表記錄即將過期