New: prepared statements, UPDATE and DELETE, and key lookups that seek — 0.143 ms through the gateway.Read the update

Platform · Streaming and events

One log, every consumer at its own offset.

Alarms, notifications and feeds are planned as consumers of the write-ahead log that already exists, not as a second system. The event operators are in the plan language; the bus itself is not built.

Planned, not built Planned

PhaseP6, with search, vectors and graph
BenchmarkOpenMessaging Benchmark
Compared withApache Kafka, Redpanda
Gatedurable replay at parity; lower p99 on one node, measured on the dedicated benchmark host

Planned, not built. Nothing on this page exists as running code. The specification and the roadmap say what it will be and how it will be measured; no number will be published for it until it is measured on a dedicated benchmark host against the named systems.

Specified today

What the specification already says

These items are written down in the architecture specification and the plan language, reviewed, and will be built as written or revised in the open.

The WAL is the source of truth

Every durable change is one log record carrying tenant, collection, key, before and after image, schema and policy version, transaction, commit time, idempotency key and actor.

Planned

Consumers with durable offsets

Replication, change capture, secondary indexes, search and vector indexes, cache invalidation, the audit chain, the event bus and feed builders each read the stream at their own offset. Derived state may lag but is always rebuildable.

Planned

Events are sinks

An emitted event leaves the trust boundary, so the plan language treats EMIT_EVENT as a sink: security operators cannot be moved past it, and a long plan is rechecked against the policy version before it emits.

Planned

Idempotent emit

An emit is idempotent only when it carries a key; a replayed key returns the original outcome.

Planned

LISTEN / NOTIFY

PostgreSQL's LISTEN and NOTIFY are mapped to the event bus in the same phase; until then they fail with 0A000.

Planned
Plan language

Operators behind the same verifier

The plan language that every SQL statement compiles to already lists these operators. When the engine arrives, it arrives behind the check that tenant isolation and access filters are applied on every data access.

OperatorWhat it is specified to do
EMITPublish rows to a topic; a sink in the security typing.
SUBSCRIBEReceive from a topic under the subscriber's identity and tenant.
CDC_EMITChange capture from the log for a collection.

One security model. The roadmap's rule is that every read, whatever the engine, compiles to the plan language and passes the verifier. No side door for a new engine.

Today

What carries this workload now

Built parts that serve the need until the engine exists, and the parts that do not exist yet.

Write-ahead log with group commit

Built. Checksummed, chained records; one fdatasync covers the batch; 19 243 durable writes per second at 32 clients on the development host.

Built

Append-only event tables

Columnar collections reject duplicate keys and store events compactly, which is where event history lives until the bus exists.

Built

Subscriptions, replay, topics

Not built. There is no way today to subscribe to changes or replay the log from a client.

Planned
Questions

Straight answers

Can my application get change events from UltraFabric today?

No. The log exists and is replayed on recovery, but there is no subscription, topic or change-capture endpoint yet. That is the P6 phase.

Why build the bus on the write-ahead log?

So that an event and the row it describes come from the same durable record, and a consumer that falls behind can rebuild from the log plus base data instead of from a second store that may disagree.

Follow the gate, not the promise.

The status page lists each phase, its gate and the measurement behind it, and the updates page records each step as it lands.