couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Anderson" <>
Subject Re: all_seqs stream (was Re: Update notifications including update sequence)
Date Mon, 19 Jan 2009 08:42:31 GMT
On Mon, Jan 19, 2009 at 12:35 AM, Ulises <> wrote:
>> The idea behind this is to unify the replication and standard http
>> client interfaces for updates streams, so for instance GET replication
>> (incrementally updating a db that's current as of seq 200) could work
>> via a request like:
>> /db/_updates?since=200&include_docs=full
>> And an _external that wanted to see every (or a subset) of updates
>> (for instance a Full Text Indexer) could use the same mechanism to
>> incrementally maintain an index.
> That's rather interesting and beg the question whether this wouldn't
> render _external obsolete? You could simply manage your own
> ex-_external as a separate process that kept this comet notification
> channel open.

The _external would still need to be able to respond to client
requests - although processes (like an index updater) that don't
directly talk to the client could work just fine without being
registered as a db-update-notification-process.

There is also some value to having Couch agree to kick a set of
scripts when updates come in (in case something dies), but if the
process management code starts to bog us down we can always drop it
and refer people to their operating system's services support.

>> Update streams (especially filtered ones) are one of the most powerful
>> tools CouchDB offers. For instance, with filtered streams, you can
>> very easily make docs into persistent state-machines. And the
>> Comet-style requests mixed with client-specified filters makes it very
>> easy to write event-driven browser apps.
> It does indeed. I'm already thinking RSS, IM Server in couchdb
> anybody? The options this might open are rather interesting.

I got excited to write this thread when I started drafting out what
IRC would look like if it ran on Couches. :)


Chris Anderson

View raw message