What Is a NoSQL Datastore?
It is a datastore that store and handle really big data and it provides High availability - which means serving to many concurrent users.
NoSQL achieves this with scale out architectures which means we can have many machines and these machines can be commodity hardware. Every NoSQL supports the addition of hardware whenever needed.
The other properties of NoSQL data store is that they are non-relational meaning they don't guarantee ACID properties and don't to adhere to a fixed schema.
All of the NoSQL datastores available in market at open source? Why? To avoid vendor lockins, the users prefer open source data store.
[types] Every NoSql stores records. Based on the type of record a NoSQL can store, it is classified into four categories: First one is Column Oriented or Wide Column
These are very close to relational databases. They have tabular structure. Examples of such databases are HBASE,Cassandra and accumulo.
The second kind is Document oriented NoSQL datastores. In such data stores, we can store complex objects. For example, we can store TVShows into such datastores where each record would represent a tv show. The TV show is a complex object or we can say document. TV Show has many seasons, each search has many episodes. Every episode has many reviews and cast members.
Examples of Document oriented NoSQL datastores are MongoDB, couchbase, clusterpoint and marklogic.
The Third kind of NoSQL stores are key-value store. Such NoSQL store reach record in the form of key-value. Key and Value can be primitives such as string, byte array, number or boolean. Key-Value stores are most primitive and the first datastores to be invented.
The examples of key-value stores are: Amazon dynamo, memcachedb, voldemort, redis and riak.
The fourth category of NoSQL datastores is Graph Oriented data stores. These are the most recent kind of datastores.
Such NoSQLs are used for storing graphs. A graph is made up complex relations between objects for example on Facebook relations between people.
Allegro, neo4j, orient db, virtuoso and giraph are examples of NoSQLs.