Introduction:NoSQL (not only SQL) is anon-relational database management system. It is used for fast informationretrieval database and is portable.
NoSQL is good for unstructured and schemaless data. NoSQL databases are open source, appropriated in nature and inaddition it is having high performance directly that is horizontally scalable. Non-relationaldatabase does not have a schema and sort out its data in related tables (i.e.,data is stored in a non-normalized way). Distributed means information isspread to various machines and is overseen by various machines so here itutilizes the idea of information replication.CAP Theorem:Eric Brewer was the philosophical fuelbehind the NoSQL databases. CAP Stands for Consistency, Availability andPartition Tolerance.
The theorem claims that “in a distributed system, when there is an inevitablenetwork partition (and the cluster breaks into two or more “islands”), youcan’t guarantee both availability (for updates) and consistency.”. According to this any distributedsystem cannot guaranty C, A and P simultaneously· Consistency: All the nodes in the distributedsystem sees the same data. The system is said to be consistent if we start atransaction (read or write) in a consistent state and ends with the system in aconsistent state. In this model if a system steps into an inconsistent state duringa transaction then the system gets rolled back in consistent state if there isan in error in transaction. Examples are traditional databases like SQL, MYSQLand PostgreSQL.· Availability: In a distributed system, if thesystem is 100% operational all the time then we have achieved availability.
Everyclient gets the response regardless of his individual state of the node in thesystem. Examples are typical relational databases SQL, MYSQL and PostgreSQL.So, we can say that the relational databases fall under the CA category.Document oriented databases like Elastic search also fall under this CA.· PartitionTolerance: Ifa system is partition tolerant then we can say that it can sustain any amountof network failure that does not result in the entire network failure. Data isreplicated across the combinations of nodes and network to keep the system outof network failures.
Examples the storage systems that fall under the umbrellaof CP are MongoDb and Redis. The storagesystems that fall under the AP umbrella are Cassandra, CouchDB and dynamoDB. Types of NOSQLDatabases:· Key-ValueDatabases: Itis the simplest of all the types of NoSQL. In this the data is stored in theform of key-value pair. Stored values can be of any type like JSON, string,text document and so on which can be accessed by a key.
· ColumnStore Databases:In this the data is stored in the form of column rather than rows. Column oriented databases are those in whichthe values containing columns are put together into column families. These canquery large data set tables faster. Examples are Cassandra, HBase, Google Big Table.· GraphDatabases: Inthis we define a graphical representation of data.
The data is stored in nodesand the edges are used to connect the nodes. Because of its graphicalrepresentation of the data, it supports richer representations of datarelationships. Nodes and relationships both have some define properties. Thegraph has nodes which have defined properties and these nodes have some relationshipswhich is shown by the directional edges. Examples are IBMGraph, Neo4j and Titan.SQLvs NoSQL:· Speed: SQL requires higher degree of normalizationi.e.
the data is broken down into small relational tables to avoid dataredundancy and duplication of data. It helps manage data in an efficient waybut having several tables reduces the performance of data processing. In NoSQLdata is stored horizontally where the data is duplicated repeatedly and hardlywe ever partition the data but it is stored in the form of entity. So, read andwrite operations through a single entity is easier and faster.· ForDB types: SQLdatabases can be open source or closed depending upon the commercial vendors.In NoSQL databases can be classified on the way of storing data as key-valuestore, document store, column store or graph store databases · DataRecovery: whenthere is a crisis NoSQL databases can easily recover the data, as NoSQLdatabases are unstructured and data is stored in the form of documents.Conclusion: Due to tremendous rise in use of theinternet Google and Facebook faced real time problems while handling a hugeamount of data. We are entering a time of bilingual persistence, a method thatutilizations distinctive data storage technologies to deal with changing datastorage needs.
Bilingual persistence can apply over an enterprise or a singlepage application.