Say NO to SQL?
WHY NoSQL OVER SQL!
In this article I wanted to share with you about NoSQL databases which is an important topic when it comes to a software developer. This is an introductory level guide for beginners as well as for intermediate level developers. I am going to cover what I think you should know what NoSQL databases are and where do we need to use them over RDBMS(Relational Database Management Systems), also in the end of this article, planning to write a little differentiation between RDBMS & NoSQL databases. So without further ado, let’s go ahead and get started!
The Evolution of NoSQL
The acronym NoSQL first came out in 1998 where a guy named Carlo Strozzi trying to name his database which has no SQL at all. Relational databases( as you might already know, ‘Table based’ databases) are often referred to as SQL databases. So at last a NoSQL database uses no SQL at all.
Why they moved SQL to NoSQL??
Traditional databases(RDBMSs’) are mainly defined for structured data(where fields store all kind of data). But when it comes to ‘Big data’, where we have larger amount of data , defining a well structured way won’t work. That’s where NoSQL comes in. NoSQL systems can handle both structured and unstructured data in a very efficient manner. Nowadays almost all kind of companies use tremendous amount of unstructured data like Google, Facebook, LinkedIn .
Let’s go ahead and dive into advantages of NoSQL database systems.
- Consistency : Applies to BASE Model(Basically Available, Soft State, Eventual consistency)
- Scalability/Elasticity : Handles large volumes of structured, semi-structured, and unstructured data; Solves Big Data problem
- OOP(Object Oriented Programming): SQL queries are not well suited for the object oriented data structures that are used in most applications now.
- High performance
- Document-oriented stores encapsulate key value pairs in JSON or JSON like documents. Within documents, keys have to be unique. In contrast to key-value stores, values are not opaque to the system and can be queried, as well.
6. Easy integration with server side languages like PHP and JavaScript
7. Economy : Store more data at less cost.
Okay guys!, now you might have wondered what disadvantages NoSQL could possibly has! , You ready? let’s discuss!
- Less mature : as it sounds, RDBMS are a hell lot of older than NoSQL databases, most of the applications are still hold on to SQL databases today.
- No advanced expertise
Now you might be wondering whether to learn SQL in 2019!
More than anything else, having a good foundation in SQL opens you up to thinking about software applications from a data-centric perspective.
Stack Overflow 2018 Rank: 4
(P.S.-start with SQL!)
So now you might have a slight idea about NoSQL databases and why developers should learn about it.
I’ll mention some good resources below to learn MongoDB,
- MongoDB: The Definitive Guide by Kristina Chodorow
- MongoDB Cookbook by Dasadia Cyrus
Okay, that’s it for this article.
Also, if you have any questions about this or anything else, please feel free to let me know in a comment below or on Instagram or Twitter.
Thank you for reading this article, and see you soon in the next one! ❤️