Updated November 29, 2017
As you grow your knowledge in the big data industry you will continue to come across terminology that will throw you mind around the bend until you can clearly define what these terms mean! Often new data concepts or terms seem to obscure, it is difficult to understand the simplicity of their application.
In this article NOSQL will be broken down so that it can be understood with great simplicity. Layman’s terms as it has been called before.
SQL Vs. NOSQL – What is the Difference?
SQL : Structured Query Language
SQL is a coding language to draw data from a database server. SQL is what data scientists use to retrieve data for analyzing. For a complete and simple explanation go to our article on SQL.
NOSQL : Not Only Structured Query Language
When I first discovered the idea of NOSQL I thought it meant, “no, we are not using SQL (structured query language).
I was wrong. NOSQL is not about the use of SQL it is about where/how SQL is used to retrieve the distributed data.
Imagine that you want to order take out from you favorite Chinese restaurant. You place an order on your phone at 4:30pm. You receive a text saying that your order will be delivered around 7:30pm. “THREE HOURS for takeout! Why that is outrageous!”. Little did you know that last week Johnny Depp (random celebrity chosen) tweeted about how amazing you favorite Chinese restaurant is and their business increased 4x! In order for the business to meet the newly found demand for their Chinese takeout they can do one of two things…
1 ) Buy new kitchen hardware for their current location. Upgrading their kitchen with more burners, larger prep tables, and bigger ovens. This would allow them to handle the current large in flux of customers they are receiving due to this celebrity shout out. But if the business scales in multiplication rather than addition this Chinese takeout shop will be unable to fulfill the order with the new kitchen additions before they complete the installation.
- Solution #1: Scale Up the current hardware in the current location.
- Problem: Scaleability (could become obsolete and need larger hardware before the installation is complete.
- Problem: Chinese restaurant is on the west side of town and they are getting demands from the north and east side. This is why when you placed your order it said it would take three hours for your order to be fulfilled and delivered. Logistical issues.
2 ) Open a new location on the north, south, or east side of town. This would allow them to distribute the load of orders and clientele to another location and equip them with a larger staff and more equipment simultaneously. The ability to meet the need increases exponentially and now they are able to grow into and not out of their new found increase in business. Also, if they are delivering from two sides of town the clients in each location will be able to receive their food faster, which is essential to happy clients and good reviews.
- Solution #2: Scale Out to another location increasing the businesses reach, equipment, staff, and delivery time.
- Problem: This would be a far more expensive route to take, but if business continued to increase it would be worth the investment and it would allow the business to scale at a rapid pace.
The idea behind an SQL server vs a NOSQL server is the way in which the server(business) is structured. Companies with a lot of data on their website experiences an influx of clientele. They need to upgrade, and fast, but how? What is the best solution?
Scale Up or Scale Out?
Like the Chinese restaurant they can add more equipment(upgrade their current server) by adding more power which would double the cost of the current server, but only give them double to space for data.
– or –
They could add a new location(another server) to divide the data load across another server. Just like the Chinese restaurant this automatically add more space and retrieval speed. When all the information is on one server in one location it takes slightly longer to retrieve a specific piece of data. If the data is distributed across multiple servers it will vastly cut down retrieval times(delivery times).
For example: Contact information is stored on one server and a query can be set to quickly draw contact info. Buyer reports are on another server. A query is set to pull from that specific server. This technique cuts down on traffic (improves speed) by dividing it among the different servers (restaurants).
SQL Vs. NOSQL, what is better?
Companies like Google, Facebook, and Amazon use NOSQL style databases to handle their ever-increasing and ever-diversifying datasets. These companies have the advantage of predictable scale. They know they will grow, so they can continue to grow out!
But what about the little guy. He needs more space, but will he need that space after the Holiday rush, or celebrity shout out? Perhaps business to his/her website will spike certain times of the year but then decrease on less popular seasons. Luckily there is a way to combine the two strategies. Local databases are excellent for storing data that is used on the everyday occasion. By adding a cloud database like MongoDB, Amazon Web Services, Microsoft Azure, or Google SQL a company has the ability to purchase cloud space as needed. This would allow them to grow in the peak seasons and not risk going over budget in the slower seasons.
NOSQL VS SQL
SQL is will be used for your in house data. It is great for for storing items you access on a consistent basis.
NOSQL is used for storing large sets of very important data. But that data may not need to be kept as close as the data kept on the SQL servers, so it is placed on the extra/external cloud server.
Get started right now in the data industry. Eduerka has the best course to take you from greenhorn (newbie) to an expert by taking their full master course. Click on the link, sign up, and start your career now!
- This program will walk you through 12 courses and give you excellency in 27 new skills