Skip to content

Feature Stores

Status: Roadmap (Q2 2025)

Feature stores provide low-latency access to features for real-time ML inference.

Planned Capabilities

Online Feature Store

Use case: Real-time inference (< 10ms latency)

Planned implementation:

from senren import FeatureStore

store = FeatureStore(
    name="user-features",
    type="online",
    backend="redis-cluster",
    regions=["aws:us-east-1", "gcp:us-central1"],
    schema={
        "user_id": "string",
        "age": "int32",
        "country": "string",
        "ltv_score": "float32",
    },
)

client.apply_state(feature_stores=[store])

Planned features: - Schema validation - Feature versioning - Point-in-time feature retrieval - Feature freshness monitoring

Offline Feature Store

Use case: Training dataset construction

Planned implementation:

offline_store = FeatureStore(
    name="user-features-offline",
    type="offline",
    backend="parquet",  # or delta-lake
    storage="s3://my-bucket/features/",
    schema={...},
)

Planned features: - Time-travel queries (historical features) - Feature lineage tracking - Integration with training pipelines

Current Workaround

You can use Redis/Dragonfly as a simple feature store today:

from senren import Database

# Use Redis Cluster as feature store
feature_db = Database(
    name="features",
    type="redis-cluster",
    memory_mb=8192,
    regions=["aws:us-east-1"],
)

client.apply_state(databases=[feature_db])

Then access features using standard Redis operations:

import redis
r = redis.Redis(host=status.host, port=status.port)

# Store features
r.hset("user:12345", mapping={
    "age": 25,
    "country": "US",
    "ltv_score": 0.85,
})

# Retrieve features
features = r.hgetall("user:12345")

Limitations of Current Approach

  • No schema enforcement
  • No versioning
  • No point-in-time retrieval
  • Manual key management

Timeline

Q2 2025: Feature store support with schema management and versioning.

See the roadmap for details.