Is your feature request related to a problem? Please describe.
I'm running some benchmarks to measure Python SDK performance and want to discuss a potential improvement on get_online_features implementation.
When using the get_online_features method in the SDK with a Redis online store, performance suffers when handling a feature service that includes multiple feature views. The SDK iterates over each feature view within the feature service and calls online_store.online_read(...) for each view individually.
Although the Redis online store implementation uses Redis pipeline to reduce network roundtrips, the current SDK implementation separates pipeline calls per feature view, leading to inefficiencies that impact overall performance.
Describe the solution you'd like
I think online store interface should have a method to get online features by a list of feature views (or a feature service), and the get_online_features should be changed accordingly.
Additional context
Feast's Java code follows a different implementation. It combines features that share same entity keys before calling online store.
Reactions are currently unavailable
Is your feature request related to a problem? Please describe.
I'm running some benchmarks to measure Python SDK performance and want to discuss a potential improvement on get_online_features implementation.
When using the get_online_features method in the SDK with a Redis online store, performance suffers when handling a feature service that includes multiple feature views. The SDK iterates over each feature view within the feature service and calls online_store.online_read(...) for each view individually.
Although the Redis online store implementation uses Redis pipeline to reduce network roundtrips, the current SDK implementation separates pipeline calls per feature view, leading to inefficiencies that impact overall performance.
Describe the solution you'd like
I think online store interface should have a method to get online features by a list of feature views (or a feature service), and the get_online_features should be changed accordingly.
Additional context
Feast's Java code follows a different implementation. It combines features that share same entity keys before calling online store.