feast-dev / feast-dev/feast-java-old
[Discuss] Feast Enhancements
- 主要语言
- Java
- 星标
- 12
- 派生
- 26
- PR 合并指标
- 30 天内没有已合并 PR
描述
My team has been evaluating Feast for adoption and have identified a few improvements we'd like to contribute for our use cases. @woop suggested starting a thread for discussion to make sure they are a good fit.
### Support for SPI extensions
We'd like to add extension points for our existing infrastructure for things like:
* FeatureTable change detection (notifying existing data pipeline and catalog services when a feature table is created or modified)
* Implementing online storage operations for our store (HBase)
### Multi-tenancy support
Our infrastructure is entirely multi-tenant. We authorize API calls and store data on a per-tenant basis.
On the surface, we'd need something like the following in Feast:
* Ability to define an optional `TenantSpec tenant` attribute in `FeatureTableSpec` that defines the name + type of a tenant field for feature table keys (e.g., name = 'TenantId'; type = 'string')
* Adding an optional `tenant` attribute to ingestion and serving APIs (+SDK methods)
* Transparently adding the tenant to storage operations when the tenant attribute is set (e.g., including 'TenantId=foo' in row keys)
### Direct online write support
We have use cases that would like to write to feature store directly. Adding an `ApplyOnlineFeatures` API (+SDK support) would satisfy these use cases. The API would semantically resemble the `GetOnlineFeaturesV2` API (write feature table values for specific entity rows).
### Delete online feature support
We maintain GDPR compliance by propagating delete record signals from upstream data systems. Essentially we'd need a `DeleteOnlineFeatures` API (+SDK support) that resembles `GetOnlineFeaturesV2` and `ApplyOnlineFeatures` (delete feature table values for specific entity rows).
If these seem like reasonable enhancements to Feast we can file individual issues and PRs to contribute these incrementally.
贡献指南
调研方向
先阅读现有的 FeatureTableSpec 和 GetOnlineFeaturesV2 API/SDK 入口点,然后比较提议的 tenant、apply、delete 和 SPI 区域。由于这更像是一次广泛讨论,而不是一个范围明确的任务,请将一项增强拆分为一个单独的 issue,并列出明确的代码路径和测试;在其中定义完成的标准。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java
- 领域
- backend-api-design, databases, machine-learning
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 20/100