Topic: Zenoh
Reader: ROS 2 engineer who has adopted Zenoh as their RMW and now needs data to persist for replay, debugging, or ML training. Searches "zenoh persistent storage" or "zenoh storage backend".
The one question: Can I connect my Zenoh network to a persistent store without writing and maintaining a custom backend?
Why it matters now: Zenoh adoption in ROS 2 is accelerating. ROSCon 2025 had a full workshop. RMW-Zenoh is now official.
What exists and why this is still needed:
ZettaScale, Eclipse Foundation, and the Arm Learning Path all cover Zenoh as a protocol: pub/sub primitives, DDS comparison, multi-node setup on Raspberry Pi. ROSCon had a full hands-on workshop. All of it stops at the communication layer. None of it answers what happens to the data after the message is published. There is no article, tutorial, or guide that covers connecting a Zenoh network to a persistent queryable store.
Non-obvious insight: ReductStore is the first backend that speaks Zenoh natively. Write via Zenoh, query via HTTP, replay via SDKs or CLI.
How current stacks fail: Teams either write a custom Zenoh storage backend in Rust (weeks of work, fragile, unmaintained) or add an HTTP bridge between Zenoh and their storage (extra latency, extra failure point). Neither works on high-frequency ingestion at 50Hz cameras or 10Hz LiDAR.
Format: Tutorial with working code. Python publisher to Zenoh to ReductStore to HTTP query.
Next step: Docker Compose snippet + link to Zenoh integration docs.
Topic: Zenoh
Reader: ROS 2 engineer who has adopted Zenoh as their RMW and now needs data to persist for replay, debugging, or ML training. Searches "zenoh persistent storage" or "zenoh storage backend".
The one question: Can I connect my Zenoh network to a persistent store without writing and maintaining a custom backend?
Why it matters now: Zenoh adoption in ROS 2 is accelerating. ROSCon 2025 had a full workshop. RMW-Zenoh is now official.
What exists and why this is still needed:
ZettaScale, Eclipse Foundation, and the Arm Learning Path all cover Zenoh as a protocol: pub/sub primitives, DDS comparison, multi-node setup on Raspberry Pi. ROSCon had a full hands-on workshop. All of it stops at the communication layer. None of it answers what happens to the data after the message is published. There is no article, tutorial, or guide that covers connecting a Zenoh network to a persistent queryable store.
Non-obvious insight: ReductStore is the first backend that speaks Zenoh natively. Write via Zenoh, query via HTTP, replay via SDKs or CLI.
How current stacks fail: Teams either write a custom Zenoh storage backend in Rust (weeks of work, fragile, unmaintained) or add an HTTP bridge between Zenoh and their storage (extra latency, extra failure point). Neither works on high-frequency ingestion at 50Hz cameras or 10Hz LiDAR.
Format: Tutorial with working code. Python publisher to Zenoh to ReductStore to HTTP query.
Next step: Docker Compose snippet + link to Zenoh integration docs.