

What's coming up for RethinkDB in 2015 [video] - hardwaresofton
https://www.youtube.com/watch?v=GuDP6hyxcng

======
coffeemug
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/](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.

~~~
hardwaresofton
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!

------
timmclean
Real-time updates to queries looks awesome. Way simpler than doing pushing
updates through pubsub. Great work, guys!

~~~
ukd1
It looks really awesome, I can't wait to check it out! Great work by the team
at Rethink.

------
nodesocket
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?

~~~
timmaxw
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.

We're currently considering alternatives. See
<[https://github.com/rethinkdb/rethinkdb/issues/3298>](https://github.com/rethinkdb/rethinkdb/issues/3298>).

~~~
nodesocket
And any support planned for the red-headed stepchild php?

~~~
danielmewes
Have you tried [http://php-rql.dnsalias.net/](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).

------
jzila
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/](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).

~~~
timmaxw
Yes, this is new functionality that will be released as part of RethinkDB
1.16. RethinkDB 1.16 is expected to ship in a couple of weeks.

~~~
tristanz
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?

~~~
timmaxw
Right now you have to start over if your changefeed gets disconnected. But
we're discussing better options; see
<[https://github.com/rethinkdb/rethinkdb/issues/3471>](https://github.com/rethinkdb/rethinkdb/issues/3471>).

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>](https://github.com/rethinkdb/rethinkdb/issues/266>)
for more discussion.

------
lucasjans
Is there a slidedeck or blog I can read about this presentation? I want to
learn but don't have time to watch the video now.

~~~
hardwaresofton
Here's the documentation on changefeeds, which was a lot of what the
presentation was focused on:

[http://rethinkdb.com/docs/changefeeds/](http://rethinkdb.com/docs/changefeeds/)

~~~
timmaxw
This documentation is for RethinkDB 1.15, but the cool features in Slava's
presentation are arriving in RethinkDB 1.16.

~~~
hardwaresofton
Accurate - I don't think there's documentation for the 1.16 stuff yet? Though
the code is available in the nightlies supposedly

