In the video he calls changes() on a query that has an orderBy and limit filter. In the description for Changefeeds (http://rethinkdb.com/docs/changefeeds/javascript/), it says this is not possible. Is this new functionality? If so, that's pretty great. Using the diff format makes that pretty intuitive (even if the client will be slightly harder to implement).
How do you handle disconnects and missed messages? What's required to make this a robust sync solution, including syncing the first query and then changes, akin to Firebase? Are there plans to support direct access from web clients and optimistic writes on the client?
We don't have any plans to support direct access from web clients. The main problem is security. RethinkDB doesn't have any notion of users or access privileges, so any client can e.g. drop a table. We might add this eventually, but it's low on the priority list. See <https://github.com/rethinkdb/rethinkdb/issues/266> for more discussion.
Really cool, instead of polling for changes, RethinkDB will push. The best part, you simply add .changes() to your query and it just magically works. Curious though how the clients work? Do they just block waiting for data?
The Ruby and Python clients will block if you try to fetch the next change and there isn't one available. You can prevent this by using a separate thread for the blocking request. The node.js client uses a callback.
Have you tried http://php-rql.dnsalias.net/ ? It's pretty much equivalent to the official drivers, and well maintained (usually gets updated within a week after new RethinkDB releases).
Hey all, Slava @ RethinkDB here (speaker in the video).
We've been working on realtime push functionality for a while and are very excited to release it in a few weeks!
I'm an Oakdale RethinkDB meetup (http://www.meetup.com/GDG-Oakdale/events/219317732/) right now so may not be able to answer questions in realtime, but I'll go through every question later tonight in case other Rethinkers miss some questions.
Hey Slava, thanks to you and the team for all the hard work! Watched the video a little while ago with introductions to all the great features, excited to use the new stream functionality!
19 comments
[ 3.5 ms ] story [ 79.0 ms ] threadWe don't have any plans to support direct access from web clients. The main problem is security. RethinkDB doesn't have any notion of users or access privileges, so any client can e.g. drop a table. We might add this eventually, but it's low on the priority list. See <https://github.com/rethinkdb/rethinkdb/issues/266> for more discussion.
We're currently considering alternatives. See <https://github.com/rethinkdb/rethinkdb/issues/3298>.
We've been working on realtime push functionality for a while and are very excited to release it in a few weeks!
I'm an Oakdale RethinkDB meetup (http://www.meetup.com/GDG-Oakdale/events/219317732/) right now so may not be able to answer questions in realtime, but I'll go through every question later tonight in case other Rethinkers miss some questions.
As someone who grew up in Oakdale, I'm positively shocked to hear there's a tech-related meetup there. Wow!
http://rethinkdb.com/docs/changefeeds/