couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Randall Leeds <>
Subject Re: CouchDB Partitioning Proposal
Date Tue, 15 Jun 2010 18:57:55 GMT
On Wed, Jun 9, 2010 at 02:29, Rob Stewart <> wrote:
> Hi Randall,
> With a response time like that, efficiency is your strong point.

Clearly that was somewhere below my mean response time ;)

> Next, you suggest potential like solution as Cassandra and Dynamo. I'd tend
> to agree, as these are stable distributed systems. On saying that, Cassandra
> doesn't use Erlang (as a Java implementation), though it adopted the
> flexible column layout from Google's BigTable. I've also had a look at
> MongoDB, which is a C++ implementation, but with similar goals as CouchDB
> (document-oriented database). They are currently working on database
> partitioning, though it's in its alpha stages, in version 1.5.3. I imagine
> that MongoDB could be a good design guide for CouchDB in the future should
> its sharding implementation matures.

I wasn't trying to suggest you use Cassandra. I was trying to point to
different approaches to sharding/clustering used by other projects and
expressing an interest in seeing a Dynamo-style clustering of Couch.

> In a slightly unrelated note, can I point you to a paper published in
> February, 2010 - “Key/Value Datastores Comparison in AppScale”. Briefly,
> AppScale is a open source drop-in replacement for Google's App Engine, and
> provides API's to Cloud based web applications (typicall), and at the
> backend that have plugged in their app API's to the API's of 7 distributed
> databases (including Cassandra and MongoDB). What are the chances of
> attaching CouchDB to the AppScale API's ?

Haven't had a chance to look yet, but that sounds like a pretty nice idea.

> My final point is Scalaris. (Google “Reliable Transactional P2P Key/Value
> Store”). Like CouchDB, it is a P2P datastore, implemented in Erlang. Appears
> to be similar in design and implementation to CouchDB, to me? It uses Chord#
> to storing and retreiving key/values in nodes. It seemingly has support for
> Heterogeneous hardware clusters, and it currently uses an in-memory
> disctionary for database stores, though using Mnesia has been suggested

I'm always surprised Scalaris doesn't come up more. I really like the
approach it takes. I don't hear much about it being used in the wild.
Have you any experience with it?

> Is that enough, to generate discussion, Randall ?

Heh. I dunno. What else do you want to talk about? What are you
thinking about doing next?


View raw message