

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Feature Store 概念
<a name="feature-store-concepts"></a>

我们列出了 Amazon Feature SageMaker Store 中使用的常用术语，然后是示例图，以可视化一些概念：
+  **Feature Store**：机器学习 (ML) 特征的存储和数据管理层。作为存储、检索、删除、跟踪、共享、发现和控制特征访问权限的单一信任源。在下面的示例图中，Feature Store 是您的特征组的存储，其中包含您的机器学习数据，并提供其他服务。
+  **在线存储**：低延迟、高可用性存储，适用于支持实时查找记录的特征组。使用在线存储可以通过 `GetRecord` API 快速访问最新记录。
+  **离线存储**：将历史数据存储在您的 Amazon S3 存储桶中。当不需要低（亚秒）延迟读取时，将使用离线存储。例如，当您想要存储和提供用于探索、模型训练和批量推理的特征时，可以使用离线存储。
+  **特征组**：Feature Store 的主要资源，包含用于使用机器学习模型进行训练或预测的数据和元数据。特征组是用于描述记录的特征的逻辑分组。在下面的示例图中，特征组包含您的机器学习数据。
+  **特征**：一种属性，用作使用机器学习模型进行训练或预测的输入之一。在 Feature Store API 中，特征是记录的一个属性。在下面的示例图中，一个特征描述了机器学习数据表中的一列。
+  **特征定义**：由一个名称和一种数据类型（整数、字符串或小数）组成。特征组包含特征定义列表。有关 Feature Store 数据类型的更多信息，请参阅[数据类型](feature-store-quotas.md#feature-store-data-types)。
+  **记录**：单个记录标识符的特征值集合。记录标识符和事件时间值的组合可唯一标识特征组中的记录。在下面的示例图中，记录是机器学习数据表中的一行。
+  **记录标识符名称**：记录标识符名称是标识记录的特征的名称。它必须引用特征组的特征定义中定义的特征的名称之一。每个特征组都使用一个记录标识符名称进行定义。
+  **事件时间**：您提供的与记录事件发生时间相对应的时间戳。特征组中的所有记录都必须具有相应的事件时间。在线存储仅包含与最新事件时间相对应的记录，而离线存储则包含所有历史记录。有关事件时间格式的更多信息，请参阅[数据类型](feature-store-quotas.md#feature-store-data-types)。
+  **摄取**：向特征组添加新记录。通常通过 `PutRecord` API 实现摄取。

**Topics**
+ [概念概述图](#feature-store-concepts-overview)
+ [摄取示意图](#feature-store-concepts-ingestion)

## 概念概述图
<a name="feature-store-concepts-overview"></a>

以下示例图概念化了 Feature Store 的一些概念：

 ![\[An example representation of a feature group using an example table as reference.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/feature-store/feature-store-feature-group-components.png) 

Feature Store 包含您的特征组，而特征组包含您的机器学习数据。在示例图中，原始特征组包含一个数据表，其中包含三个特征（每个特征描述一列）和两条记录（行）。
+ 特征的定义描述了与记录关联的特征值的特征名称和数据类型。
+ 记录包含这些特征值，通过其记录标识符进行唯一标识，并且必须包含事件时间。

## 摄取示意图
<a name="feature-store-concepts-ingestion"></a>

摄取是将一条或多条记录添加到现有特征组的操作。针对不同的存储使用情况，在线和离线存储的更新方式也不同。

**在线存储摄取示例**

在线商店充当记录的实时查询，只保留最多的 up-to-date记录。一旦记录被导入现有的在线存储，更新后的在线存储将只保留最新事件时间的记录。

在下图示例中，原始在线存储包含一个有一条记录的 ML 数据表。录入的记录具有与原始记录相同的记录标识符名称，且录入记录的事件时间早于原始记录。由于更新后的在线存储只保留最新事件时间的记录，因此更新后的在线存储包含原始记录。

 ![\[An example showing how records are ingested in the online store.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/feature-store/feature-store-ingestion-online-store.png) 

**离线存储摄取示例**

离线存储用于查找历史记录，保留所有记录。将新记录摄取到现有离线存储后，更新的离线存储将保留该新记录。

在下图示例中，原始离线存储包含一个有一条记录的 ML 数据表。摄取的记录具有与原始记录相同的记录标识符名称，且摄取记录的事件时间早于原始记录。由于更新后的离线存储保留了所有记录，因此更新后的离线存储包含了这两条记录。

 ![\[An example showing how records are ingested in the offline store.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/feature-store/feature-store-ingestion-offline-store.png) 