NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter




Ramji Narasimhan:

The fundamental reasons behind [the move away from traditional SQL based solutions] are simple:

  • Not all your applications need relationships between data to be explicitly stored along with the data
  • Moving the responsibility of interpreting data relationships out of the store allows for storing the data anywhere. That means you can simply add boxes as your data grows
  • Storing your data as a set of key-value pairs as opposed to hard wired tables allows for more flexibility in storage design
  • Absence of a pre-defined schema/tables allows you to easily extend your data model
  • Data operations, both read and write, tend to be simple and lightweight in the absence of SQL processing and explicit relationship constraints

Just one comment: relationships are almost always needed, but the way they are represented is changed:

  • data is denormalized, so entities involved in relationships live in the same space
  • relationships are created/restored at the application level

Original title and link: Why NoSQL (NoSQL databases © myNoSQL)