Skip to content

Add online_read_async method to Postgres Online Store #4260

@job-almekinders

Description

@job-almekinders

Is your feature request related to a problem? Please describe.
With the implementation of get_online_features_async to the FeatureStore class (Issue and PR), online_read_async methods are required for each online store in order to be able to retrieve features in an async manner.
This issue aims to implement this for the Postgres Online Store.

Describe the solution you'd like
Add a online_read_async method to Postgres Online Store.

However, the current Postgres implementation within feast leverages psycopg2, which doesn't support async operations. The newer version - psycopg3 - does however support this.

Therefore, we would like to propose to implement this change with two separate PRs:

  1. A PR which upgrades the psycopg2 dependency to use psycopg3. The latter tries to behave as close as possible to the former, however, there are a few differences that need to be accounted for. A full list of difference can be found here.
  2. A PR which implements the online_read_async method on the Postgres Online Store.

Would love to hear your thoughts on this approach before I start working on this!

Describe alternatives you've considered
Another library to handle async postgres operations is asyncpg. However, this repos latest release was 5 Nov, 2023. Furthermore, the last commit was three months ago, and the last 7 months only 5 commits are made in total. Since this seems quite limited, we don't think it would be a good move to add this library to the dependencies for the postgres extension within feast.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions