Search…
DynamoDB

Description

The DynamoDB online store provides support for materializing feature values into AWS DynamoDB.

Getting started

In order to use this online store, you'll need to run pip install 'feast[aws]'. You can then get started with the command feast init REPO_NAME -t aws.

Example

feature_store.yaml
project: my_feature_repo
registry: data/registry.db
provider: aws
online_store:
type: dynamodb
region: us-west-2
The full set of configuration options is available in DynamoDBOnlineStoreConfig.

Permissions

Feast requires the following permissions in order to execute commands for DynamoDB online store:
Command
Permissions
Resources
Apply
dynamodb:CreateTable
dynamodb:DescribeTable
dynamodb:DeleteTable
arn:aws:dynamodb:<region>:<account_id>:table/*
Materialize
dynamodb.BatchWriteItem
arn:aws:dynamodb:<region>:<account_id>:table/*
Get Online Features
dynamodb.BatchGetItem
arn:aws:dynamodb:<region>:<account_id>:table/*
The following inline policy can be used to grant Feast the necessary permissions:
{
"Statement": [
{
"Action": [
"dynamodb:CreateTable",
"dynamodb:DescribeTable",
"dynamodb:DeleteTable",
"dynamodb:BatchWriteItem",
"dynamodb:BatchGetItem"
],
"Effect": "Allow",
"Resource": [
"arn:aws:dynamodb:<region>:<account_id>:table/*"
]
}
],
"Version": "2012-10-17"
}
Lastly, this IAM role needs to be associated with the desired Redshift cluster. Please follow the official AWS guide for the necessary steps here.

Functionality Matrix

The set of functionality supported by online stores is described in detail here. Below is a matrix indicating which functionality is supported by the DynamoDB online store.
Text
DynamoDB
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
no
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
To compare this set of functionality against other online stores, please see the full functionality matrix.
Export as PDF
Copy link
Edit on GitHub
On this page
Description
Getting started
Example
Permissions
Functionality Matrix