couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ladislav Thon <ladi...@gmail.com>
Subject Re: CouchDB vs RavenDB (Specific features)
Date Mon, 27 Jun 2011 08:49:48 GMT
Not a CouchDB expert, but I'll try...

*Transactions
> *This is kind of important for me.  An example would be sending scores to
> the database.  When someone sends a score to the database, first I am going
> to store that score as its own entity.  Then I am going to want to update
> the record that stores the total for the day, week, month, etc...  If any
> one of these updates fail, I don't want to any of the updates to save
> (saving the insert is fine).  Is there a way to do this for CouchDB?
>

CouchDB doesn't have transactions, but your usecase is easily solved using a
CouchDB view. I.e., you won't store these sums yourself, you will let
CouchDB compute them for you. See
http://wiki.apache.org/couchdb/HTTP_view_API.


> *Writing To Disk
> *I really like that RavenDB by default writes to disk as it makes sure that
> when data is sent to the server, the data will be there even if there is a
> power outage or some other event that happens that is out or your control.
> I would rather sacrifice a little write performance to maintain a much
> better chance that data is not lost.  While that data I am storage is not
> super mission critical (like payment information), it is still pretty
> important to the players of the game and important if we want the meta game
> to be successful.  Can CouchDB configured to write to disk instead of
> memory
> (or does it do that be default)?
>

CouchDB's append-only architecture means you don't have to worry about
losing data. If you switch delayed commits off, you will get fully ACID
operations.


> *Sharding
> *From my understanding, CouchDB supports replication but not sharding out
> of
> the box.  Are there any good sharding solutions for CouchDB?
>

You might want to look at CouchDB Lounge
http://tilgovi.github.com/couchdb-lounge/ (not sure if it is still
developed) or BigCouch (https://github.com/cloudant/bigcouch).


> *Auto Indexing
> *One thing that is really nice with RavenDB is that is has auto index where
> if you use an index that is not manually create a lot, RavenDB will
> automatically turn the temporary index into an real index for you.  Can
> CouchDB do this?
>

CouchDB in fact doesn't have indices, so this doesn't apply I guess. The
only way to query CouchDB is using views, there are no ad-hoc queries.
(Well, there are, but you have to use an external indexing/querying engine,
such as CouchDB Lucene or ElasticSearch).

LT

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message