background preloader

NoSQL Databases

Facebook Twitter

Project Voldemort. CouchDB. Apache CouchDB, commonly referred to as CouchDB, is an open source database that focuses on ease of use and on being "a database that completely embraces the web".[1] It is a NoSQL database that uses JSON to store data, JavaScript as its query language using MapReduce, and HTTP for an API.[1] One of its distinguishing features is multi-master replication. CouchDB was first released in 2005 and later became an Apache project in 2008. Unlike in a relational database, CouchDB does not store data and relationships in tables. Instead, each database is a collection of independent documents. Each document maintains its own data and self-contained schema. An application may access multiple databases, such as one stored on a user's mobile phone and another on a server. Document metadata contains revision information, making it possible to merge any differences that may have occurred while the databases were disconnected.

History[edit] Main features[edit] Document Storage ACID Semantics See also[edit] Redis (data store) Supported languages[edit] Data models[edit] The type of a value determines what operations (called commands) are available for the value itself. Redis supports high-level, atomic, server-side operations like intersection, union, and difference between sets and sorting of lists, sets and sorted sets. Persistence[edit] By default, Redis syncs data to the disk at least every 2 seconds, with more or less robust options available if needed. Replication[edit] Redis supports master-slave replication. Performance[edit] Clustering[edit] Cloud deployment[edit] Redis is commonly deployed on IaaS or PaaS platforms like Amazon Web Services, Rackspace or Heroku.

On IaaS platforms, it is possible to deploy Redis by uploading a virtual machine image, with Redis installed, to a cloud machine instance. See also[edit] References[edit] External links[edit] Official Redis project page. Tuple space. A tuple space is an implementation of the associative memory paradigm for parallel/distributed computing. It provides a repository of tuples that can be accessed concurrently. As an illustrative example, consider that there are a group of processors that produce pieces of data and a group of processors that use the data.

Producers post their data as tuples in the space, and the consumers then retrieve data from the space that match a certain pattern. This is also known as the blackboard metaphor. Tuple space may be thought as a form of distributed shared memory. Object Spaces[edit] Object Spaces is a paradigm for development of distributed computing applications. Object Space can be thought of as a virtual repository, shared amongst providers and accessors of network services, which are themselves abstracted as objects. An object, when deposited into a space, needs to be registered with an Object Directory in the Object Space. This paradigm inherently provides mutual exclusion. BigTable. BigTable is a compressed, high performance, and proprietary data storage system built on Google File System, Chubby Lock Service, SSTable (log-structured storage like LevelDB) and a few other Google technologies. It is not distributed outside Google, although Google offers access to it as part of its Google App Engine.

History[edit] BigTable development began in 2004[1] and is now used by a number of Google applications, such as web indexing,[2] MapReduce, which is often used for generating and modifying data stored in BigTable, Google Maps,[4] Google Book Search, "My Search History", Google Earth, Blogger.com, Google Code hosting, Orkut,[4] YouTube,[5] and Gmail.[6] Google's reasons for developing its own database include scalability and better control of performance characteristics.

Design[edit] BigTable maps two arbitrary string values (row key and column key) and timestamp (hence three-dimensional mapping) into an associated arbitrary byte array. Other similar software[edit] HBase. HBase is not a direct replacement for a classic SQL database, although recently its performance has improved, and it is now serving several data-driven websites,[2][3] including Facebook's Messaging Platform.[4][5] In the parlance of Eric Brewer’s CAP theorem, HBase is a CP type system.

History[edit] Facebook elected to implement its new messaging platform using HBase in November 2010.[4] See also[edit] References[edit] Bibliography[edit] External links[edit]