Skip to content

Commit c19758b

Browse files
committed
Add SingleStore as an OnlineStore
Signed-off-by: Olha Kramarenko <okramarenko-ua@singlestore.com>
1 parent ae4fc6c commit c19758b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1067
-544
lines changed

Makefile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,17 @@ test-python-universal-cassandra-no-cloud-providers:
331331
not test_snowflake" \
332332
sdk/python/tests
333333

334+
test-python-universal-singlestore-online:
335+
PYTHONPATH='.' \
336+
FULL_REPO_CONFIGS_MODULE=sdk.python.feast.infra.online_stores.contrib.singlestore_repo_configuration \
337+
PYTEST_PLUGINS=sdk.python.tests.integration.feature_repos.universal.online_store.singlestore \
338+
python -m pytest -n 8 --integration \
339+
-k "not test_universal_cli and \
340+
not gcs_registry and \
341+
not s3_registry and \
342+
not test_snowflake" \
343+
sdk/python/tests
344+
334345
test-python-universal:
335346
python -m pytest -n 8 --integration sdk/python/tests
336347

docs/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
* [Rockset (contrib)](reference/online-stores/rockset.md)
104104
* [Hazelcast (contrib)](reference/online-stores/hazelcast.md)
105105
* [ScyllaDB (contrib)](reference/online-stores/scylladb.md)
106+
* [SingleStore (contrib)](reference/online-stores/singlestore.md)
106107
* [Providers](reference/providers/README.md)
107108
* [Local](reference/providers/local.md)
108109
* [Google Cloud Platform](reference/providers/google-cloud-platform.md)

docs/reference/online-stores/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,7 @@ Please see [Online Store](../../getting-started/architecture-and-components/onli
6464

6565
{% content-ref url="remote.md" %}
6666
[remote.md](remote.md)
67+
68+
{% content-ref url="singlestore.md" %}
69+
[singlestore.md](singlestore.md)
6770
{% endcontent-ref %}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# SingleStore online store (contrib)
2+
3+
## Description
4+
5+
The SingleStore online store provides support for materializing feature values into a SingleStore database for serving online features.
6+
7+
## Getting started
8+
In order to use this online store, you'll need to run `pip install 'feast[singlestore]'`. You can get started by then running `feast init` and then setting the `feature_store.yaml` as described below.
9+
10+
## Example
11+
12+
{% code title="feature_store.yaml" %}
13+
```yaml
14+
project: my_feature_repo
15+
registry: data/registry.db
16+
provider: local
17+
online_store:
18+
type: singlestore
19+
host: DB_HOST
20+
port: DB_PORT
21+
database: DB_NAME
22+
user: DB_USERNAME
23+
password: DB_PASSWORD
24+
```
25+
{% endcode %}
26+
27+
## Functionality Matrix
28+
29+
The set of functionality supported by online stores is described in detail [here](overview.md#functionality).
30+
Below is a matrix indicating which functionality is supported by the SingleStore online store.
31+
32+
| | SingleStore |
33+
| :-------------------------------------------------------- | :----------- |
34+
| write feature values to the online store | yes |
35+
| read feature values from the online store | yes |
36+
| update infrastructure (e.g. tables) in the online store | yes |
37+
| teardown infrastructure (e.g. tables) in the online store | yes |
38+
| generate a plan of infrastructure changes | no |
39+
| support for on-demand transforms | yes |
40+
| readable by Python SDK | yes |
41+
| readable by Java | no |
42+
| readable by Go | no |
43+
| support for entityless feature views | yes |
44+
| support for concurrent writing to the same key | no |
45+
| support for ttl (time to live) at retrieval | no |
46+
| support for deleting expired data | no |
47+
| collocated by feature view | yes |
48+
| collocated by feature service | no |
49+
| collocated by entity key | no |
50+
51+
To compare this set of functionality against other online stores, please see the full [functionality matrix](overview.md#functionality-matrix).
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
feast.embedded\_go package
2+
==========================
3+
4+
Submodules
5+
----------
6+
7+
feast.embedded\_go.online\_features\_service module
8+
---------------------------------------------------
9+
10+
.. automodule:: feast.embedded_go.online_features_service
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
feast.embedded\_go.type\_map module
16+
-----------------------------------
17+
18+
.. automodule:: feast.embedded_go.type_map
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
22+
23+
Module contents
24+
---------------
25+
26+
.. automodule:: feast.embedded_go
27+
:members:
28+
:undoc-members:
29+
:show-inheritance:
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
feast.infra.contrib package
2+
===========================
3+
4+
Submodules
5+
----------
6+
7+
feast.infra.contrib.azure\_provider module
8+
------------------------------------------
9+
10+
.. automodule:: feast.infra.contrib.azure_provider
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
feast.infra.contrib.grpc\_server module
16+
---------------------------------------
17+
18+
.. automodule:: feast.infra.contrib.grpc_server
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
22+
23+
feast.infra.contrib.spark\_kafka\_processor module
24+
--------------------------------------------------
25+
26+
.. automodule:: feast.infra.contrib.spark_kafka_processor
27+
:members:
28+
:undoc-members:
29+
:show-inheritance:
30+
31+
feast.infra.contrib.stream\_processor module
32+
--------------------------------------------
33+
34+
.. automodule:: feast.infra.contrib.stream_processor
35+
:members:
36+
:undoc-members:
37+
:show-inheritance:
38+
39+
Module contents
40+
---------------
41+
42+
.. automodule:: feast.infra.contrib
43+
:members:
44+
:undoc-members:
45+
:show-inheritance:
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
feast.infra.feature\_servers.aws\_lambda package
2+
================================================
3+
4+
Submodules
5+
----------
6+
7+
feast.infra.feature\_servers.aws\_lambda.app module
8+
---------------------------------------------------
9+
10+
.. automodule:: feast.infra.feature_servers.aws_lambda.app
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
feast.infra.feature\_servers.aws\_lambda.config module
16+
------------------------------------------------------
17+
18+
.. automodule:: feast.infra.feature_servers.aws_lambda.config
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
22+
23+
Module contents
24+
---------------
25+
26+
.. automodule:: feast.infra.feature_servers.aws_lambda
27+
:members:
28+
:undoc-members:
29+
:show-inheritance:
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
feast.infra.feature\_servers.gcp\_cloudrun package
2+
==================================================
3+
4+
Submodules
5+
----------
6+
7+
feast.infra.feature\_servers.gcp\_cloudrun.app module
8+
-----------------------------------------------------
9+
10+
.. automodule:: feast.infra.feature_servers.gcp_cloudrun.app
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
feast.infra.feature\_servers.gcp\_cloudrun.config module
16+
--------------------------------------------------------
17+
18+
.. automodule:: feast.infra.feature_servers.gcp_cloudrun.config
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
22+
23+
Module contents
24+
---------------
25+
26+
.. automodule:: feast.infra.feature_servers.gcp_cloudrun
27+
:members:
28+
:undoc-members:
29+
:show-inheritance:
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
feast.infra.feature\_servers.local\_process package
2+
===================================================
3+
4+
Submodules
5+
----------
6+
7+
feast.infra.feature\_servers.local\_process.config module
8+
---------------------------------------------------------
9+
10+
.. automodule:: feast.infra.feature_servers.local_process.config
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
Module contents
16+
---------------
17+
18+
.. automodule:: feast.infra.feature_servers.local_process
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
feast.infra.feature\_servers.multicloud package
2+
===============================================
3+
4+
Module contents
5+
---------------
6+
7+
.. automodule:: feast.infra.feature_servers.multicloud
8+
:members:
9+
:undoc-members:
10+
:show-inheritance:

0 commit comments

Comments
 (0)