Live data from Hacker News

Video Streaming with RethinkDB Changefeeds

github.com

11–19 of 19 posts

Re: Video Streaming with RethinkDB Changefeeds

#11
post #9

Earlier quoted context omitted.

An app usually sit between the database and the user, isolating them from each other. This demo does not isolate the database, it is just a proof of concept.

Sorry, I was asking about the way the changefeed feature is meant to be used, not about this demo specifically.

Changefeeds are meant to be used by an app that isolates the user from the database.

Re: Video Streaming with RethinkDB Changefeeds

#12
post #8

I read the changefeeds post, but I don't think I understood exactly what they're for. Would clients be talking directly to the database, or would a persistent app worker block on database updates and then send this to the client?

In a more conventional usage scenario, your application is responsible for picking up updates from the changefeed.

You can see an example here of a node.js app using a changefeed to convey updates to the frontend through Socket.io: http://rethinkdb.com/blog/realtime-cluster-monitoring/

Though, of course, you can also build things other than web apps. Here's a simple IRC bot built with Go that also uses RethinkDB changefeeds: http://rethinkdb.com/blog/go-irc-bot/

Re: Video Streaming with RethinkDB Changefeeds

#13
post #9

Earlier quoted context omitted.

An app usually sit between the database and the user, isolating them from each other. This demo does not isolate the database, it is just a proof of concept.

Sorry, I was asking about the way the changefeed feature is meant to be used, not about this demo specifically.

Changefeeds are for getting updates to the results of queries on the database. So for example, getting the top 5 users ordered by their score. The app leaves a connection open to the database, and the database pushes changes to the query results whenever they happen.

The app can then also have a persistent websocket connection or whatever to the client, so you're able to get push architecture all the way from the data source to the client.

Re: Video Streaming with RethinkDB Changefeeds

#15
post #8

I read the changefeeds post, but I don't think I understood exactly what they're for. Would clients be talking directly to the database, or would a persistent app worker block on database updates and then send this to the client?

In a more conventional usage scenario, your application is responsible for picking up updates from the changefeed. You can see an example here of a node.js app using a changefeed to convey updates to the frontend through Socket.io: http://rethinkdb.com/blog/realtime-cluster-monitoring/ Though, of course, you can also build things other than web apps. Here's a simple IRC bot built with Go that also uses RethinkDB chan…

I see, thanks. So you basically get a blocking message queue for free, which is pretty cool.

Re: Video Streaming with RethinkDB Changefeeds

#16
post #11

Earlier quoted context omitted.

Sorry, I was asking about the way the changefeed feature is meant to be used, not about this demo specifically.

Changefeeds are meant to be used by an app that isolates the user from the database.

Thank you.

Re: Video Streaming with RethinkDB Changefeeds

#17
post #14

Is it possible to "backload" changes? "Start the changefeed at timestamp `x`. Once it's caught up to realtime, keep feeding me new ones"

RethinkDB's `.changes()` command doesn't support this directly. Here is the corresponding github issue: https://github.com/rethinkdb/rethinkdb/issues/3579

The code in the demo does this by performing a separate `between` query.

Post reply on HN