Streaming SQL / built for live systems

SQL that stays
in motion.

Turn live events into continuously updated tables, decisions, and products—without pretending time stands still.

1 ms p50 push transport 2 runtimes one shared core
EVENT STREAM
trades1,248/s
quotes8,931/s
orders309/s
CONTINUOUS QUERY
SELECT symbol,
  SUM(price * qty) /
  SUM(qty) AS vwap
FROM trades
GROUP BY symbol
RUNNING 00:06:28
LIVE TABLE
SYMBOLVWAPΔ
NVDA186.42+0.62%
MSFT504.08+0.14%
AAPL241.73+0.38%
1 ms p50
CONTINUOUS QUERIESLIVE TABLESDATAFLOWSCONNECTORSGOVERNANCECONTINUOUS QUERIES

01 / THE PREMISE

Your events are not rows that happen once.
They are a changing world.

StreamsForge makes that world queryable. Write familiar SQL over an event stream and watch the resulting view update as every new fact arrives.

01

One query.
Always current.

Windowed pipelines for in-flight events. Materialized tables for a live, retract-and-assert view of the world.

02

A core that travels.

Run the same engine and console on Microsoft Orleans or Dapr. Compare runtime behavior from a common semantic base.

03

Built to be governed.

Granular entitlements, approvals, and masked audit history make operating live data a deliberate act.

02 / THE SHAPE OF IT

From signal
to shared truth.

INGRESS
Postgres
NATS
FIX
gRPC
ENGINE
StreamsForge EngineSQL → dataflow → live deltas
OUTCOMES
Tables
APIs
Streams

03 / MEASURED, NOT ASSERTED

Latency is an
architectural fact.

StreamsForge’s in-process push transport brings a live table delta to subscribers at a measured 1 ms p50—while retaining the standard pull transport when byte-for-byte Orleans behavior matters.

1 msp50 table delta
push transport

04 / START HERE

Let the data
keep moving.

Start a local StreamsForge console, bring in an event stream, and write the first query that keeps answering itself.

terminal$ docker compose -f deploy/orleans/compose.yaml up

The console is available at http://localhost:6199.