[Type here]
Practical-1
1. Introduction to NoSQL.
• NoSQL Database is a non-relational Data Management System, that does not require a
fixed schema. 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. Carl Strozz introduced the NoSQL concept in
1998.
• Traditional RDBMS uses SQL syntax to store and retrieve data for further insights.
Instead, a NoSQL database system encompasses a wide range of database technologies
that can store structured, semi-structured, unstructured and polymorphic data. Let’s
understand about NoSQL with a diagram in this NoSQL database tutorial:
[Type here]
2. Structure of nosql.
• NoSQL Databases are mainly categorized into four types: Key-value pair, Column-
oriented, Graph-based and Document-oriented. Every category has its unique attributes
and limitations. None of the above-specified database is better to solve all the problems.
Users should select the database based on their product needs.
• Types of NoSQL Databases:
• Key-value Pair Based
• Column-oriented Graph
• Graphs based
• Document-oriented
• Key Value Pair Based
o Data is stored in key/value pairs. It is designed in such a way to handle lots of data and
heavy load.
o Key-value pair storage databases store data as a hash table where each key is unique,
and the value can be a JSON, BLOB(Binary Large Objects), string, etc.
o For example, a key-value pair may contain a key like “Website” associated with a value
like “Guru99”.
[Type here]
• It is one of the most basic NoSQL database example. This kind of NoSQL database is
used as a collection, dictionaries, associative arrays, etc. Key value stores help the
developer to store schema-less data. They work best for shopping cart contents.
• Redis, Dynamo, Riak are some NoSQL examples of key-value store DataBases. They
are all based on Amazon’s Dynamo paper.
• Column-based
Column-oriented databases work on columns and are based on BigTable paper by
Google. Every column is treated separately. Values of single column databases are
stored contiguously.
• Column based NoSQL database
They deliver high performance on aggregation queries like SUM, COUNT, AVG, MIN
etc. as the data is readily available in a column.
[Type here]
• Column-based NoSQL databases are widely used to manage data warehouses, business
intelligence, CRM, Library card catalogs,
HBase, Cassandra, HBase, Hypertable are NoSQL query examples of column based
database.
• Document-Oriented
Document-Oriented NoSQL DB stores and retrieves data as a key value pair but the value
part is stored as a document. The document is stored in JSON or XML formats. The value
is understood by the DB and can be queried.
• Amazon SimpleDB, CouchDB, MongoDB, Riak, Lotus Notes, MongoDB, are popular
Document originated DBMS systems.
• Graph-Based
A graph type database stores entities as well the relations amongst those entities. The entity
is stored as a node with the relationship as edges. An edge gives a relationship between
nodes. Every node and edge has a unique identifier.
[Type here]
• Compared to a relational database where tables are loosely connected, a Graph database
is a multi-relational in nature. Traversing relationship is fast as they are already
captured into the DB, and there is no need to calculate them.
• Graph base database mostly used for social networks, logistics, spatial data.
• Neo4J, Infinite Graph, OrientDB, FlockDB are some popular graph-based databases.
3. Why nosql.
• The concept of NoSQL databases became popular with Internet giants like Google,
Facebook, Amazon, etc. who deal with huge volumes of data. The system response time
becomes slow when you use RDBMS for massive volumes of data.
To resolve this problem, we could “scale up” our systems by upgrading our existing
hardware. This process is expensive.
The alternative for this issue is to distribute database load on multiple hosts whenever
the load increases. This method is known as “scaling out.”
NoSQL database is non-relational, so it scales out better than relational databases as
they are designed with web applications in mind.
4. History of nosql.
• 1998- Carlo Strozzi use the term NoSQL for his lightweight, open-source relational
database
• 2000- Graph database Neo4j is launched
• 2004- Google BigTable is launched
• 2005- CouchDB is launched
• 2007- The research paper on Amazon Dynamo is released
• 2008- Facebooks open sources the Cassandra project
• 2009- The term NoSQL was reintroduced
[Type here]
RELATED ARTICLES
• How to Download & Install MongoDB on Windows and Cloud
• How to Create Database & Collection in MongoDB
• MongoDB Array of Objects using insert() with Example
• 20 MongoDB Interview Questions and Answers (2025)
5. Advantage of nosql.
• Advantages:
o Flexible Schema: NoSQL databases offer flexible schema designs that accommodate
dynamic, semi-structured, or unstructured data without the need for predefined
schemas.
o Scalability: NoSQL databases are designed for horizontal scalability, allowing them to
handle large volumes of data and high throughput with ease.
o High Performance: NoSQL databases often deliver high performance for read and write
operations, especially in distributed environments.
o Support for Semi-Structured Data: NoSQL databases natively support semi-structured
or unstructured data types, such as JSON, XML, or binary blobs.
o Horizontal Scalability: NoSQL databases excel at horizontal scalability, allowing them
to distribute data across multiple nodes and handle growing workloads without
downtime or performance degradation.
6. Disadvantage of nosql.
• Disadvantages:
o Consistency Trade-offs: Some NoSQL databases sacrifice strong consistency for
improved availability and partition tolerance, as per the CAP theorem (Consistency,
Availability, Partition tolerance).
o Limited ACID Support: Not all NoSQL databases provide full ACID compliance,
which may be a requirement for certain mission-critical applications.
o Complexity in Data Modeling: NoSQL databases require careful consideration of data
modeling and query patterns to optimize performance and scalability.
o Tooling and Ecosystem Maturity: Compared to SQL databases, the tooling and
ecosystem for NoSQL databases may be less mature, with fewer third-party libraries,
integrations, and community resources available.
o Learning Curve: Transitioning from SQL to NoSQL databases may involve a learning
curve for developers, particularly those accustomed to relational database paradigms.