Skip to content

Commit bdce99d

Browse files
authored
docs: Add ScyllaDB as online store alternative (fixed DCO) (#3944)
1 parent c16e5af commit bdce99d

File tree

3 files changed

+98
-1
lines changed

3 files changed

+98
-1
lines changed

docs/SUMMARY.md

+1
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999
* [MySQL (contrib)](reference/online-stores/mysql.md)
100100
* [Rockset (contrib)](reference/online-stores/rockset.md)
101101
* [Hazelcast (contrib)](reference/online-stores/hazelcast.md)
102+
* [ScyllaDB (contrib)](reference/online-stores/scylladb.md)
102103
* [Providers](reference/providers/README.md)
103104
* [Local](reference/providers/local.md)
104105
* [Google Cloud Platform](reference/providers/google-cloud-platform.md)

docs/reference/online-stores/README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,6 @@ Please see [Online Store](../../getting-started/architecture-and-components/onli
5454
[hazelcast.md](hazelcast.md)
5555
{% endcontent-ref %}
5656

57-
57+
{% content-ref url="scylladb.md" %}
58+
[scylladb.md](scylladb.md)
59+
{% endcontent-ref %}
+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# ScyllaDB Cloud online store
2+
3+
## Description
4+
5+
ScyllaDB is a low-latency and high-performance Cassandra-compatible (uses CQL) database. You can use the existing Cassandra connector to use ScyllaDB as an online store in Feast.
6+
7+
The [ScyllaDB](https://www.scylladb.com/) online store provides support for materializing feature values into a ScyllaDB or [ScyllaDB Cloud](https://www.scylladb.com/product/scylla-cloud/) cluster for serving online features real-time.
8+
9+
## Getting started
10+
11+
Install Feast with Cassandra support:
12+
```bash
13+
pip install "feast[cassandra]"
14+
```
15+
16+
Create a new Feast project:
17+
```bash
18+
feast init REPO_NAME -t cassandra
19+
```
20+
21+
### Example (ScyllaDB)
22+
23+
{% code title="feature_store.yaml" %}
24+
```yaml
25+
project: scylla_feature_repo
26+
registry: data/registry.db
27+
provider: local
28+
online_store:
29+
type: cassandra
30+
hosts:
31+
- 172.17.0.2
32+
keyspace: feast
33+
username: scylla
34+
password: password
35+
```
36+
{% endcode %}
37+
38+
### Example (ScyllaDB Cloud)
39+
40+
{% code title="feature_store.yaml" %}
41+
```yaml
42+
project: scylla_feature_repo
43+
registry: data/registry.db
44+
provider: local
45+
online_store:
46+
type: cassandra
47+
hosts:
48+
- node-0.aws_us_east_1.xxxxxxxx.clusters.scylla.cloud
49+
- node-1.aws_us_east_1.xxxxxxxx.clusters.scylla.cloud
50+
- node-2.aws_us_east_1.xxxxxxxx.clusters.scylla.cloud
51+
keyspace: feast
52+
username: scylla
53+
password: password
54+
```
55+
{% endcode %}
56+
57+
58+
The full set of configuration options is available in [CassandraOnlineStoreConfig](https://rtd.feast.dev/en/master/#feast.infra.online_stores.contrib.cassandra_online_store.cassandra_online_store.CassandraOnlineStoreConfig).
59+
For a full explanation of configuration options please look at file
60+
`sdk/python/feast/infra/online_stores/contrib/cassandra_online_store/README.md`.
61+
62+
Storage specifications can be found at `docs/specs/online_store_format.md`.
63+
64+
## Functionality Matrix
65+
66+
The set of functionality supported by online stores is described in detail [here](overview.md#functionality).
67+
Below is a matrix indicating which functionality is supported by the Cassandra plugin.
68+
69+
| | Cassandra |
70+
| :-------------------------------------------------------- | :-------- |
71+
| write feature values to the online store | yes |
72+
| read feature values from the online store | yes |
73+
| update infrastructure (e.g. tables) in the online store | yes |
74+
| teardown infrastructure (e.g. tables) in the online store | yes |
75+
| generate a plan of infrastructure changes | yes |
76+
| support for on-demand transforms | yes |
77+
| readable by Python SDK | yes |
78+
| readable by Java | no |
79+
| readable by Go | no |
80+
| support for entityless feature views | yes |
81+
| support for concurrent writing to the same key | no |
82+
| support for ttl (time to live) at retrieval | no |
83+
| support for deleting expired data | no |
84+
| collocated by feature view | yes |
85+
| collocated by feature service | no |
86+
| collocated by entity key | no |
87+
88+
To compare this set of functionality against other online stores, please see the full [functionality matrix](overview.md#functionality-matrix).
89+
90+
## Resources
91+
92+
* [Sample application with ScyllaDB](https://feature-store.scylladb.com/stable/)
93+
* [ScyllaDB website](https://www.scylladb.com/)
94+
* [ScyllaDB Cloud documentation](https://cloud.docs.scylladb.com/stable/)

0 commit comments

Comments
 (0)