NoSQL Databases, What is NoSQL, Why NoSQL, Features of NoSQL, Types of NoSQL databases, Advantages of NoSQL, and Disadvantages of NoSQL.
We have different types of data like structured data, semi-structured data, unstructured data, in the computer environment.
We have two important categories of databases, SQL or Relational databases and NoSQL or Non-relational databases.
Introduction to NoSQL Databases
1. What is NoSQL?
2. Why NoSQL?
3. Types of NoSQL Databases
4. Features of NoSQL
5. Advantages of NoSQL
6. Disadvantages of NoSQL
1. What is NoSQL?
NoSQL stands for “Not Only SQL” or “Not SQL. NoSQL concept was introduced in 1998.
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 storing distributed data.
NoSQL is used for Big data and real-time web apps. For example, companies like Twitter, LinkedIn, Facebook, and Google collect terabytes of user data every single day.
2. Why NoSQL?
The concept of NoSQL databases became popular with Internet giants like Google, Facebook, Amazon, etc. who deal with huge volumes of data.
3. Types of NoSQL Databases
We have four main types of NoSQL databases:
i. Document databases
Example: MongoDB, Amazon SimpleDB, CouchDB, Lotus Notes, are popular Document originated DBMS systems.
ii. Key-value based databases
Example: Redis, Dynamo, and Riak.
iii. Column-oriented databases
Example: HBase, Cassandra, HBase, and Hypertable
iv. Graph databases
Example: Neo4J, Infinite Graph, OrientDB, FlockDB
4. Features of NoSQL
i. Non-relational
NoSQL databases never follow the relational model, they don’t object-relational mapping and data normalization, and No complex features like query languages and query planners.
ii. Distributed
Multiple NoSQL databases can be executed in a distributed fashion and NoSQL databases follow ‘Shared Nothing Architecture’, this enables less coordination and higher distribution.
iii. Schema-free
NoSQL databases are either schema-free or have relaxed schemas and they do not require any sort of definition of the schema of the data.
iv. Simple API
APIs allow low-level data manipulation & selection methods, web-enabled databases running as internet-facing services, and NoSQL databases mostly used no standard-based query language.
5. Advantages of NoSQL
i. NoSQL can handle structured, semi-structured, and unstructured data with equal effect.
ii. Big Data Capability
iii. No Single Point of Failure
iv. NoSQL provides fast performance and horizontal scalability.
v. NoSQL databases don’t need a dedicated high-performance server
vi. Simple to implement than using RDBMS
6. Disadvantages of NoSQL
i. NoSQL databases are not mature.
ii. No standardization rules
iii. Limited query capabilities
iv. NoSQL doesn’t work as well with relational data
v. Providing perfect data security is a challenge on any platform.
vi. Most NoSQL databases do not perform ACID (atomicity, consistency, isolation, durability) transactions.