Open Laboratory for Technocrats

Grab the developer role, learn concepts & prepare with senior software engineers to get solutions for problems in a software job. Coding and Programming Solutions crafted for you.

noSql - Not only SQL - Simple Notes


So the first thing you need to know is that no SQL is an approach to database management.

It is considered to be super flexible as it allows for a variety of data models,  such as key-value, document, y column, or tabular and graph formats. These are the four new emerging trends of multi-model databases. 







So we can consider NoSQL databases are casually considered to be flexible. 

But officially the defining characteristics of NoSQL databases are considered to be that they are non-relational, distributed, and scalable. 



Distributed refers to running on clusters of machines globally distributed to support apps at two different geographical locations and scalable means that NoSQL databases are able to store and query life scale data, as well as support high transaction throughput scaling horizontally.

In addition to this, they're also partitioned tolerant, meaning that they are able to work in the presence of network partitioning and they are also highly available, meaning that they are able to serve requests even when some machines go down. 

They can do this as they have data replication built-in and lastly, what does non-relational entail?
To understand this fully, we need to look at relational databases bust, the relational data model and SQL were designed for databases that work on single machines and scale vertically. 

We will go into this in a bit more detail later on. In fact, everything we just mentioned is in contrast to what relational databases are all about, which is Atomicity, Consistency, Isolation, Durability, or acid for short. So to bring up relational databases as you understand where NoSQL came from, we have to look at them as well as SQL. 



SQL stands for Structured Query Language. 

It is used for relational databases. By relational, it's a collection of tables with rows and columns that store a specific set of structured data. NoSQL is used for non-relational and relational databases. 

So when you think SQL think is the Structured Query Language for database management on relational databases, and think rigid, and when you think no SQL? Well, let's have a look at the word itself. No SQL, you might think okay, so it's the more flexible way to access data. 

So not using SQL destructed query language. Simple, right? Well, you would actually be wrong. Because of the usefulness of SQL. Many no SQL databases added support for SQL, leading to an understanding among developers that no SQL actually means not only SQL. 

So you can use the Structured Query Language or you can not use the Structured Query Language, it is up to you. 


So once again, to recap, SQL is a structured query language, and no SQL is an approach to database management.

The characteristics we can expect from a NoSQL database are that it is a non-relational database, as opposed to a relational one, a distributed database that is designed to manage large-scale data while maintaining high performance, scalability, throughput, and availability.  

Now, when people look at NoSQL and SQL, they might be tempted to compare the two.  

But by now we know that we can't do this. Why again, this is because once again, NoSQL is a database management approach and SQL is a query language. 

So two completely different things, it might be better going forward to start referring to NoSQL databases as non-relational databases.  




Top #3 Articles