

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

# 特徵商店儲存組態
<a name="feature-store-storage-configurations"></a>

Amazon SageMaker Feature Store 由一個線上儲存和一個離線儲存組成。線上儲存可讓您即時查詢特徵以進行推論，而離線儲存則包含模型訓練和批次推論的歷史資料。建立特徵群組時，您可以選擇啟用線上儲存、離線儲存或同時啟用兩者。當您同時啟用兩者時，它們會同步以避免訓練和服務資料之間的差異。若要取得有關線上和離線儲存以及其他特徵商店概念的更多相關資訊，請參閱[功能儲存概念](feature-store-concepts.md)。

下列主題討論線上儲存儲存類型和離線儲存資料表格式。

**Topics**
+ [線上儲存](feature-store-storage-configurations-online-store.md)
+ [離線儲存](feature-store-storage-configurations-offline-store.md)
+ [輸送量模式](feature-store-throughput-mode.md)

# 線上儲存
<a name="feature-store-storage-configurations-online-store"></a>

線上儲存是一種低延遲、高可用性的資料儲存，可提供即時查詢功能。它通常用於機器學習 (ML) 模型服務。您可以在建立特徵群組時選擇標準線上儲存 (`Standard`) 或記憶體內層線上儲存 (`InMemory`)。透過這種方式，您可以在考慮效能和成本的同時，選取最符合特定應用程式的讀取和寫入模式的儲存類型。如需定價的詳細資訊，請參閱 [Amazon SageMaker 定價](https://aws.amazon.com/sagemaker/pricing/)。

線上儲存包含下列 `StorageType` 選項。如需線上儲存內容的詳細資訊，請參閱 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OnlineStoreConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OnlineStoreConfig.html)。

## 標準層儲存類型
<a name="feature-store-storage-configurations-online-store-standard-tier"></a>

該 `Standard` 層是適用於線上儲存特徵群組的受管低延遲資料儲存。它為您的應用程式提供機器學習 (ML) 模型服務的快速資料擷取。`Standard` 是預設的儲存類型。

## 記憶體內層儲存類型
<a name="feature-store-storage-configurations-online-store-in-memory-tier"></a>

該 `InMemory` 層是適用於線上儲存特徵群組的受管資料儲存，支援非常低延遲的擷取。它為用於高輸送量應用程式的機器學習 (ML) 模型服務提供大規模即時資料擷取。`InMemory` 層由 Amazon ElastiCache (Redis OSS) 提供支援。如需詳細資訊，請參閱[什麼是 Amazon ElastiCache (Redis OSS)？](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html)。

線上儲存 `InMemory` 層支援集合類型，也就是清單、集合和向量。如需 `InMemory` 集合類型的詳細資訊，請參閱[集合類型](feature-store-collection-types.md)。

特徵商店為線上儲存提供低延遲的讀取和寫入功能。應用程式延遲主要由兩個主要元件組成：基礎架構或網路延遲和特徵商店 API 延遲。減少網路延遲有助於獲得對特徵商店的最低延遲讀寫。您可以部署到特徵商店執行期端點 AWS PrivateLink ，以減少特徵商店的網路延遲。透過 AWS PrivateLink，您可以使用介面 VPC 端點，以可擴展的方式從 Amazon Virtual Private Cloud (VPC) 私下存取所有 Feature Store 執行期 API 操作。`privateDNSEnabled` 選項設定為 true 的 AWS PrivateLink 部署：
+ 它會將您的 VPC 中的所有特徵商店讀取/寫入流量保留。
+ 它會在使用特徵商店時，將流量與產生流量的用戶端保持在相同的 AZ 中。這樣可以避免 AZ 之間的 “跳躍”，從而減少網路延遲。

依照[使用介面 VPC 端點存取 AWS 服務](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)中的步驟， AWS PrivateLink 將 設定為特徵商店。中特徵商店執行期的服務名稱 AWS PrivateLink 為 `com.amazonaws.region.sagemaker.featurestore-runtime`。

`InMemory` 層線上儲存會根據儲存體用量和要求自動擴展。如果使用量快速變化，自動調整可能需要幾分鐘的時間來適應新的使用模式。在自動擴展期間：
+ 特徵群組的寫入操作可能會收到限流錯誤。您應該在幾分鐘後重試您的要求。
+ 特徵群組的讀取操作可能會收到限流錯誤。在這種情況下，適用標準重試策略。
+ 讀取操作可能會出現延遲提升。

預設 `InMemory` 層特徵群組大小上限為 50 GiB。

請注意，該 `InMemory` 層目前僅支援線上特徵群組，不支援線上 \$1 離線特徵群組，因此 `InMemory` 層的線上和離線儲存之間不會進行複寫。此外，該 `InMemory` 層目前不支援客戶受管 KMS 金鑰。

# 離線儲存
<a name="feature-store-storage-configurations-offline-store"></a>

當不需要低於一秒的擷取時，離線儲存用於歷史資料。它通常用於資料探索、模型訓練和批次推論。

當您為特徵群組啟用線上和離線儲存時，這兩個儲存都會同步，以避免訓練和提供資料之間的差異。請注意，啟用 `InMemory` 儲存類型的線上儲存特徵群組目前不支援離線儲存中的對應特徵群組 (無線上至離線複寫)。如需有關在 Amazon SageMaker Feature Store 中提供 ML 模型的詳細資訊，請參閱[線上儲存](feature-store-storage-configurations-online-store.md)。

離線儲存包含下列 `TableFormat` 選項。如需離線儲存內容的相關資訊，請參閱 Amazon SageMaker API 參考中的 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OfflineStoreConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OfflineStoreConfig.html)。

## Glue 資料表格式
<a name="feature-store-storage-configurations-offline-store-glue-table-format"></a>

`Glue` 格式 (預設值) 是 AWS Glue的標準 Hive 類型資料表格式。使用 AWS Glue，您可以探索、準備、移動和整合來自多個來源的資料。它還包括用於編寫、執行任務和實作業務工作流程的額外生產力和資料操作工具。如需詳細資訊 AWS Glue，請參閱[什麼是 AWS Glue？](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html)。

## Iceberg 資料表格式
<a name="feature-store-storage-configurations-offline-store-iceberg-table-format"></a>

`Iceberg` 格式 (建議使用) 是開放式的資料表格式，用於非常大型的分析資料表。使用 `Iceberg`，您可以將小型資料檔案壓縮為分割區中較少的大型檔案，從而大幅加快查詢速度。此壓縮操作是並發的，並且不會影響特徵群組上正在進行的讀取和寫入操作。如需最佳化 Iceberg 資料表的詳細資訊，請參閱 [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg-data-optimization.html) 和·[AWS Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/data-compaction.html) 使用者指南。

`Iceberg` 以資料表的形式管理大型檔案集合，並支援現代分析資料湖作業。如果您在建立新特徵群組時選擇 `Iceberg` 選項，Amazon SageMaker Feature Store 會使用 Parquet 檔案格式建立 `Iceberg` 資料表，並使用 AWS Glue Data Catalog註冊資料表。如需有關 `Iceberg` 資料表格式的詳細資訊，請參閱[使用 Apache Iceberg 資料表](https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg.html)。

**重要**  
請注意，對於使用 `Iceberg` 表格格式的特徵群組，您必須指定 `String` 為事件時間的特徵類型。如果指定任何其他類型，則無法成功建立特徵群組。

# 輸送量模式
<a name="feature-store-throughput-mode"></a>

Amazon SageMaker Feature Store 提供兩種定價模式供您選擇：隨需 (`On-demand`) 和佈建 (`Provisioned`) 輸送量模式。`On-demand` 最適合不太可預測的流量，而 `Provisioned` 最適合一致且可預測的流量。

您可以選擇在特定特徵群組的 `On-demand` 與 `Provisioned` 輸送量模式之間切換，以適應應用程式流量模式變化或難以預測的期間。您每 24 小時只能將特徵群組輸送量模式更新為 `On-demand` 一次。您可以使用 [UpdateFeatureGroup](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html) API 或透過主控台 UI，以程式設計方式更新輸送量模式。如需使用主控台的詳細資訊，請參閱[在主控台中使用 Amazon SageMaker Feature Store](feature-store-use-with-studio.md)。

您可以使用 `Provisioned` 輸送量模式搭配僅限離線的特徵群組，或搭配儲存類型為 `Standard` 的特徵群組。對於其他儲存組態，會使用 `On-demand` 輸送量模式。如需線上和離線儲存組態的相關資訊，請分別參閱[線上儲存](feature-store-storage-configurations-online-store.md)和[離線儲存](feature-store-storage-configurations-offline-store.md)。

如需定價的詳細資訊，請參閱 [Amazon SageMaker 定價](https://aws.amazon.com/sagemaker/pricing/)。

**Topics**
+ [隨需輸送量模式](#feature-store-throughput-mode-on-demand)
+ [佈建輸送量模式](#feature-store-throughput-mode-provisioned)
+ [輸送量模式指標](#feature-store-throughput-mode-metrics)
+ [輸送量模式限制](#feature-store-throughput-mode-limits)

## 隨需輸送量模式
<a name="feature-store-throughput-mode-on-demand"></a>

當您使用特徵群組搭配未知工作負載、無法預測的應用程式流量，而且無法預測容量要求時，`On-demand` (預設) 輸送量模式最適合。

`On-demand` 模式會針對應用程式在特徵群組上執行的讀取和寫入向您收費。您不需要指定您期望應用程式執行的讀取和寫入輸送量，因為 Feature Store 會在工作負載增加或減少時立即適應它們。您只需按使用量付費，這是在 `ReadRequestsUnits` 和 `WriteRequestsUnits` 中測量得來的。

您可以使用 [CreateFeatureGroup](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFeatureGroup.html) 或 [UpdateFeatureGroup](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html) API 或透過主控台 UI 啟用 `On-demand` 輸送量模式。如需使用主控台 UI 的詳細資訊，請參閱 [在主控台中使用 Amazon SageMaker Feature Store](feature-store-use-with-studio.md)。

**重要**  
您每 24 小時只能將特徵群組輸送量模式更新為 `On-demand` 一次。

## 佈建輸送量模式
<a name="feature-store-throughput-mode-provisioned"></a>

當您使用特徵群組搭配可預測工作負載，而且可以預測容量要求以控制成本時，`Provisioned` 輸送量模式最適合。這可以讓某些工作負載更具成本效益，您可以在這些工作負載中預先預期輸送量要求。

當您將特徵群組設定為 `Provisioned` 模式時，您可以指定容量單位，這是應用程式可以從特徵群組耗用的容量上限。如果您的應用程式超過此 `Provisioned` 輸送容量，將會請求限流。

下列包含讀取和寫入容量單位的相關資訊。
+ 使用 `GetRecord` API 擷取最多 4 KB 的單一記錄將會耗用*至少* 1 個 RCU (讀取容量單位)。擷取更大的承載可能需要更多時間。所需的讀取容量單位總數取決於項目大小，包括 Feature Store 服務新增的小型每筆記錄中繼資料。
+ 使用 `PutRecord` API 且承載為 1 KB 的單一寫入請求將耗用*至少* 1 個 WCU (寫入容量單位)，小數承載會四捨五入至最接近的 KB。它可能會耗用更多容量，取決於事件時間、記錄的刪除狀態，以及存留時間 (TTL) 狀態。如需 TTL 的詳細資訊，請參閱 [存留時間 (TTL) 記錄持續時間](feature-store-time-to-live.md)。

**重要**  
設定容量單位時，請考慮下列事項：  
即使您未充分利用 `Provisioned` 容量，仍將會針對您為特徵群組佈建的讀取和寫入容量向您收費。
如果您設定的讀取或寫入容量太低，您的請求可能會遇到限流。
在某些情況下，記錄可能會由於 Feature Store 服務新增的記錄層級中繼資料而耗用額外的容量單位，以啟用各種功能。
使用 `GetRecord` 或 `BatchGetRecord` API 僅擷取功能子集仍會耗用與整個記錄對應的 RCU。
對於寫入容量，您應該佈建最近峰值容量的 2 倍，以避免在執行回填或大量擷取時發生限流，這可能會導致大量的歷程記錄寫入。這是因為寫入歷程記錄會耗用額外的寫入容量。
Feature Store 目前不支援 `Provisioned` 模式的自動擴展。

您可以使用 [CreateFeatureGroup](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFeatureGroup.html) 或 [UpdateFeatureGroup](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html) API 或透過主控台 UI 啟用 `On-demand` 輸送量模式。如需使用主控台 UI 的詳細資訊，請參閱 [在主控台中使用 Amazon SageMaker Feature Store](feature-store-use-with-studio.md)。

以下描述如何在 `Provisioned` 模式啟用時，增加或減少特徵群組的 RCU 和 WCU 輸送量。

**增加佈建輸送量**

您可以使用 [UpdateFeatureGroup](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html) API 或主控台 UI，視需要增加 RCU 或 WCU。

**降低佈建輸送量**

您可以使用 [UpdateFeatureGroup](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html) API 或主控台 UI 來減少特徵群組的 RCU 和 WCU (或兩者)。

您每天可以在特徵群組上執行的 `Provisioned` 容量減少次數存在預設配額。一天是根據國際標準時間 (UTC) 來定義。在給定的一天，只要您在當天還沒有執行任何其他減少，您可以在一小時內執行最多四次減少。隨後，只要前一小時沒有減少，您就可以每小時執行一次額外的減少。一天的調降次數最多可達 27 次 (第一個小時的 4 次調降，加上一天中後續每 1 小時 1 次的調降)。

## 輸送量模式指標
<a name="feature-store-throughput-mode-metrics"></a>

`On-demand` 模式中的特徵群組將發出 `ConsumedReadRequestsUnits` 和 `ConsumedWriteRequestsUnits` 指標。`Provisioned` 模式中的特徵群組將發出 `ConsumedReadCapacityUnits` 和 `ConsumedWriteCapacityUnits` 指標。如需 Feature Store 指標的詳細資訊，請參閱 [Amazon SageMaker Feature Store 指標](monitoring-cloudwatch.md#cloudwatch-metrics-feature-store)。

## 輸送量模式限制
<a name="feature-store-throughput-mode-limits"></a>

每個 AWS 帳戶 都有套用的預設服務配額或限制，以協助確保可用性和管理帳單風險。如需預設配額和限制的相關資訊，請參閱[配額、命名規則與資料類型](feature-store-quotas.md)。

在某些情況下，這些限制可能會低於文件中所述的限制。如果您需要更高的限制，您可以提交請求以提高配額。在達到目前的限制之前，最好先這麼做，以避免您的工作中斷。如需服務配額以及如何請求提高配額的詳細資訊，請參閱 [AWS 服務配額](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)。