NoSQL
What is NoSQL?
"NoSQL is an accidental term with no precise definition"
NoSQL concept was introduced Carl Strozzi in 1998.
- NoSQL is a non-relational data management system
- Schema free (doesn't require fixed schema)
- Easy to scalable and replication
- Eventually consistent
- Open source
- No transaction support
NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases.
NoSQL database includes simplicity of design, simpler horizontal scaling to clusters of machines and finer control over availability.
NOSQL systems are also sometimes called "Not only SQL".
The data structures used by NoSQL databases are different from those used by default in relational databases which makes some operations faster in NoSQL.
Why use NoSQL?
Remove the burden of data structures mismatch between application in-memory and relational databases.
NoSQL databases concept become popular with internet giants like Google, Facebook, Amazon, etc. who deal with huge volume of data. The system response time becomes slow when you use RDBMS for huge volumes of data.
Relational databases not designed to run efficiently on clusters.
Integrate databases using services , aggregate oriented databases are easier to manage and based on domain driven design.
NoSQL is typically good for unstructured or schema less data.
Easy to manage data and easy to understand.
Who use NoSQL?
- Amazon
- Adobe and Instagram
Features of NoSQL Databases
- Multi-Model
- Easily Scalable
- Flexible
- Distributed
- Zero Downtime
RDBMS VS NoSQL
RDBMS
- Structured and organized data
- Structured query language (SQL)
- Schema-centric
- Complex data relationships
- Joins
- Database-centric
- Well define standards
NoSQL
- Unstructured and semi structured data
- No declarative query language
- Schema-free
- Very simple relationships
- Avoid joins
- Application-centric or developer-centric
- Standards no yet evolved
Types of NoSQL Databases
Key-value Database
The value in a key-value store can be anything.
Column-Family Database
Every column is treated separately. Values of single column databases are stored contiguously.
Document Database
The document is stored in JSON or XML formats. the value is understood by the DB and can be queried.
Graph Database
The entity is stored as a node with the relationship as edges.
An edge gives a relationship between nodes.
Every node and edge has unique identifier.
Comments
Post a Comment