4 ms·
This is very cool OP. Amazing work. For anyone looking for something similar, we are adding streams to Postgres - https://github.com/supabase/realtime https://
by kiwicopple 7y ago
This is very cool OP. Amazing work.
For anyone looking for something similar, we are adding streams to Postgres - https://github.com/supabase/realtime https://github.com/supabase/realtime
It isn’t an exact comparison but it has some of the features you see here too - you can use wildcards listen to: all changes in your database, schema-level, table-level changes, or row-level. The server is built with Elixir, so you can have thousands of listeners connected via web sockets.
It’s not as lightweight as OP’s solution but PG is very familiar.
- davedx 7y agoThis is really exciting, nice! We've just started using postgres for our new services and the other day I was just thinking to myself "wouldn't it be great if I could listen to certain database tables because I can then build a real-time data warehouse really easily". How far along is the implementation?
- kiwicopple 7y agoThanks for the feedback @davedx. Actually it's being used in production by a few companies already (not small companies either). We have a few things we want to do before it's "enterprise ready": - set up elixir clustering (i.e. autoscaling) - run benchmarks - fine-grained client auth - ability to listen to multiple databases > then build a real-time data warehouse really easily This is the nice thing about PG. It's an operational database that can handle the load of an analytics database. Easy choice! If you need a hand trying this out, message me: copple [at] supabase.io
- alexnewman 7y agoWe made https://github.com/instructure/jsoncdc https://github.com/instructure/jsoncdc in rust which can do much of the same