Our databases are the core of our applications. In this video, you’ll learn about SQL and NoSQL database technologies and the type of data we would store in each type of database.
<< Previous Video: Application Patch ManagementNext: Server-side vs. Client-side Validation >>
Every organization has data. There is generally a database where you’re going to keep all of this information. And one of the most common database types is a SQL database, or S-Q-L database you may hear it called. It stands for Structured Query Language. It’s a standard way of getting information and storing it in one central place.
All of this information then is centralized in, usually, a single database. But it can be in multiple databases as well. And one of the key pieces of these SQL databases is that it’s very easy to request information from the database, and very easy to retrieve information from the database. And when you’re storing a lot of information, you really are trying to find the best way to gather the information that you’re going to need.
This information is stored in a structure called a Relational Database Management System, or RDBMS. These databases are big, flat fields of information. They look very much like a spreadsheet.
There’s a lot of information stored in a table. There are rows and columns. If you were to visualize it on the screen, and show that information, it displays very much like a spreadsheet.
You might have multiple databases where customer records are in one database. And then you might have customer orders in another database. And then there’s usually a field between both of those that matches, or identifies, the owner so that you can then look up that information and compare information across separate databases.
And it’s very fast and very functional. And it’s so much of a standard that a lot of applications that you can buy off the shelf will automatically know how to communicate and gather information from your database, as long as it’s a SQL compliant database.
One of the advantages of Structured Query Language is that it’s everywhere. Practically every organization is using a SQL-type database to be able to store their data. If you’re a Microsoft shop you probably have Microsoft SQL Server. If you have a lot of Linux servers, you’re probably running MySQL Azure database.
Both of these have the Structured Query Language. But obviously the engines themselves are different between the MySQL and the Microsoft SQL Server.
There are a lot of huge advantages for using SQL databases when you have this structured kind of data. But what if your data is not so structured? And in those particular cases we want to go beyond the realm of a SQL-type database.
These newest kinds of databases are called NoSQL databases. And the name sounds like it’s the anti SQL, but that’s not the case at all. It really stands for Not Only SQL information, which means you could store formatted structured SQL information within this database. You can also store completely non-relational, non-associated data within this database as well.
Again, that’s the concept behind big data, is we want to store as much information as possible. And we’re going to sift through that data later on to see if there’s any relationships between all of this very diverse data.
The idea behind big data is that you’re going to have a lot of information. You’re pulling it from so many diverse sources, and storing it in a database, in usually over a long period of time. So the NoSQL database has to be able to scale to these larger amounts.
You’re going to have extremely large data sets. These data sets are going to be completely unstructured. And it’s really going to be up to you later on to get this big data, and somehow find the relationships between all of that information.
Sometimes there’s relationships between the data, sometimes there isn’t. One of the challenges with big data is finding those relationships. And these databases, especially NoSQL databases, give us the flexibility to store as much information as possible. Later on you can go through and try to determine where the different pieces of information are that you’re going to need to gather.
The goal is, immediately, is just store it somewhere. And the NoSQL databases are specifically designed to do exactly that.