incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Wall <>
Subject Re: CouchDB x RDF databases comparison
Date Fri, 08 May 2009 14:37:54 GMT
Mnesia actually does exactly that. Just storage with erlang as the "query

Sent from my G1 google phone

On May 8, 2009 2:10 AM, "Daniel Friesen" <> wrote:

There's also XML Databases (XQuery) (I'll just use X for simplicity) to
compare. I ended up starting to use Sedna over at my work.

CouchDB uses JSON, X use XML
CouchDB uses views, X uses XQuery which has some simple indexing and has a
significantly powerful and understandable query language
CouchDB has a lucene plugin, Sedna can have an extra fulltext index feature
Updating data in CouchDB requires an entire document be updated, X databases
can modify small parts of the document
CouchDB saves a new document each change, X works on a current document.
CouchDB handles conflicts using conflict resolution, X makes the
modification query on the current document in order of queries (transactions
are also supported).
CouchDB uses a HTTP REST API, most X databases use a normal binary protocol
(Sedna seams to have a good set of libraries for most languages)
CouchDB is distributed and scalable.
In X databases documents can be grouped into collections. (These can also be
used in queries)
It's probably a moot point, but XQuery is w3c standardized and implemented
by a number of databases.

IMHO compiling a comparison of alternative databases and seeing what
features work best for what data you're working with is the best option.

I went through the semantic databases myself to cause our company had
"Semantics" in mind. I had issues getting them to work and finding help for
most of them myself and ended up finding that our data better fit the
document based database type. For us TQL was the only actual one with a
significant improvement (we really needed the walk capabilities) other than
that Semantics were only a little better than a RDBMS (although we were
actually using RDBMS in an ugly semantic like hack; atoms table 3 columns).
Our reason for moving away from RDBMS' was a need to remove the large
amounts of queries going between our app and the database. We had a huge
amount of hierarchical data the entire app was based around (a tree
structure wasn't even guaranteed, something could have multiple parents
referencing it and be part of multiple trees).
We decided on Sedna (XQuery) rather than CouchDB because CouchDB's views
couldn't handle our hierarchical data in multiple documents, and we couldn't
put everything in one document because of how we update small pieces of data
a lot which doesn't work out well with how entire documents need to be
modified in Couch (Transmitting entire document to modify a single value,
new document revision saved each time, getting a conflict because an
unrelated part of the document was modified).

Personally I have an idea for another type of database. The one thing I've
always wanted was one program oriented. ie: Simplifying a database down to
what it is, centralized data storage. Instead of a query language, embedding
an existing programming language into the database environment. I wrote a
bit of API drafting on it.

~Daniel Friesen (Dantman, Nadir-Seen-Fire)

Nitin Borwankar wrote: > > Demetrius Nunes wrote: >> >> Hi Nitin, >>
Great answer. Thanks a lot...

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