Feast 路线图深度解读:数据源、存储矩阵、特性工程与服务治理的演进蓝图
2026/9/17 11:09:11 网站建设 项目流程

Feast 路线图深度解读:数据源、存储矩阵、特性工程与服务治理的演进蓝图

【免费下载链接】feastThe Open Source Feature Store for AI/ML项目地址: https://gitcode.com/GitHub_Trending/fe/feast

Feast 仓库中的 roadmap.md 是一份以勾选清单形式维护的项目功能路线图,覆盖了数据源、离线/在线存储、特性工程(Transformations)、流式摄取、部署形态、特性服务与数据治理九大领域。本文以该路线图为骨架,逐项对照当前仓库中的源码、ADR 与参考文档,说明每项功能的完成状态、对应的实现位置与可验证的落地点,帮助你在为模型选择 Feast 组件组合时,判断哪些能力是稳定可用的、哪些仍处于 Alpha/Beta 演进阶段。

路线图的组织方式与阅读方法

路线图按功能域分组列出条目,每条目标注完成状态:[x]表示已交付(部分条目标明 Alpha/Beta 成熟度),[ ]表示尚未完成或正在进行中。路线图文首明确欢迎社区对所有条目进行贡献。

理解这份路线图的一个关键背景是:Feast 的架构决策均沉淀在 docs/adr/ 的 ADR(Architecture Decision Records)目录中。路线图上若干重要条目与 ADR 一一对应,例如:

路线图片项对应 ADR
Feature Services(模型中心的特性追踪)ADR-0001
On-Demand TransformationsADR-0003
Streaming TransformationsADR-0005
Kubernetes Operator 部署形态ADR-0006
统一特性转换与 Feature ViewADR-0007
向量数据库集成(LLM/RAG 支持)ADR-0010
数据质量监控(DQM)ADR-0011

这些 ADR 记录了决策背景与后果,是理解"路线图为什么长这样"的一手资料。

NLP 与向量检索:Alpha 已落地,原生 NLP 服务仍在路上

路线图 NLP 板块包含两项:

  1. Vector Search(向量检索,已完成,Alpha)——这是 Feast 面向 RAG/LLM 场景的能力基础,其设计依据见 ADR-0010,面向用户的文档为 alpha-vector-database.md。
  2. 面向 NLP 的增强 Feature Server 与 SDK(未完成)——这是路线图中标记为[ ]的条目之一,说明原生的 NLP 推理链路尚未内建到 Feature Server 中。

从源码结构看,向量能力目前的实现入口是 FeastVectorStore,其下挂载了三个向量型在线存储:

  • QdrantOnlineStore
  • MilvusOnlineStore
  • FaissOnlineStore

对应的使用文档分别位于 qdrant.md、milvus.md 与 faiss.md。仓库中还提供了可运行的 RAG 示例,如 examples/rag/README.md 与 examples/rag-retriever/README.md,可用于验证向量特性视图的端到端流程。

数据源生态:从云数仓到流式消息的完整矩阵

路线图 Data Sources 板块已全部勾选完成,共 14 项。按存储介质归类如下:

类别数据源参考文档
云数仓Snowflake、Redshift、BigQuery、Athena、Oracle、Azure Synapse + Azure SQL(contrib 插件)snowflake.md、redshift.md、bigquery.md、athena.md、oracle.md、mssql.md
文件/表格式Parquet 文件源file.md
开源大数据Spark(contrib 插件)、Hive(社区插件)spark.md
NoSQL / 列存Couchbase、ClickHouse、MongoDBcouchbase.md、clickhouse.md、mongodb.md
Python 生态Ray(contrib 插件)ray.md
流式Kafka / Kinesis(经由在线存储的 Push 支持)push.md

几个值得注意的实现细节:

  • Kafka/Kinesis 的接入路径:路线图注明流式数据源是"经由在线存储的 push 支持"实现的,即通过在线存储的写入 API 完成实时摄取,而非独立的消息队列连接器。使用方式见 push.md 及专题文档 kafka.md、kinesis.md。
  • 贡献插件的存放位置:Postgres、Spark、Couchbase、Athena、ClickHouse、Oracle、MongoDB、Ray 等以 contrib 插件形式维护,源码集中在 sdk/python/feast/infra/offline_stores/contrib/ 下各自独立的目录中(如mssql_offline_storespark_offline_storeray_offline_store等),每个插件通常自带tests/data_source.py中的DataSourceCreator,用于该插件的离线/在线一体化测试。
  • 扩展新数据源:路线图中"Custom offline store support"一项指向的扩展指南即仓库内的 adding-a-new-offline-store.md 与 adding-support-for-a-new-online-store.md,说明了以插件形式贡献新存储的完整流程。

离线存储(Offline Stores):16 项全部交付

路线图 Offline Stores 板块 16 个条目全部为[x]状态,覆盖 SQL 数仓、分析引擎、分布式计算与混合部署:

  • 核心内置:Snowflake、Redshift、BigQuery、DuckDB、Dask、Remote
  • contrib 插件:MSSQL(mssql.py)、Postgres、Trino、Spark、Couchbase、Athena、ClickHouse、Ray、Oracle、MongoDB
  • 特殊形态:HybridOfflineStore(混合存储,见 hybrid.md)与 Hive 社区插件。

每个实现类都继承统一的OfflineStore基类(例如 SnowflakeOfflineStore、PostgreSQLOfflineStore),这保证了各存储对上层feature_store.apply()pull等 SDK 操作呈现一致的接口契约。选型参考可查阅 offline-stores 总览。

在线存储(Online Stores):低延迟服务层,含向量存储三件套

Online Stores 板块是路线图条目最多的部分,全部完成。其源码位于 sdk/python/feast/infra/online_stores/,可直接对照类定义验证:

存储源码位置文档
RedisRedisOnlineStoreredis.md
DynamoDBDynamoDBOnlineStoredynamodb.md
Snowflakesnowflake_online_storesnowflake.md
PostgreSQLPostgreSQLOnlineStorepostgres.md
SQLitesqlitesqlite.md
Cassandra / AstraDBCassandraOnlineStorecassandra.md
ScyllaDBScyllaDBOnlineStorescylladb.md
MySQLMySQLOnlineStoremysql.md
HBaseHbaseOnlineStorehbase.md
HazelcastHazelcastOnlineStorehazelcast.md
ElasticsearchElasticSearchOnlineStoreelasticsearch.md
SingleStoreSingleStoreOnlineStoresinglestore.md
CouchbaseCouchbaseOnlineStorecouchbase.md
MongoDBMongoDBOnlineStoremongodb.md
AerospikeAerospikeOnlineStoreaerospike.md
Bigtable / DatastoreBigtableOnlineStore、DatastoreOnlineStorebigtable.md、datastore.md
Dragonflydragonflydragonfly.md
Qdrant / Milvus / Faiss见上文 NLP 一节向量存储文档
RemoteRemoteOnlineStoreremote.md
HybridHybridOnlineStorehybrid.md

两点与路线图相关的说明:

  • Azure Cache for Redis以社区插件形式完成,不属于核心仓库代码。
  • 自定义在线存储扩展:路线图该项指向的指南即 adding-support-for-a-new-online-store.md,与离线存储插件机制对称。

特性工程(Transformations):三类模式,批量转换仍在进行

Feature Engineering 板块是路线图成熟度标注最细致的部分:

条目状态说明
On-demand Transformations (On Read)已完成(Beta)读取时计算,见 beta-on-demand-feature-view.md
On-demand Transformations (On Write)已完成(Beta)写入时计算
Streaming Transformations已完成(Alpha)流式计算
Batch transformation未完成(In progress)路线图中标记为[ ]的进行中项

从源码结构看,转换引擎的实现集中在 sdk/python/feast/transformation/ 目录:

  • factory.py 负责按语言类型分发到具体引擎;
  • 各引擎实现为独立模块:pandas_transformation.py、sql_transformation.py、python_transformation.py、ray_transformation.py、spark_transformation.py、flink_transformation.py、substrait_transformation.py;
  • 上层 API 则以特性视图形式暴露:on_demand_feature_view.py 与 stream_feature_view.py,其架构决策分别记录在 ADR-0003、ADR-0005,统一后的特性转换模型见 ADR-0007。

此外,SDK 还包含独立运行的转换服务入口 transformation_server.py,支持将转换逻辑与在线服务解耦部署。

流式摄取:自定义 Provider 与 Push 双通道

Streaming 板块三项均已完成:

  1. 自定义流式摄取作业支持——通过自定义 Provider 机制实现,指南为 creating-a-custom-provider.md;
  2. Push 式摄取到在线存储Push 式摄取到离线存储——两者共用同一套 push 数据源机制,文档见 push.md。

Push 通道正是前文"Kafka/Kinesis 数据源"的落地方式:业务侧将消息推入在线存储的写入接口,Feast 将其作为流式数据源对待。对于需要完全接管摄取作业(如自带 Spark Streaming/Flink 作业)的场景,则走自定义 Provider 路线。

部署形态:AWS Lambda 与 Kubernetes

Deployments 板块两项均为[x]

  • AWS Lambda(Alpha)——将 Feature Server 以无服务器函数形态部署,相关背景可参考 feast-0-14-adds-aws-lambda-feature-servers.md;
  • Kubernetes——生产部署指南为 running-feast-in-production.md 与 feast-on-kubernetes.md。

Kubernetes 路线在仓库中有两条并行实现,选型时需区分:

  1. Helm Charts:infra/charts/feast/ 提供标准组件的 Chart 化部署(含values.yaml与 README.md);
  2. Feast Operator:infra/feast-operator/ 是一个基于 Kubernetes Operator 模式的部署形态(Alpha),拥有独立的 CRD 定义(config/crd/)、控制器(internal/controller/)与 API 类型(api/v1/),其架构决策记录为 ADR-0006,使用教程可参考 docs/how-to-guides/feast-operator/README.md。

特性服务(Feature Serving):多语言服务矩阵

Feature Serving 板块列出六项服务形态,全部完成,成熟度除 Python 侧外均为 Alpha:

服务成熟度源码/文档
Python Client稳定feature_store.py 中的get_online_features等 API
Python Feature Server稳定feature_server.py、python-feature-server.md
Go Feature ServerAlphago/main.go、go-feature-server.md
Java Feature ServerAlphajava/serving/、java/README.md
Offline Feature ServerAlphaoffline_server.py、offline-feature-server.md
Registry ServerAlpharegistry_server.py、registry-server.md
Feast OperatorAlphainfra/feast-operator/README.md

服务层共用的 gRPC/Protobuf 契约定义在 protos/ 目录(core/registry/serving/storage 四组),这也是 Python/Go/Java 三端能够共享同一注册表数据模型的基础。

数据质量管理:DQM 已交付

Data Quality Management 板块的一项——Feature Quality Monitoring——已完成,交付内容包括:内建指标(built-in metrics)、漂移检测(drift detection)、服务日志监控(serving log monitoring)与 UI 仪表盘。

仓库内的对应实现与文档:

  • 使用指南:feature-monitoring.md;
  • 参考文档:dqm.md;
  • 架构决策:ADR-0011;
  • 代码实现:sdk/python/feast/dqm/,其中profilers子目录承载特征剖析器(即漂移检测与统计指标的计算逻辑);
  • 特征日志采集入口:feature_logging.py,与 serving 日志监控配合。

从源码结构看,DQM 的指标计算依赖在线服务的日志回流与 SDK 侧的 profiler 组件,这意味着启用该能力的前提是部署了在线服务(Feature Server 或 Operator)并开启特征日志。

特性发现与治理:SDK/CLI/Web UI 已就位,血缘浏览器未立项

Feature Discovery and Governance 板块七项中六项完成:

  • Python SDK 浏览注册表——例如 feature_store.py 中的list_feature_views(约 L791)与list_feature_services(约 L746)等方法,支持以编程方式枚举注册表内容;
  • CLI 浏览注册表——命令体系见 feast-cli-commands.md;
  • 模型中心的特性追踪(Feature Services)——架构记录为 ADR-0001;
  • 第三方元数据集成——路线图注明已提供 Amundsen 与 DataHub 两套提取器集成(面向外部元数据平台的插件,不在本仓库内);
  • Feast Web UI(Beta)——前端源码位于 ui/,文档见 alpha-web-ui.md;
  • Feast Lineage Explorer——唯一标记为[ ]的条目,血缘可视化浏览器尚未交付。

未完成项汇总与贡献指引

通读路线图,当前尚未完成或仍在进行中的条目集中在三处:

  1. NLP:Enhanced Feature Server and SDK for native support for NLP——原生 NLP 服务链;
  2. Feature Engineering:Batch transformation——批量转换(In progress);
  3. Governance:Feast Lineage Explorer——血缘可视化。

路线图在开头明确"We welcome contribution to all items in the roadmap",即上述未完成项均开放社区贡献。若要参与开发,建议的路径是:先阅读对应功能的 ADR(docs/adr/)理解既有架构约束,再对照 CONTRIBUTING.md 与 docs/project/contributing.md 的规范提交变更;对于存储类扩展,则直接参考 customizing-feast 系列指南中的插件编写流程。

小结

这份路线图的价值不仅在于列出功能清单,更在于它精确标注了每项能力的成熟度(稳定 / Beta / Alpha / In progress)。对照仓库源码可以确认:Feast 的存储矩阵(14 种数据源、16 种离线存储、20+ 种在线存储)与多语言特性服务矩阵已全面落地并有明确的源码位置可查;特性工程三大转换模式已交付其中两种,批量转换仍在推进;向量检索为 RAG 场景提供了 Alpha 级支撑,而原生 NLP 服务与血缘浏览器是接下来最值得关注的演进方向。

【免费下载链接】feastThe Open Source Feature Store for AI/ML项目地址: https://gitcode.com/GitHub_Trending/fe/feast

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询