NoSQL DatabasesVenkata SurajKongara(K00327390)Parasuram Reddykalluri(K00379540)Dinesh Javvaji(K00381837) Introduction:NoSQL (not only SQL) is anon-relational database management system. It is used for fast informationretrieval database and is portable.
NoSQL can be applied to unstructured,semi-structured and schema-less data. NoSQL databases are open source,appropriated in nature and in addition it is having high performance directlythat is horizontally scalable. The non-relational database does not have aschema and sorts out its data in related tables (i.e., data is stored in anon-normalized way).
Distributed means information is spread to variousmachines and is overseen by various machines so here it utilizes the idea ofinformation 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 see 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 into a consistent state if thereis an in error in a transaction. Examples are SQL, MYSQL and 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 SQL, MYSQL and PostgreSQL. So, we can say that therelational databases come under the CA category. Document-oriented databaseslike 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 come under the umbrellaof CP are Redis and MongoDB. The storage systems that come under the APumbrella 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.
Examples are Couchbase and MongoDB.· ColumnStore Databases:In this, the data is stored in the form of the column rather than rows. Column-oriented databases are those in whichthe values containing columns are put together into column families. These canquery large dataset 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 a 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.· DBtypes: SQLdatabases can be open source or closed depending upon the commercial vendors.In NoSQL databases can be categorized in the way of storing data as key-valuestore, document store, column store or graph store databases · DataRecovery: whenthere are crisis NoSQL databases can easily recover the data, as NoSQLdatabases are unstructured and data is stored in the form of documents.Conclusion: Due to the tremendous rise in theuse of the internet Google and Facebook faced real-time problems while handlinga huge amount of data. We are entering a time of bilingual persistence, amethod that utilizations distinctive data storage technologies to deal withchanging data storage needs.
Bilingual persistence can apply over an enterpriseor a single page application.