What is NoSQL Database?
NoSQL Database Types
There are main four types of NoSQL databases.
- The simplest type of NoSQL database.
- Uses in hash table.
- Unique key as pointer to a value
- Logical grouping of keys are called a “bucket“
- Large fallbacks with running queries.
- Most don’t support update operations that modify only part of the data
- Uses key value pairs compressed as a document store similar to a key- value store, but values stored (“documents”) provide some structure& encoding of the managed data.
- Can use multiple formats with document databases- JSON, XML, BSON
- Can perform nested queries & can do much more with your data when compared to a key-value store.
- MongoDB and Couchbase are the most popular document databases at this time
- Based on “graph theory“
- Use a flexible graphical representation as oppose to rigid tables & columns
- Uses “edges” & “nodes” instead of key-value pairs. This creates an index-free adjacency
- Often used to store information about networks, such as social connections
- Compared to RDBMS, graph databases are usually faster for associative data sets and map more directly to the structure of object- orients applications
- Data is stored in cells that are grouped in columns of data rather than as rows of data
- Columns are grouped logically into Column families
- Column families can contain a virtually unlimited number of columns that can be created at runtime or the definition of the schema
- These are generally for storing & processing very large amounts of data that is distributed across many machines.
- Faster Access, search & data aggregation
Top most NoSQL databases
It is distributed, High performance, extremely scalable and fault tolerant post-relational Database solution. It can serve as both real-time data stores for online or transactional applications, and as a read intensive database for business intelligence systems.
- Gigabyte to Petabyte scalability
- Linear performance gains through adding nodes
- No single point of failure
- Data distribution
- No need for separate caching layer
- Data consistency & compression
- Support for key language & platforms
- No need for extra hardware & software
It is a key value store. Specifically, it is known as Distributed data store. It has consistent store, sorted map and multi- dimensional. The following thing makes it different from other database.
- Column oriented
- Flexible schema, add columns on the fly
- Good with sparse tables
- Tight integration with MR
- Horizontal scalability- just add hardware
- Good for semi structured data as well as structured data
It is a high performance, scalable, distributed storage & processing system. It is an open source database. It only supports the basic queries. It is modelled after Google’s big table. Mainly implemented in C++.
It is a document oriented database. It is an open source product and it is developed and supported by the company called 10gen. It is available in the public and commercial license. It is a scalable, high performance, open source and document oriented database.
It is in memory data structure. It is open source for easy access. It has the Following Features.
- Lua scripting
- Keys with a limited time-to-live
- LRU eviction of keys
- Automatic failover
It is designed to solve hard problems associated with building and scaling are read and write intensive applications. It has ability to store any type of data and does so across multiple nodes.