On Tue, Dec 14, 2010 at 5:57 PM, Tom Keays <[log in to unmask]> wrote: > I saw this visualization of where the various nosql databases fit on > the CAP Theorem triangle. CAP says there are three primary concerns > you must balance when choosing a data management system: Consistency, > Availability, and Partition tolerance. Furthermore, you can only pick > 2. > > http://blog.nahurst.com/visual-guide-to-nosql-systems > > According to this, Riak, SimpleDB, Cassandra and CouchDB all sit on > the AP side, whereas MongoDB and BigTable sit on the CP side. Most > relational databases sit on the CA side. Very interesting, Tom, thanks for the link. It is interesting to note that although CouchDB and MongoDB sit on different sides of the CAP triangle, their data model, from an application perspective, is very similar. But the implementation of the data model is very different, as Bill Dueber mentioned before, with MongoDB doing updates in-place whenever possible, and aggressively caching writes, both of which increase update speed but also the risk of a corrupt database in case of a crash. CouchDB does neither, so updates are much slower, but its data is always in a consistent state on disk, because it only appends, and appends are guaranteed to be atomic in posix systems. -- Luciano Ramalho programador repentista || stand-up programmer Twitter: @luciano