NOTE: This is a community-contributed online store that is in alpha development. It is not officially supported by the Feast project.
The Couchbase online store provides support for materializing feature values into a Couchbase Operational cluster for serving online features in real-time.
Only the latest feature values are persisted
Features are stored in a document-oriented format
The data model for using Couchbase as an online store follows a document format:
Document ID: {project}:{table_name}:{entity_key_hex}:{feature_name}
Document Content:
metadata
:
event_ts
(ISO formatted timestamp)
created_ts
(ISO formatted timestamp)
feature_name
(String)
value
(Base64 encoded protobuf binary)
In order to use this online store, you'll need to run pip install 'feast[couchbase]'
. You can then get started with the command feast init REPO_NAME -t couchbase
.
To get started with Couchbase Capella Operational:
This can be named anything, but must correspond to the bucket described in the feature_store.yaml
configuration file.
Create cluster access credentials
These credentials should have full access to the bucket created in step 3.
Configure allowed IP addresses
You must allow the IP address of the machine running Feast.
The full set of configuration options is available in CouchbaseOnlineStoreConfig
.
The set of functionality supported by online stores is described in detail here. Below is a matrix indicating which functionality is supported by the Couchbase online store.
To compare this set of functionality against other online stores, please see the full functionality matrix.
Couchbase | |
---|---|
write feature values to the online store
yes
read feature values from the online store
yes
update infrastructure (e.g. tables) in the online store
yes
teardown infrastructure (e.g. tables) in the online store
yes
generate a plan of infrastructure changes
no
support for on-demand transforms
yes
readable by Python SDK
yes
readable by Java
no
readable by Go
no
support for entityless feature views
yes
support for concurrent writing to the same key
yes
support for ttl (time to live) at retrieval
no
support for deleting expired data
no
collocated by feature view
yes
collocated by feature service
no
collocated by entity key
no