What is NoSQL?
NoSQL database management systems are useful when working with a huge quantity of data and the data's nature does not require a relational model for the data structure. The data could be structured, but it is of minimal importance and what really matters is the ability to store and retrieve great quantities of data, and not the relationships between the elements. For example, to store millions of key-value pairs in one or a few associative arrays or to store millions of data records. This is particularly useful for statistical or real-time analyses for growing list of elements (such as Twitter posts or the Internet server logs from a big group of users).
NoSQL Categories:
The current NoSQL world fits into 4 basic categories -
ref:
NoSQL database management systems are useful when working with a huge quantity of data and the data's nature does not require a relational model for the data structure. The data could be structured, but it is of minimal importance and what really matters is the ability to store and retrieve great quantities of data, and not the relationships between the elements. For example, to store millions of key-value pairs in one or a few associative arrays or to store millions of data records. This is particularly useful for statistical or real-time analyses for growing list of elements (such as Twitter posts or the Internet server logs from a big group of users).
NoSQL Categories:
The current NoSQL world fits into 4 basic categories -
- Key-values Stores are based primarily on Amazon's Dynamo Paper which was written in 2007. The main idea is the existence of a hash table where there is a unique key and a pointer to a particular item of data. These mappings are usually accompanied by cache mechanisms to maximize performance.
- Column Family Stores were created to store and process very large amounts of data distributed over many machines. There are still keys but they point to multiple columns. In the case of BigTable (Google's Column Family NoSQL model), rows are identified by a row key with the data sorted and stored by this key. The columns are arranged by column family.
- Document Databases were inspired by Lotus Notes and are similar to key-value stores. The model is basically versioned documents that are collections of other key-value collections. The semi-structured documents are stored in formats like JSON.
- Graph Databases are built with nodes, relationships between notes and the properties of nodes. Instead of tables of rows and columns and the rigid structure of SQL, a flexible graph model is used which can scale across many machines.
The
major players in NoSQL have emerged primarily because of the organizations that
have adopted them. Some of the largest NoSQL technologies include:
- CouchDB: CouchDB is a database that uses JSON for documents, JavaScript for MapReduce queries,and regular HTTP for an API
- MongoDB: MongoDB(from "humongous") is a scalable, high-performance, open source NoSQL database. Written in C++
- SimpleDB: SimpleDB is a highly available and flexible non-relational data store that offloads the work of database administration. Developers simply store and query data items via web services requests and Amazon SimpleDB does the rest.
- BigTable: BigTable is Google's proprietary column oriented database. Google allows the use of BigTable but only for the Google App Engine.
- Dynamo: Dynamo was created by Amazon.com and is the most prominent Key-Value NoSQL database. Amazon was in need of a highly scalable distributed platform for their e-commerce businesses so they developed Dynamo. Amazon S3 uses Dynamo as the storage mechanism.
- Cassandra: Cassandra was open sourced by Facebook and is a column oriented NoSQL database.
- Neo4J: Neo4j is an open source graph database.
ref:
NoSQL Databases - http://en.wikipedia.org/wiki/NoSQL
Document
Oriented Databases - http://en.wikipedia.org/wiki/Document-oriented_database
NoSQL and Document
Oriented Databases - http://ruby.about.com/od/nosqldatabases/a/nosql1.htm
NoSQL Databases - http://newtech.about.com/od/databasemanagement/a/Nosql.htm
10 things you should
know about NoSQL databases - http://www.techrepublic.com/blog/10things/10-things-you-should-know-about-nosql-databases/1772
What is a document
database - http://dssresources.com/faq/index.php?action=artikel&id=236
Top NoSQL Databases
- http://opensourcebyte.blogspot.com/2012/01/top-nosql-databases.html