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.