in Databases, NoSQL

First introduction to NoSQL

This week, I attended a meeting about NoSQL. And so here is a summary of the notes i have taken and what i have learnt and understood, so far.

First, what is NoSQL ?
That term stands for (N)ot (O)nly SQL. A detailed definition can be found on Wikipedia.

Second, there are different models of NoSQL databases.
Apparently, Google (BigTable, ~2006) and Amazon (SimpleDB, S3, Dynamo, ~2007) were among the first ones to implement them.

The different store models are :

  • “column oriented stores” : BigTable, Cassandra which is used
    by Facebook
  • “key-value store” : Voldemort (developed by LinkedIn), Riak
  • “document store” : CouchDB, MongoDB
  • “graphs” : Neo4JA list of NoSQL databases, classified by models, is available here : http://nosql-databases.org/.

    There was much talk about the ACID rules, scalability, elasticity, consistency …

    Also a formula was introduced : R+W>N
    where
    * N – Number of replicas (nodes) for any data item
    * W – Number or nodes a write operation blocks on
    * R – Number of nodes a read operation blocks on

    I still have to study what that formula means !

    The event sourcing pattern was quickly introduced.

    A few links :

    http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/
    http://blog.xebia.fr/2010/04/26/nosql-europe-bases-de-donnees-cle-valeur-et-riak/
    http://prettyprint.me/2010/01/09/introduction-to-nosql-and-cassandra-part-1/
    http://prettyprint.me/2010/01/20/introduction-to-nosql-and-cassandra-part-2/
    http://blog.mongodb.org/

    There exists a NoSQL user group in Paris :
    https://sites.google.com/a/octo.com/nosql/

    Graph Databases, NOSQL and Neo4j
    http://www.infoq.com/articles/graph-nosql-neo4j

    http://www.vineetgupta.com/2010/01/nosql-databases-part-1-landscape.html
    http://en.wikipedia.org/wiki/Quorum_%28Distributed_Systems%29