DiceDB / dice

DiceDB is a redis-compliant, in-memory, real-time, and reactive database optimized for modern hardware and for building and scaling truly real-time applications.
https://dicedb.io/
Other
6.64k stars 1.05k forks source link

Resume a QWATCH subscription #930

Open austince opened 4 weeks ago

austince commented 4 weeks ago

Perhaps I've missed this in the docs – is there a way to resume a QWATCH subscription from a point in the changelog stream (eg a bookmark in k8s watch, revision in etcd watch, offset in kafka, etc)?

EDIT: seems like I misunderstood QWATCH -- the entire snapshot appears to be sent on all changes. Is there any way to turn this into a snapshot-then-changelog (w/ inserts/retractions, eg) instead, as well as changelog-only? Redis Streams seems to tackle the changelog piece, but QWATCH is nice in that it can maintain the initial snapshot. Materialize's SUBSCRIBE offers nice options to customize this behavior: https://materialize.com/docs/sql/subscribe/#with-options

JyotinderSingh commented 2 weeks ago

QWATCH command output customization to support changelog generation is not on our roadmap for now. However, we would be interested in understanding your usecase to see if there are other ways in which dicedb could tackle them.