Introduction to NoSQL
Abhishek R
(1DA21MC002)
Introduction to NoSQL
NoSQL is a type of database management system (DBMS) that is
designed to handle and store large volumes of unstructured and semi-
structured data.
Traditional relational databases that use tables with pre-defined schemas
to store data, NoSQL databases use flexible data models that can adapt
to changes in data structures
NoSQL databases, also known as “not only SQL” databases
NoSQL databases are generally classified into four main categories:
[Link] databases: These databases store data as semi-structured
documents, such as JSON or XML, and can be queried using document-oriented
query languages.
[Link]-value stores: These databases store data as key-value pairs, and are
optimized for simple and fast read/write operations.
[Link]-family stores: These databases store data as column families, which
are sets of columns that are treated as a single entity. They are optimized for fast
and efficient querying of large amounts of data.
[Link] databases: These databases store data as nodes and edges, and are
designed to handle complex relationships between data.
[Link] databases: These are often used in applications where there is a
high volume of data that needs to be processed and analyzed in real-time,
such as social media analytics, e-commerce, and gaming. They can also be
used for other applications, such as content management systems, document
management, and customer relationship management.
Key Features of NoSQL :
[Link] schema: NoSQL databases do not have a fixed schema and can
accommodate changing data structures without the need for migrations or
schema alterations.
[Link] scalability: NoSQL databases are designed to scale out by
adding more nodes to a database cluster, making them well-suited for
handling large amounts of data and high levels of traffic.
[Link]-based: Some NoSQL databases, such as MongoDB, use a
document-based data model, where data is stored in semi-structured format,
such as JSON or BSON.
[Link]-value-based: Other NoSQL databases, such as Redis, use a key-
value data model, where data is stored as a collection of key-value pairs.
[Link]-based: Some NoSQL databases, such as Cassandra, use a
column-based data model, where data is organized into columns instead
of rows.
[Link] and high availability: NoSQL databases are often
designed to be highly available and to automatically handle node
failures and data replication across multiple nodes in a database cluster.
[Link]: NoSQL databases allow developers to store and retrieve
data in a flexible and dynamic manner, with support for multiple data
types and changing data structures.
[Link]: NoSQL databases are optimized for high performance
and can handle a high volume of reads and writes, making them suitable
for big data and real-time applications.
Advantages of NoSQL
[Link] scalability : NoSQL databases use sharding for horizontal
scaling. Partitioning of data and placing it on multiple machines in such
a way that the order of the data is preserved is sharding.
[Link]: NoSQL databases are designed to handle unstructured or
semi-structured data
[Link] availability : Auto replication feature in NoSQL databases
makes it highly available because in case of any failure data replicates
itself to the previous consistent state.
[Link]: NoSQL databases are highly scalable, which means that
they can handle large amounts of data and traffic with ease. This makes
them a good fit for applications that need to handle large amounts of
data or traffic
[Link]: NoSQL databases are designed to handle large
amounts of data and traffic, which means that they can offer improved
performance compared to traditional relational databases.
Disadvantages of NoSQL
[Link] of standardization : There are many different types of NoSQL databases, each
with its own unique strengths and weaknesses. This lack of standardization can make it
difficult to choose the right database for a specific application
[Link] of ACID compliance : NoSQL databases are not fully ACID-compliant, which
means that they do not guarantee the consistency, integrity, and durability of data.
[Link] focus : NoSQL databases have a very narrow focus as it is mainly designed for
storage but it provides very little functionality. Relational databases are a better choice in
the field of Transaction Management than NoSQL.
[Link]-source : NoSQL is open-source database. There is no reliable
standard for NoSQL yet. In other words, two database systems are likely to be
unequal.
[Link] of support for complex queries : NoSQL databases are not designed
to handle complex queries, which means that they are not a good fit for
applications that require complex data analysis or reporting.
Thank you