Table of Contents
Introduction to NoSQL Database
NoSQL, known as Not only SQL database, provides a mechanism for storage and retrieval of data and is the next generation database . Most of the NoSQL are open source and it has a capability of horizontal scalability which means that commodity kind of machines could be added
The capacity of your clusters can be increased. It is schema free and there is no requirement to design the tables and pushing the data to it. NoSQL provides easy replication claiming there are very less manual interventions in this. Once the replication is done, the system will automatically take care of fail overs.
The crucial factor about NoSQL is that it can handle huge amount of data and can achieve performance by adding more machines to your clusters and can be implemented on commodity hardware. There are close to 150 NoSQL databases in the market which will make it difficult to choose to choose the right pick for your system.
There are different kinds of data that are structured, unstructured and semi-structured and hence RDBMS systems are not designed to manage these types of data in an effecient way. NoSql databases comes in to the picture and are capable to manage it . People today are use different kinds of methodology and if you talk about the code velocity and implementation level, people wish to execute various activities at the same time. Talking about the traditional way, it was quite difficult in terms of taking care of the database and writing your application according to the database. So with the new NoSQL, things have become easier.
Benefits of NoSQL
NoSQL claims various benefits associated with its usage. From managing data to scalability, it use has increased drastically. Huge amount of data can be managed and then streamed. Different kinds of data like structured and semi structured data can be analyzed and analytical activities can be performed.
If you’re not able to drive value out of any data, you can capture this kind of information. It’s object oriented programming is easy to use and flexible. It provides horizontal scaling instead of expensive hardware. If you want to scale vertically, then additional CPU’s and RAMs have to be purchased. But here horizontal scaling can be used with the help of commodity hardware.
NoSQL Database Categories
Document Database– It pairs each key with a complex data structure known as document. It can contain many different key value pairs, or key array pairs or even nested documents
Key value stores– They are the simplest NoSQL databases. Every single item in the database is stored as an attribute name or key together with its value.
Graph store– They are used to store information about networks, such as social connections.Graph stores include Neo4J and HyperGraphDB.
Wide column stores– Wide column stores such as Cassandra and HBase are optimized for queries over large datasets, and store columns of data together, instead of rows.
NoSQL Vs SQL Comparison
ACID is a set of properties that guarantees that are processed reliably. In the context of databases, a single logical operation on the data is called a transaction.
Atomicity– Atomicity defines transaction as a logical unit of of work which must be either completed with all of its data modifications or none of them is performed.
Consistency– At the very end of the transaction, all data must be left in a consistent state.
Isolation– Modifications of data performed by a transaction must be independent of another transaction. Unless this happens, the outcome of a transaction may be erroneous.
Durability– When the transaction is completed, effects of the modifications performed by the transaction must be permanent in the system.