Skip to content

Episode IV: A New Hope…and NoSQL

by joliver on February 14, 2011

In this episode, we talk about NoSQL and the part it can play in a distributed system architecture.  Specifically, we talk about a handful of NoSQL storage engines including RavenDB, MongoDB, CouchDB, Riak, and Cassandra.

Please send your comments and questions to /dev/null.

MP3 Download: Distributed Podcast, Episode 4

Episode references

In the podcast I (Jonathan Oliver) mentioned that Riak is a plain key/value store and that it isn’t necessarily aware of the contents of the “bucket”.  That isn’t necessarily true.  I neglected to mention that can peer into the buckets and has a very capable map/reduce feature and comprehensive search mechanism.  Very cool.

From → Podcasts

7 Comments
  1. Adrian permalink

    For some reason this episode does not show up in “Google Listen” on Android. Episodes 1 – 3 are fine.

  2. Craig Wilson permalink

    So, I know this is really late, but I just heard the mention of MongoDB as it relates to .NET.

    The NoRM driver is NOT the only one with a linq provider. Another non-official driver (https://github.com/mongodb-csharp/mongodb-csharp) has had a linq provider for a long time. In fact, this linq provider has been pulled out and applied to the native 10gen driver here: https://github.com/craiggwilson/fluent-mongo. It is available via nuget for easy installation.

    Anyways, hope that helps.

  3. Hi – great episode.

    During the episode, one of the Jonathans stated that dynamo implementations are better than MongoDB because “in Mongo there is a master which is a single-point of failure” and that “in dynamo you can specify the number of replicas to propagate changes to”

    MongoDB has Replica Sets (beginning at 1.6 which is a while ago) where the master is not a single point of failure – if it fails then the set chooses a new master.
    see http://www.mongodb.org/display/DOCS/Replica+Sets

    There is also an optional parameter per any write action to control the amount of replicas to propagate to before it is considered a DONE action
    see http://www.mongodb.org/display/DOCS/Verifying+Propagation+of+Writes+with+getLastError

    • While Mongo may elect a new master during the failure of one of the nodes, Dynamo is about a masterless/P2P solution for storage. It’s a totally different model. Unfortunately, it’s also a model that’s a lot more difficult to work with in many scenarios.

      I’m not faulting Mongo–I think it’s a great storage engine–I’m just pointing about a fundamental difference in the theory and design of each system.

  4. paul_sh permalink

    I guess the comment about /dev/null was a placeholder :)

Trackbacks & Pingbacks

  1. Tweets that mention Episode IV: A New Hope…and NoSQL -- Topsy.com

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS