Skip to content

[Discuss] Feast Enhancements #6

@aaraujo-sfdc

Description

@aaraujo-sfdc

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions