From ebdfcb8afff2f349154fcf95cd4c32335296cf3a Mon Sep 17 00:00:00 2001 From: Francisco Javier Arceo Date: Mon, 5 Aug 2024 23:47:07 -0400 Subject: [PATCH 1/3] docs: Adding some content about the push vs pull model Signed-off-by: Francisco Javier Arceo --- docs/SUMMARY.md | 1 + .../architecture-and-components/README.md | 4 ++++ .../architecture-and-components/push-vs-pull-model.md | 10 ++++++++++ 3 files changed, 15 insertions(+) create mode 100644 docs/getting-started/architecture-and-components/push-vs-pull-model.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 92fa3c692b9..87c36262541 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -20,6 +20,7 @@ * [Architecture](getting-started/architecture-and-components/README.md) * [Overview](getting-started/architecture-and-components/overview.md) * [Language](getting-started/architecture-and-components/language.md) + * [Push vs Pull Model](getting-started/architecture-and-components/push-vs-pull-model.md) * [Registry](getting-started/architecture-and-components/registry.md) * [Offline store](getting-started/architecture-and-components/offline-store.md) * [Online store](getting-started/architecture-and-components/online-store.md) diff --git a/docs/getting-started/architecture-and-components/README.md b/docs/getting-started/architecture-and-components/README.md index c364744bc60..050a430c97c 100644 --- a/docs/getting-started/architecture-and-components/README.md +++ b/docs/getting-started/architecture-and-components/README.md @@ -8,6 +8,10 @@ [overview.md](overview.md) {% endcontent-ref %} +{% content-ref url="push-vs-pull-model.md" %} +[push-vs-pull-model.md](push-vs-pull-model.md) +{% endcontent-ref %} + {% content-ref url="registry.md" %} [registry.md](registry.md) {% endcontent-ref %} diff --git a/docs/getting-started/architecture-and-components/push-vs-pull-model.md b/docs/getting-started/architecture-and-components/push-vs-pull-model.md new file mode 100644 index 00000000000..00757b651e3 --- /dev/null +++ b/docs/getting-started/architecture-and-components/push-vs-pull-model.md @@ -0,0 +1,10 @@ +# Push vs Pull Model + +Feast uses a [Push Model](https://en.wikipedia.org/wiki/Push_technology) (i.e., the feature store pushes feature values to the online store) to serve features in +real-time. This model is more efficient than a pull model (i.e., the model serving system pulls feature values from the +feature store) because it reduces the latency of feature retrieval. + +In a [Pull Model](https://en.wikipedia.org/wiki/Pull_technology), the model serving system must make +a request to the feature store to retrieve feature values, which can introduce latency. In a push model, the feature +store pushes feature values to the online store, which reduces the latency of feature retrieval. + From 283cf7b541fe73233863f08a10572440bea02c52 Mon Sep 17 00:00:00 2001 From: Francisco Javier Arceo Date: Tue, 6 Aug 2024 13:33:39 -0400 Subject: [PATCH 2/3] feat: Updating SQLite-Vec to stable release version: Signed-off-by: Francisco Javier Arceo --- sdk/python/requirements/py3.10-ci-requirements.txt | 4 +--- sdk/python/requirements/py3.10-requirements.txt | 2 -- sdk/python/requirements/py3.11-ci-requirements.txt | 4 +--- sdk/python/requirements/py3.11-requirements.txt | 2 -- sdk/python/requirements/py3.9-ci-requirements.txt | 4 +--- sdk/python/requirements/py3.9-requirements.txt | 2 -- sdk/python/tests/unit/online_store/test_online_retrieval.py | 2 +- setup.py | 2 +- 8 files changed, 5 insertions(+), 17 deletions(-) diff --git a/sdk/python/requirements/py3.10-ci-requirements.txt b/sdk/python/requirements/py3.10-ci-requirements.txt index ddf72c59f4c..785342550a0 100644 --- a/sdk/python/requirements/py3.10-ci-requirements.txt +++ b/sdk/python/requirements/py3.10-ci-requirements.txt @@ -255,8 +255,6 @@ googleapis-common-protos[grpc]==1.63.2 # grpcio-status great-expectations==0.18.16 # via feast (setup.py) -greenlet==3.0.3 - # via sqlalchemy grpc-google-iam-v1==0.13.1 # via google-cloud-bigtable grpcio==1.64.1 @@ -856,7 +854,7 @@ sqlalchemy[mypy]==2.0.31 # via feast (setup.py) sqlglot==25.1.0 # via ibis-framework -sqlite-vec==0.0.1a10 +sqlite-vec==0.1.1 # via feast (setup.py) sqlparams==6.0.1 # via singlestoredb diff --git a/sdk/python/requirements/py3.10-requirements.txt b/sdk/python/requirements/py3.10-requirements.txt index 93322ae4345..250e617b854 100644 --- a/sdk/python/requirements/py3.10-requirements.txt +++ b/sdk/python/requirements/py3.10-requirements.txt @@ -50,8 +50,6 @@ fastapi-cli==0.0.2 # via fastapi fsspec==2024.3.1 # via dask -greenlet==3.0.3 - # via sqlalchemy gunicorn==22.0.0 # via feast (setup.py) h11==0.14.0 diff --git a/sdk/python/requirements/py3.11-ci-requirements.txt b/sdk/python/requirements/py3.11-ci-requirements.txt index a451ad58af8..f16b486aa59 100644 --- a/sdk/python/requirements/py3.11-ci-requirements.txt +++ b/sdk/python/requirements/py3.11-ci-requirements.txt @@ -246,8 +246,6 @@ googleapis-common-protos[grpc]==1.63.2 # grpcio-status great-expectations==0.18.16 # via feast (setup.py) -greenlet==3.0.3 - # via sqlalchemy grpc-google-iam-v1==0.13.1 # via google-cloud-bigtable grpcio==1.64.1 @@ -847,7 +845,7 @@ sqlalchemy[mypy]==2.0.31 # via feast (setup.py) sqlglot==25.1.0 # via ibis-framework -sqlite-vec==0.0.1a10 +sqlite-vec==0.1.1 # via feast (setup.py) sqlparams==6.0.1 # via singlestoredb diff --git a/sdk/python/requirements/py3.11-requirements.txt b/sdk/python/requirements/py3.11-requirements.txt index 48104ebc2c5..4f1655de097 100644 --- a/sdk/python/requirements/py3.11-requirements.txt +++ b/sdk/python/requirements/py3.11-requirements.txt @@ -48,8 +48,6 @@ fastapi-cli==0.0.2 # via fastapi fsspec==2024.3.1 # via dask -greenlet==3.0.3 - # via sqlalchemy gunicorn==22.0.0 # via feast (setup.py) h11==0.14.0 diff --git a/sdk/python/requirements/py3.9-ci-requirements.txt b/sdk/python/requirements/py3.9-ci-requirements.txt index 5055b3c79f3..94bfa82058b 100644 --- a/sdk/python/requirements/py3.9-ci-requirements.txt +++ b/sdk/python/requirements/py3.9-ci-requirements.txt @@ -255,8 +255,6 @@ googleapis-common-protos[grpc]==1.63.2 # grpcio-status great-expectations==0.18.16 # via feast (setup.py) -greenlet==3.0.3 - # via sqlalchemy grpc-google-iam-v1==0.13.1 # via google-cloud-bigtable grpcio==1.64.1 @@ -867,7 +865,7 @@ sqlalchemy[mypy]==2.0.31 # via feast (setup.py) sqlglot==23.12.2 # via ibis-framework -sqlite-vec==0.0.1a10 +sqlite-vec==0.1.1 # via feast (setup.py) sqlparams==6.0.1 # via singlestoredb diff --git a/sdk/python/requirements/py3.9-requirements.txt b/sdk/python/requirements/py3.9-requirements.txt index 7d549f908d2..f9fa856a0ed 100644 --- a/sdk/python/requirements/py3.9-requirements.txt +++ b/sdk/python/requirements/py3.9-requirements.txt @@ -50,8 +50,6 @@ fastapi-cli==0.0.2 # via fastapi fsspec==2024.3.1 # via dask -greenlet==3.0.3 - # via sqlalchemy gunicorn==22.0.0 # via feast (setup.py) h11==0.14.0 diff --git a/sdk/python/tests/unit/online_store/test_online_retrieval.py b/sdk/python/tests/unit/online_store/test_online_retrieval.py index 0b552c04531..48adb6da7d9 100644 --- a/sdk/python/tests/unit/online_store/test_online_retrieval.py +++ b/sdk/python/tests/unit/online_store/test_online_retrieval.py @@ -548,7 +548,7 @@ def test_sqlite_vec_import() -> None: sqlite_version, vec_version = db.execute( "select sqlite_version(), vec_version()" ).fetchone() - assert vec_version == "v0.0.1-alpha.10" + assert vec_version == "v0.1.1" print(f"sqlite_version={sqlite_version}, vec_version={vec_version}") result = db.execute(""" diff --git a/setup.py b/setup.py index f5a4dd8c624..6fb5bfee614 100644 --- a/setup.py +++ b/setup.py @@ -92,7 +92,7 @@ ] SQLITE_VEC_REQUIRED = [ - "sqlite-vec==v0.0.1-alpha.10", + "sqlite-vec==v0.1.1", ] TRINO_REQUIRED = ["trino>=0.305.0,<0.400.0", "regex"] From 124c942bb7596b7ff019c76161a2860d83cd0b85 Mon Sep 17 00:00:00 2001 From: Francisco Javier Arceo Date: Tue, 6 Aug 2024 13:39:22 -0400 Subject: [PATCH 3/3] removing push model changes from other branch Signed-off-by: Francisco Javier Arceo --- docs/SUMMARY.md | 1 - .../architecture-and-components/README.md | 4 ---- .../architecture-and-components/push-vs-pull-model.md | 10 ---------- 3 files changed, 15 deletions(-) delete mode 100644 docs/getting-started/architecture-and-components/push-vs-pull-model.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 87c36262541..92fa3c692b9 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -20,7 +20,6 @@ * [Architecture](getting-started/architecture-and-components/README.md) * [Overview](getting-started/architecture-and-components/overview.md) * [Language](getting-started/architecture-and-components/language.md) - * [Push vs Pull Model](getting-started/architecture-and-components/push-vs-pull-model.md) * [Registry](getting-started/architecture-and-components/registry.md) * [Offline store](getting-started/architecture-and-components/offline-store.md) * [Online store](getting-started/architecture-and-components/online-store.md) diff --git a/docs/getting-started/architecture-and-components/README.md b/docs/getting-started/architecture-and-components/README.md index 050a430c97c..c364744bc60 100644 --- a/docs/getting-started/architecture-and-components/README.md +++ b/docs/getting-started/architecture-and-components/README.md @@ -8,10 +8,6 @@ [overview.md](overview.md) {% endcontent-ref %} -{% content-ref url="push-vs-pull-model.md" %} -[push-vs-pull-model.md](push-vs-pull-model.md) -{% endcontent-ref %} - {% content-ref url="registry.md" %} [registry.md](registry.md) {% endcontent-ref %} diff --git a/docs/getting-started/architecture-and-components/push-vs-pull-model.md b/docs/getting-started/architecture-and-components/push-vs-pull-model.md deleted file mode 100644 index 00757b651e3..00000000000 --- a/docs/getting-started/architecture-and-components/push-vs-pull-model.md +++ /dev/null @@ -1,10 +0,0 @@ -# Push vs Pull Model - -Feast uses a [Push Model](https://en.wikipedia.org/wiki/Push_technology) (i.e., the feature store pushes feature values to the online store) to serve features in -real-time. This model is more efficient than a pull model (i.e., the model serving system pulls feature values from the -feature store) because it reduces the latency of feature retrieval. - -In a [Pull Model](https://en.wikipedia.org/wiki/Pull_technology), the model serving system must make -a request to the feature store to retrieve feature values, which can introduce latency. In a push model, the feature -store pushes feature values to the online store, which reduces the latency of feature retrieval. -