NO SQL
Definition of NOSQL
What is NoSQL?
NoSQL Database is a non-relational Data Management System , that does not
require a fixed schema. In 1998 Carl Strozz introduced the NoSQL concept.It
avoids joins, and is easy to scale. The major purpose of using a NoSQL database is
for distributed data stores with humongous data storage needs. NoSQL is used for
Big data and real-time web apps. For example, companies like Twitter, Facebook
and Google collect terabytes of user data every single day.
NoSQL database stands for “Not Only SQL” or “Not SQL.” Though a better term
would be “NoREL”, NoSQL caught on.
A NoSQL originally referring to non SQL or non relational is a database that
provides a mechanism for storage and retrieval of data. This data is modeled in
means other than the tabular relations used in relational databases.
NoSQL databases are used in real-time web applications and big data and their
use are increasing over time.
A NoSQL database includes simplicity of design, simpler horizontal scaling to
clusters of machines and finer control over availability. The data structures used
by NoSQL databases are different from those used by default in relational
databases which makes some operations faster in NoSQL.
2. What are the features of NoSQL? . What are NoSQL databases? What are the
different types of NoSQL databases?
NoSQL databases have the following properties:
o They have higher scalability.
o They use distributed computing.
o They are cost effective.
o They support flexible schema.
o They can process both unstructured and semi-structured data.
o There are no complex relationships, such as the ones between tables in an
RDBMS.
DEPT OF M.C.A KLS GIT. BELAGAVI PROF N.N.ANVEKAR
NO SQL
The following table shows the types of non-relational databases and the features
associated with them:
Type Performance Scalability Flexibility Complexity
Key-value store High High High High
Column store High High Moderate Low
Document store High Variable to high High Low
Graph-based Variable Variable High High
Various types of NO SQL Databases
1 Column store
2. Document store
3. Key-value store
4. Graph-based
Figure : various databases in nosql
DEPT OF M.C.A KLS GIT. BELAGAVI PROF N.N.ANVEKAR
NO SQL
3. Compare NoSQL & RDBMS/ Differences between SQL and NO SQL/ Differences
between relational and non-relational Database?
SQL NoSQL
RELATIONAL DATABASE Non-relational or distributed database
MANAGEMENT SYSTEM (RDBMS) system.
These databases have fixed or static
or predefined schema They have dynamic schema
These databases are not suited for These databases are best suited for
hierarchical data storage. hierarchical data storage.
These databases are best suited for These databases are not so good for
complex queries complex queries
Vertically Scalable Horizontally scalable
Follows CAP(consistency, availability,
Follows ACID property partition tolerance)
4. Explain difference between scaling horizontally and vertically for databases
Horizontal scaling means that you scale by adding more machines into your
pool of resources whereas
Vertical scaling means that you scale by adding more power (CPU, RAM) to an
existing machine.
In a database world horizontal-scaling is often based on the partitioning of the
data i.e. each node contains only part of the data, in vertical-scaling the data
resides on a single node and scaling is done through multi-core i.e. spreading the
load between the CPU and RAM resources of that machine.
DEPT OF M.C.A KLS GIT. BELAGAVI PROF N.N.ANVEKAR
NO SQL
Good examples of horizontal scaling are Cassandra, MongoDB, and Google Cloud
Spanner. And a good example of vertical scaling is MySQL - Amazon RDS (The
cloud version of MySQL).
5. What are the advantages of NoSQL over traditional RDBMS?
NoSQL is better than RDBMS because of the following reasons/properties of
NoSQL:
It supports semi-structured data and volatile data
It does not have schema
Read/Write throughput is very high
Horizontal scalability can be achieved easily
Will support Bigdata in volumes of Terra Bytes & Peta Bytes
Provides good support for Analytic tools on top of Bigdata
Can be hosted in cheaper hardware machines
In-memory caching option is available to increase the performance of
queries
Faster development life cycles for developers
6. Define ACID Properties
Atomicity: It ensures all-or-none rule for database modifications.
Consistency: Data values are consistent across the database.
Isolation: Two transactions are said to be independent of one another.
Durability: Data is not lost even at the time of server failure.
7. What is Sharding in NOSQL?
Sharding is a method for storing data across multiple machines. NOSQL uses
sharding to support deployments with very large data sets and high throughput
operations.
DEPT OF M.C.A KLS GIT. BELAGAVI PROF N.N.ANVEKAR