forked from feast-dev/feast
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: Adding some content about the push vs pull model (feast-dev#4385)
* docs: Adding some content about the push vs pull model Signed-off-by: Francisco Javier Arceo <farceo@redhat.com> * checking in progress...all of this was mostly autogenerated Signed-off-by: Francisco Javier Arceo <farceo@redhat.com> * updated Signed-off-by: Francisco Javier Arceo <farceo@redhat.com> * Update push-vs-pull-model.md * Update push-vs-pull-model.md * Update push-vs-pull-model.md --------- Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
- Loading branch information
1 parent
125fa49
commit e90ac88
Showing
4 changed files
with
36 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
20 changes: 20 additions & 0 deletions
20
docs/getting-started/architecture-and-components/push-vs-pull-model.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Push vs Pull Model | ||
|
||
Feast uses a [Push Model](https://en.wikipedia.org/wiki/Push_technology), i.e., | ||
Data Producers push data to the feature store and Feast stores the feature values | ||
in the online store, to serve features in real-time. | ||
|
||
In a [Pull Model](https://en.wikipedia.org/wiki/Pull_technology), Feast would | ||
pull data from the data producers at request time and store the feature values in | ||
the online store before serving them (storing them would actually be unneccessary). | ||
This approach would incur additional network latency as Feast would need to orchestrate | ||
a request to each data producer, which would mean the latency would be at least as long as | ||
your slowest call. So, in order to serve features as fast as possible, we push data to | ||
Feast and store the feature values in the online store. | ||
|
||
The trade-off with the Push Model is that strong consistency is not gauranteed out | ||
of the box. Instead, stong consistency has to be explicitly designed for in orchestrating | ||
the updates to Feast and the client usage. | ||
|
||
The significant advantage with this approach is that Feast is read-optimized for low-latency | ||
feature retrieval. |