You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 1669661
Browse filesBrowse the repository at this point in the historyBrowse files
feat: Add ScyllaDB online store with vector search (#6508)
* feat: add ScyllaDB online store with vector search
Signed-off-by: Attila Toth <[email protected]>
* refactor: update integration tests to use local Docker stack
Signed-off-by: Attila Toth <[email protected]>
* add testcontainers that support vectors
Signed-off-by: Attila Toth <[email protected]>
* fix vector support and refactor
Signed-off-by: Attila Toth <[email protected]>
* docs update
Signed-off-by: Attila Toth <[email protected]>
* add support for native TTL, set local_quorum as default
Signed-off-by: Attila Toth <[email protected]>
* docs fixes
Signed-off-by: Attila Toth <[email protected]>
* add tests
Signed-off-by: Attila Toth <[email protected]>
* lint fix
Signed-off-by: Attila Toth <[email protected]>
* refactor: use one table for both vector and non-vector data
Signed-off-by: Attila Toth <[email protected]>
* fix lint
Signed-off-by: Attila Toth <[email protected]>
* fix lint
Signed-off-by: Attila Toth <[email protected]>
---------
Signed-off-by: Attila Toth <[email protected]>
Co-authored-by: Francisco Javier Arceo <[email protected]>
Copy file name to clipboardExpand all lines: docs/reference/alpha-vector-database.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,7 @@ Below are supported vector databases and implemented features:
15
15
| Faiss |[]|[]|[]|[]|
16
16
| SQLite |[x]|[]|[x]|[x]|
17
17
| Qdrant |[x]|[x]|[]|[]|
18
+
| ScyllaDB |[x]|[x]|[x]|[x]|
18
19
19
20
*Note: V2 Support means the SDK supports retrieval of features along with vector embeddings from vector similarity search.
20
21
@@ -30,7 +31,7 @@ Beyond that, we will then have `retrieve_online_documents` and `retrieve_online_
30
31
backwards compatibility and the adopt industry standard naming conventions.
31
32
{% endhint %}
32
33
33
-
**Note**: Milvusand SQLite implement the v2 `retrieve_online_documents_v2` method in the SDK. This will be the longer-term solution so that Data Scientists can easily enable vector similarity search by just flipping a flag.
34
+
**Note**: Milvus, SQLite, and ScyllaDB implement the v2 `retrieve_online_documents_v2` method in the SDK. This will be the longer-term solution so that Data Scientists can easily enable vector similarity search by just flipping a flag.
Copy file name to clipboardExpand all lines: docs/reference/online-stores/overview.md
+19-19Lines changed: 19 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,26 +29,26 @@ See this [issue](https://github.com/feast-dev/feast/issues/2254) for a discussio
29
29
## Functionality Matrix
30
30
31
31
There are currently five core online store implementations: `SqliteOnlineStore`, `RedisOnlineStore`, `DynamoDBOnlineStore`, `SnowflakeOnlineStore`, and `DatastoreOnlineStore`.
32
-
There are several additional implementations contributed by the Feast community (`PostgreSQLOnlineStore`, `HbaseOnlineStore`and `CassandraOnlineStore`), which are not guaranteed to be stable or to match the functionality of the core implementations.
32
+
There are several additional implementations contributed by the Feast community (`PostgreSQLOnlineStore`, `HbaseOnlineStore`, `CassandraOnlineStore`and `ScyllaDBOnlineStore`), which are not guaranteed to be stable or to match the functionality of the core implementations.
33
33
Details for each specific online store, such as how to configure it in a `feature_store.yaml`, can be found [here](README.md).
34
34
35
35
Below is a matrix indicating which online stores support what functionality.
Copy file name to clipboardExpand all lines: docs/reference/online-stores/scylladb.md
+72-22Lines changed: 72 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,20 +2,15 @@
2
2
3
3
## Description
4
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.
5
+
[ScyllaDB](https://www.scylladb.com/) is a distributed real-time NoSQL database with vector search support.
6
+
This integration uses the native **`scylla-driver`** Python driver for optimised performance and supports materializing feature values into a [ScyllaDB Cloud](https://www.scylladb.com/product/scylla-cloud/) cluster for real-time online feature serving.
8
7
9
8
## Getting started
10
9
11
-
Install Feast with Cassandra support:
12
-
```bash
13
-
pip install "feast[cassandra]"
14
-
```
10
+
Install Feast with the `scylladb` extra, which pulls in `scylla-driver` automatically:
The full set of configuration options is available in [CassandraOnlineStoreConfig](https://rtd.feast.dev/en/master/#feast.infra.online_stores.cassandra_online_store.cassandra_online_store.CassandraOnlineStoreConfig).
59
-
For a full explanation of configuration options please look at file
| `read_concurrency` | int | `100` | `concurrency` argument passed to the driver's `execute_concurrent_with_args` for reads. Controls how many CQL statements are in-flight at once. |
65
+
| `write_concurrency` | int | `100` | `concurrency` argument passed to the driver's `execute_concurrent_with_args` for writes. Controls how many CQL statements are in-flight at once. |
66
+
| `vector_similarity_function` | str | `COSINE` | Default similarity function for vector indexes. Supported: `COSINE`, `DOT_PRODUCT`, `EUCLIDEAN`. Can be overridden per-feature via the `similarity_function` Field tag. |
61
67
62
68
Storage specifications can be found at `docs/specs/online_store_format.md`.
0 commit comments