LIVE DEMO

Change streams, subscriptions and replicas

Watch commits flow from a shop database onto its change stream, out to a subscriber that acknowledges them and into a read-only replica twin, across four real use cases.

Change streams, subscriptions and replicas: Watch commits flow from a shop database onto its change stream, out to a subscriber that acknowledges them and into a read-only replica twin, across four real use cases.

This interactive demo needs WebGL. Read about it.

Change streams, subscriptions and replicasOpen the full demo →

What you are looking at

A small shop database, shop, sits on the left: customers, products and the orders between them. Every committed transaction leaves it as a frame on its change stream, the glowing track in the middle. From there it goes two ways:

The animation is slowed down so you can follow it. The panel under the scene has the real timings.

Things to try

The numbers

With group durability we measured a replica catching up a median of 4 ms after a commit, including one Bolt round trip. With buffered durability, the Docker image's default, a replica follows the periodic sync (50 ms by default), so it trails by about 60 ms. Turning a stream on added at most 3.4 % to commit time in the worst case we measured, a hundred property updates and fifteen relationships in every transaction; without before-values it added nothing measurable. Full-row payloads cost about 3 µs for each matching entity.

Measured on an Intel Core i9-13900K with 64 GB of RAM, running the published Linux image under Docker 28 on Windows 11.

Learn more