Jump to content

NoSQL

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Javalangstring (talk | contribs) at 21:03, 1 March 2010 (Add Swarm). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

NoSQL is an umbrella term for a loosely defined class of non-relational data stores that break with a long history of relational databases and ACID guarantees. Data stores that fall under this term may not require fixed table schemas, and usually avoid join operations. The term was first popularised in early 2009.

Trends in computer architectures are pressing databases in a direction that requires horizontal scalability. NoSQL-style data stores attempt to address this requirement. Prominent closed-source examples are Google's BigTable and Amazon's Dynamo. Several open-source variants exist including Facebook's Cassandra, Apache HBase, LinkedIn's Project Voldemort and many others.

History of the Term

The NOSQL term was coined in early 2009 by a Rackspace employee, Eric Evans, when Johan Oskarsson of Last.fm wanted to organize an event to discuss open source distributed databases [citation needed]. The name was an attempt to describe the emergence of a growing number of non-relational, distributed data stores that often did not attempt to provide ACID guarantees.

The term is in reference to the popular naming scheme for classic relational database systems: MySQL, MS SQL, PostgreSQL, ...

NoSQL Architecture

Modern Relational Databases seem to have a limitation on handling big data volumes and typical modern workloads including scaling out to data sets (e.g. Digg's 3 TB for green badges[1], Facebook's 50 TB for inbox search or eBay's 2 PB overall data), per-server performance, and rigid schemas[citation needed]. NoSQL systems often provide weak consistency guarantees such as eventual consistency and transactions restricted to single data items, even though one can impose full ACID guarantees by adding a supplementary middleware layer [2].

Even though this is returning to earlier, more primitive database concepts, it is often buzzworded as "post-relational". Not providing relational capabilities which used to be taken for granted, however, makes it a lot easier to make data storage highly distributed, scalable and with better performance by not having to pay the costs associated with relational guarantees that may not be needed by the project that uses the database.

Some NoSQL advocates promote very simple interfaces such as associative arrays or Key-Value pairs. Other systems such as Native XML databases promote support of the XQuery standard.

List of NoSQL open-source projects

See also

References

  1. ^ Ian Eure. Looking to the future with Cassandra. Digg Technology Blog, September 2009
  2. ^ Zhou Wei, Guillaume Pierre and Chi-Hung Chi. CloudTPS: Scalable Transactions for Web Applications in the Cloud. Technical report IR-CS-53, VU University Amsterdam, February 2010.