NoSQL Database
NoSQL Database
” 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.
Features of NoSQL
Non-relational
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.
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.
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.
What is the CAP Theorem?
CAP theorem is also called brewer’s theorem. It states that is
impossible for a distributed data store to offer more than two out of
three guarantees
1. Consistency
2. Availability
3. Partition Tolerance
Consistency:
Availability:
Eventual Consistency
The term “eventual consistency” means to have copies of data on
multiple machines to get high availability and scalability. Thus,
changes made to any data item on one machine has to be propagated
to other replicas.
Disadvantages of NoSQL
No standardization rules
Limited query capabilities
RDBMS databases and tools are comparatively mature
It does not offer any traditional database capabilities, like
consistency when multiple transactions are performed
simultaneously.
When the volume of data increases it is difficult to maintain
unique values as keys become difficult
Doesn’t work as well with relational data