Real-Time Feature Engine

Incremental feature computation for streaming data

Nightly batches leave fraud and recommendation models using hours-old data. A fraudster may transact dozens of times before the pattern reaches your model.

feldera-pipeline: fraud_features
Input Stream
card_••••1234 · $47.23
09:41:02
card_••••5678 · $129.00
09:41:05
card_••••1234 · $312.99
09:41:09
card_••••9012 · $18.50
09:41:11
SQL Engine Incremental
SELECT
card_id,
SUM(amount)
AS spend_1h,
COUNT(*)
AS txn_count
FROM events
GROUP BY card_id
Output Features
card_••••5678
spend_1h: $129.00
txn_count: 1
card_••••9012
spend_1h: $18.50
txn_count: 1
card_••••1234
spend_1h: $360.22
txn_count: 2
<100ms
Feature update latency, internal benchmark
SQL-native
Incremental queries, no new DSL
0
Steady-state full-scan recomputes
Kafka + CDC + S3
Native source connectors, no glue code

The Problem

Overnight batches leave features stale

Create an incremental pipeline in under 10 minutes. No JVM, custom operators, or stream-processing PhD needed.

Batch limitations

At midnight, your pipeline scans the prior 24 hours, then writes aggregate features by 2am. Depending on arrival time, predictions use features 1 to 25 hours old.

That works for low-velocity domains. In fraud, recommendations, and dynamic pricing, it drives degradation that retraining cannot explain.

Batch pipeline (hourly recompute)
# Runs every 60 minutes, scans full table
SELECT card_id,
       SUM(amount) AS spend_1h,
       COUNT(*) AS txn_count
FROM transactions
WHERE event_ts > NOW() - INTERVAL 1 HOUR
GROUP BY card_id

-- Features stale up to 60 min after each run
-- Full table scan on every trigger

How It Works

Four steps: stream to feature

No logos or lock-in. Feldera reads via standard protocols and writes via standard interfaces.

01

Link sources

Point Feldera at a Kafka topic, Postgres replication slot, MySQL binlog, or S3 bucket. One config block, no custom connectors.

02

Write SQL

Keep using SELECT, GROUP BY, JOIN, and window functions. Feldera parses them into an incremental operator plan.

03

Deploy with deltas

Deploy with one CLI command. Feldera initializes state from existing data, then automatically enters incremental delta mode.

04

Serve models

Call the feature API from model serving. Features stay current within pipeline latency, not a batch window.

See the full walkthrough

Core Features

An engine for incremental computation

Incremental SQL Engine

Write standard SQL. Feldera compiles it into a stateful operator graph that handles arriving deltas, not the full history.

GROUP BY, JOIN, and window functions update incrementally. Joins retain bidirectional delta state; aggregates scale with O(change size), not O(table size).

  • Compute only the delta per event
  • No historical record reprocessing
  • Incremental joins, aggregates, and windows
Universal Connectors

Consume events from their existing location and send results where models need them, without bespoke code per source.

Read: Apache Kafka, PostgreSQL logical replication (CDC), MySQL binlog, Amazon S3 (Parquet, JSON, CSV). Write: Kafka output topics, REST feature API, Postgres writes, Parquet to S3.

  • Kafka, Postgres CDC, MySQL binlog, S3
  • Inject ad-hoc events via HTTP webhooks
  • YAML config, no Java or Scala needed
Feature Serving API

Use a low-latency HTTP endpoint, batch export, or model registry integration. Get fresh features without managing the pipeline.

Look up by feature key with sub-10ms median response at steady state. Export batches for model training, with typed schemas defined when the pipeline is registered.

  • GET /features/{pipeline}/{key} for key lookup
  • Export batches for offline training
  • Typed schemas, no schema-on-read parsing

Early Access

Practitioner perspectives

We used to recompute our entire transaction velocity table every 15 minutes. Feldera's incremental engine now refreshes those features with each transaction event. Our fraud model responds to what just happened, not 15 minutes earlier. Moving to SQL was straightforward because every query stayed unchanged.

Jordan M.
ML Infrastructure Lead, payments technology company, early-access participant

Internal benchmark: sub-100ms feature update latency across five pipeline configurations comparing full-recompute baseline against Feldera incremental engine. Your results will vary by data shape and hardware.

Integrations

Use the stack you have

Open source self-hosted or fully managed cloud. No seat minimums.

Apache Kafka Redpanda PostgreSQL CDC MySQL binlog Amazon S3 Apache Flink dbt HTTP Webhooks More on the way

Pricing

Start free, scale as needed

Open source self-hosted or fully managed cloud. No seat minimums to get started.

Open Source
Free

Full SQL incremental engine, all connectors, unlimited local pipelines. Self-hosted, Apache 2.0.

Read the docs
Cloud Starter
$199/mo

Managed hosting, web UI editor, usage dashboard, email support. Up to 15 active pipelines.

Start free trial

Get started

Fresh features begin here

Build your first incremental pipeline in under 10 minutes. The open-source tier needs no credit card.

Get started free Talk to us