0% found this document useful (0 votes)
66 views

Nosql Databases

Uploaded by

khalfan athman
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views

Nosql Databases

Uploaded by

khalfan athman
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

NOSQL DATABASES

NoSQL Databases Explained


WHAT IS NOSQL?
NoSQL is an approach to databases that represents a shift away from traditional
relational database management systems (RDBMS). To define NoSQL, it is helpful to
start by describing SQL, which is a query language used by RDBMS. Relational
databases rely on tables, columns, rows, or schemas to organize and retrieve data. In
contrast, NoSQL databases do not rely on these structures and use more flexible data
models. NoSQL can mean “not SQL” or “not only SQL.” As RDBMS have increasingly
failed to meet the performance, scalability, and flexibility needs that next-generation,
data-intensive applications require, NoSQL databases have been adopted by
mainstream enterprises. NoSQL is particularly useful for storing unstructured data,
which is growing far more rapidly than structured data and does not fit the relational
schemas of RDBMS. Common types of unstructured data include: user and session
data; chat, messaging, and log data; time series data such as IoT and device data; and
large objects such as video and images.

TYPES OF NOSQL DATABASES


Several different varieties of NoSQL databases have been created to
support specific needs and use cases. These fall into four main categories:

 Key-value data stores: Key-value NoSQL databases emphasize simplicity


and are very useful in accelerating an application to support high-speed read and
write processing of non-transactional data. Stored values can be any type of binary
object (text, video, JSON document, etc.) and are accessed via a key. The
application has complete control over what is stored in the value, making this the
most flexible NoSQL model. Data is partitioned and replicated across a cluster to
get scalability and availability. For this reason, key value stores often do not
support transactions. However, they are highly effective at scaling applications that
deal with high-velocity, non-transactional data.
 Document stores: Document databases typically store self-describing JSON,
XML, and BSON documents. They are similar to key-value stores, but in this case,
a value is a single document that stores all data related to a specific key. Popular
fields in the document can be indexed to provide fast retrieval without knowing the
key. Each document can have the same or a different structure.
 Wide-column stores: Wide-column NoSQL databases store data in tables with
rows and columns similar to RDBMS, but names and formats of columns can vary
from row to row across the table. Wide-column databases group columns of related
data together. A query can retrieve related data in a single operation because only
the columns associated with the query are retrieved. In an RDBMS, the data would
be in different rows stored in different places on disk, requiring multiple disk
operations for retrieval.
 Graph stores: A graph database uses graph structures to store, map, and query
relationships. They provide index-free adjacency, so that adjacent elements are
linked together without using an index.

Multi-modal databases leverage some combination of the four types


described above and therefore can support a wider range of applications.

BENEFITS OF NOSQL
NoSQL databases offer enterprises important advantages over traditional RDBMS,
including:

 Scalability: NoSQL databases use a horizontal scale-out methodology that makes


it easy to add or reduce capacity quickly and non-disruptively with commodity
hardware. This eliminates the tremendous cost and complexity of manual sharding
that is necessary when attempting to scale RDBMS.
 Performance: By simply adding commodity resources, enterprises can increase
performance with NoSQL databases. This enables organizations to continue to
deliver reliably fast user experiences with a predictable return on investment for
adding resources—again, without the overhead associated with manual sharding.
 High Availability: NoSQL databases are generally designed to ensure high
availability and avoid the complexity that comes with a typical RDBMS architecture
that relies on primary and secondary nodes. Some “distributed” NoSQL databases
use a masterless architecture that automatically distributes data equally among
multiple resources so that the application remains available for both read and write
operations even when one node fails.
 Global Availability: By automatically replicating data across multiple servers, data
centers, or cloud resources, distributed NoSQL databases can minimize latency
and ensure a consistent application experience wherever users are located. An
added benefit is a significantly reduced database management burden from
manual RDBMS configuration, freeing operations teams to focus on other business
priorities.
 Flexible Data Modeling: NoSQL offers the ability to implement flexible and fluid
data models. Application developers can leverage the data types and query options
that are the most natural fit to the specific application use case rather than those
that fit the database schema. The result is a simpler interaction between the
application and the database and faster, more agile development.

You might also like