timescale / timescaledb

An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.
https://www.timescale.com/
Other
17.55k stars 881 forks source link

feature request: Live query support #439

Closed camstuart closed 4 years ago

camstuart commented 6 years ago

Hi,

I just listened to your podcast on data engineering, well done!

My most prized feature request would be a live/streaming query.

For example; I am storing cryptocurrency prices (ticks) in timescaledb. Great. Now I would like to build a UI that displays graphs and charts of that data. But I would like to avoid polling.

So, in my application server, (I use Go) I would execute my query, and return results over a web socket. As new data arrives that matches my query, I get the updated data and send it down the socket.... In Go I could do this work inside a goroutine (essentially a thread)

The UI would of course just connect to the socket and update the chart in real time.

Or is there a feature already in the Postgres ecosystem that supports this functionality?

Thanks

mfreed commented 4 years ago

There are probably two ways to support this, through the LISTEN/NOTIFY functionality, or also to stream the set of changes via logical decoding, and decode them elsewhere. We probably won't be adding, e.g., websocket support, to TimescaleDB/PG anytime soon.