4 Types of NoSQL databases: document-oriented, key-value store, column-based store, and graph-based store. Optimized for heavy write workload and heavy read workload on a large scale. Key features: Performance, horizontal Scalability, replication, clustering etc.
1. Types of NoSQL databases
The NoSQL (not only SQL) databases are primarily categorized on the basis of how the data is stored. Categorized on the basis of Volume of data, Velocity of data, and Variety of data.
There are 4 basic type of NOSQL databases as:
- Key-Value Store: It has a Big Hash Table of keys & values e.g. Redis, Riak, Amazon S3. It is straight forward key value pair , used for fully baked content primarily for caching mechanism. you can query on key , not on value in order to get the value extremely faster.
- Document-based Store: It stores documents made up of tagged elements. e.g mongoDB, CouchDB,
- Column-based Store: Each storage block contains data from only one column e.g. HBase, Cassandra
- Graph-based: A network database that uses edges and nodes to represent and store data e.g. Neo4J
2. Key-Value Store NoSQL Database
There is no complexity around the Key Value Store database model. The key value type store, uses a big hash table in which there exists a unique key and a pointer to a particular item of data. A bucket is a logical group of keys – but they don’t physically group the data. There can be identical keys in different buckets.
Performance enhanced to a great degree because of the cache mechanisms. To read a value you need to know both the key and the bucket because the real key is a hash.
If you referring CAP theorem, it is quite clear, key-value stores are around the Availability and Partition but definitely lack Consistency.
User can query (to pull the data for the key) can be on the only key, not on value, this is the disadvantage of key-value store and another side it give you more strength. It completly on you, what types of feature you are looking among all 4 types of NoSQL databases.
3. Few examples of Key Value store NoSQL
Although there are a number of key-value store, I am goign to to mentioned few famous as key-value database: Amazon’s DynamoDB , Redis, Riak , memcacheDB
3.1 Redis: Key-value store database
Key points about Redis distributed in-memory database as follows. You can vist What is Redis in-memory Cache
- written in C with approx 13 k+ lines of code
- socket API: redis-cli, a client library for all major languages
- In memory-based key-value database.
3.2 Features of Redis
- high read & write throughput e.g. 50 K to 1 Lac ops/second
- interesting data structure: list, hashes, sorted set, atomic operation.
- strong consistency
- in-memory database: appended-only log on disk with virtual memory.
- support master-slave replication.
- “Memory is the new , disk is the new tape” – Jim Gray
Wiki: Key-Value Store
Amazon’s Dynamo Paper
I hope you enjoyed this post of 4 types of NoSQL databases, its features , few example of NoSQL databases and you can visit tutorial indexing page for more blog post.
Happy Learning! 🙂