On 06/11/2008, at 3:15 PM, Paul Davis wrote:

When we index outside of erlang, we don't have the consistent
read-state guarantee if we page through the _all_docs_by_seq view as
per usual design pattern. We could read the entire thing view into
memory, but that has the obvious not-scalable side effect. Thus by
default all external indexers (external == accessing couchdb via http)
would have the second form of updating until they reach a steady
state. This in deed could lead to race conditions with an indexer
never managing to stay quite in sync.

Yet another reason to write a plugin rather than a loosely coupled _external, and use a core equivalent to an _all_docs_by_seq iterator that gives a consistent snapshot.

As for the specifics of mnesia vs. sqlite I couldn't tell you. My
guess is that the mnesia integration would kick the crap out of the
sqlite integeration seeing as mnesia is part of the core library. But
you mentioned GIS stuff and I haven't a clue on mnesia support for
such things. Also, mnesia has that whole horizontal scale thing baked
in.

I'm not interested in GIS, I just used GeoCouch as an example of an external indexer. I think Mnesia will do what I want for indexing.

Thanks,

Antony Blakey
-------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787

The fact that an opinion has been widely held is no evidence whatever that it is not utterly absurd.
  -- Bertrand Russell


Reply via email to