DB
Concepts

PSI — Predicate Subscription Index

The routing layer that connects committed changes to the components that react to them.

PSI stands for Predicate Subscription Index. It is the connective tissue of NYXDB's streaming model, and a core engine primitive rather than a memory-service detail.

What it does

A WAL event enters the system, and PSI decides which subscribers should receive it based on the stream, key, and subscription predicate. Subscribers can be:

  • current-state indexes,
  • materialized views,
  • schema and cache listeners,
  • fan-out channels,
  • future extension points.

Why it matters

Low-latency systems should not repeatedly poll storage, scan broad WAL ranges, or broadcast every change to every consumer. PSI gives the engine a shared way to route only the relevant changes.

PSI preserves the core invariant that handler chaining matches stream:key pairs, not stream names alone. Indexes, materialized views, schema/cache updates, and future subscribers all route through this shared contract.

One system, not several products

Because the write path, query layer, materialized views, and subscriptions all route through PSI, they behave like one system rather than separate products connected by external queues.

On this page