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.